Unified conditional arguments and replaced APC example

This commit is contained in:
Nick Adams
2012-08-14 23:15:25 +12:00
parent 876ec7515d
commit 4f086c3aca
3 changed files with 11 additions and 15 deletions

View File

@@ -22,7 +22,7 @@ Let's write a simple "Hello, $name" CLI program. To try it out, create a file na
{% highlight php %}
<?php
if($argc != 2) {
if ($argc != 2) {
echo "Usage: php hello.php [name].\n";
exit(1);
}

View File

@@ -16,7 +16,7 @@ output.
$raw = '22. 11. 1968';
$start = \DateTime::createFromFormat('d. m. Y', $raw);
echo "Start date: " . $start->format('m/d/Y') . "\n";
echo 'Start date: ' . $start->format('m/d/Y') . "\n";
{% endhighlight %}
Calculating with DateTime is possible with the DateInterval class. DateTime has methods like `add()` and `sub()` that
@@ -30,14 +30,14 @@ $end = clone $start;
$end->add(new \DateInterval('P1M6D'));
$diff = $end->diff($start);
echo "Difference: " . $diff->format('%m month, %d days (total: %a days)') . "\n";
echo 'Difference: ' . $diff->format('%m month, %d days (total: %a days)') . "\n";
// Difference: 1 month, 6 days (total: 37 days)
{% endhighlight %}
On DateTime objects you can use standard comparison:
{% highlight php %}
<?php
if($start < $end) {
if ($start < $end) {
echo "Start is before end!\n";
}
{% endhighlight %}
@@ -49,10 +49,9 @@ DateTime objects, start and end, and the interval for which it will return all e
// output all thursdays between $start and $end
$periodInterval = \DateInterval::createFromDateString('first thursday');
$periodIterator = new \DatePeriod($start, $periodInterval, $end, \DatePeriod::EXCLUDE_START_DATE);
foreach($periodIterator as $date)
{
foreach ($periodIterator as $date) {
// output each date in the period
echo $date->format('m/d/Y') . " ";
echo $date->format('m/d/Y') . ' ';
}
{% endhighlight %}

View File

@@ -28,15 +28,12 @@ Example logic using APC:
{% highlight php %}
<?php
// check if there is data saved as 'expensive_data' in cache
$data = apc_fetch('expensive_data');
if (!$data)
{
// data not in cache, do expensive call and save for later use
$data = get_expensive_data();
apc_store('expensive_data', $data);
if (apc_fetch('expensive_data') === false) {
// data is not in cache; save expensive call for later use
apc_add('expensive_data', get_expensive_data());
}
print_r($data);
print_r(apc_fetch('expensive_data'));
{% endhighlight %}
Learn more about popular object caching systems: