<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>D-talk (Entries tagged as PHP)</title>
    <link>http://blog.dynom.nl/</link>
    <description>The little things that pop into mind</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2-beta4 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Logging best practices</title>
    <link>http://blog.dynom.nl/archives/Logging-best-practices_20120304_63.html</link>
            <category>PlanetPHP</category>
            <category>Software development</category>
    
    <comments>http://blog.dynom.nl/archives/Logging-best-practices_20120304_63.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=63</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This document explains some best practices for application error/debug logging. Application logging is an important &quot;tool&quot; to help identifying problems. If done correctly, and if an infrastructure is in place that allows events to be put into context, it&#039;s easier to debug situations and thus makes it easier to solve problems sooner.&lt;/p&gt;
&lt;p&gt; While out of scope for this document, I&#039;d like to point out the following tools that can make that possible:
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt; Logstash - &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/logstash.net&#039;);&quot;  mce_href=&quot;http://logstash.net&quot; href=&quot;http://logstash.net&quot;&gt;http://logstash.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; Graylog2 - &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/graylog2.org&#039;);&quot;  mce_href=&quot;http://graylog2.org&quot; href=&quot;http://graylog2.org&quot;&gt;http://graylog2.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h1&gt; Different logging meanings&lt;/h1&gt;
&lt;p&gt;Logging can mean different things and logging can have different purposes. The logging this document refers to is application and semantic logging.&lt;/p&gt;
&lt;p&gt;Application logging (also called &quot;debug&quot; or &quot;error&quot; logging) is intended to keep track of the &quot;low level&quot; application behaviour. Application logging is used to log events, that allows for debugging a problem within an application or to monitor application health. In contrast, a different form of logging could for example be Google Analytics. Tracking (or &quot;logging&quot; actions of) visitors of a website, this type of logging is very different and not something this document refers too.&lt;/p&gt;

&lt;h1&gt;Why do we log&lt;/h1&gt;
&lt;p&gt;In order to understand how to log, it must first be clear what we try to accomplish with application logging.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Logging-best-practices_20120304_63.html#extended&quot;&gt;Continue reading &quot;Logging best practices&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 04 Mar 2012 11:38:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20120304_63.html</guid>
    <category>graylog2</category>
<category>logging</category>
<category>logstash</category>
<category>php</category>
<category>planetphp</category>
<category>software development</category>

</item>
<item>
    <title>PHP Quiz part 4</title>
    <link>http://blog.dynom.nl/archives/PHP-Quiz-part-4_20101102_51.html</link>
            <category>PHP</category>
            <category>PHPQuiz</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/PHP-Quiz-part-4_20101102_51.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=51</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=51</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;It has been a while, but here is part 4 of the PHP Quiz series! A few questions to crack your brain about, or perhaps you know them all? Try them and find out! Also do read the idea behind these quizzes, here: &lt;a href=&quot;http://blog.dynom.nl/archives/The-PHP-Quiz-series_20090925_46.html&quot; title=&quot;The PHP Quiz series - background information&quot; target=&quot;_blank&quot; mce_href=&quot;/archives/The-PHP-Quiz-series_20090925_46.html&quot;&gt;The PHP Quiz series&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As always, think of the answer before you execute the code or look it up. &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/codepad.org/&#039;);&quot;  href=&quot;http://codepad.org/&quot; mce_href=&quot;http://codepad.org/&quot;&gt;Codepad&lt;/a&gt; might help you run the examples. You can find round three &lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-3_20090921_37.html&quot; mce_href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-3_20090921_37.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Visibility is key&lt;/h2&gt;&lt;p&gt;Now you see me, now you don&#039;t&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; testClass &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$fubar&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;rabuf&quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; test&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$test&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/var_dump&#039;);&quot;  href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$test&lt;/span&gt;-&amp;gt;fubar&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; dummy &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; test&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$test&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/var_dump&#039;);&quot;  href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$test&lt;/span&gt;-&amp;gt;fubar&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; testClass;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object2&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; testClass;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dummy&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; dummy;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt;-&amp;gt;test&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Can $object1 see the private property of object1 ?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt;-&amp;gt;test&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object2&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Can $object1 see the private property of object2 ?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dummy&lt;/span&gt;-&amp;gt;test&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Can $dummy see the private property of object1 ?&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Static, sticky, icky&lt;/h2&gt;&lt;p&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; test &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$counter&lt;/span&gt; = -&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; increment&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/static&#039;);&quot;  href=&quot;http://www.php.net/static&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$cnt&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$this&lt;/span&gt;-&amp;gt;counter = ++&lt;span style=&quot;color: #ff0000&quot;&gt;$cnt&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; test;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object1&lt;/span&gt;-&amp;gt;increment&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;increment&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$object2&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; test;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// What will the output be&lt;/span&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$object2&lt;/span&gt;-&amp;gt;increment&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;-&amp;gt;counter;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Getting the class&lt;/h2&gt;&lt;p&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; b &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getClassA&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/get_class&#039;);&quot;  href=&quot;http://www.php.net/get_class&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;get_class&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getClassB&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/get_class&#039;);&quot;  href=&quot;http://www.php.net/get_class&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;get_class&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getClassC&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;__CLASS__&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; a &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;extends&lt;/span&gt; b &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; a; &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// What will be returned, &#039;a&#039; or &#039;b&#039; ?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;-&amp;gt;getClassA&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;-&amp;gt;getClassB&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;-&amp;gt;getClassC&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;The strptime function&lt;/h2&gt;&lt;p&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$result&lt;/span&gt; = strptime&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;2010-11-28&#039;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;%Y-%m-%d&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// What is the output?&lt;/span&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$result&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;tm_mday&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; .&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;-&#039;&lt;/span&gt;. &lt;span style=&quot;color: #ff0000&quot;&gt;$result&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;tm_mon&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; .&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;-&#039;&lt;/span&gt;. &lt;span style=&quot;color: #ff0000&quot;&gt;$result&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;tm_year&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;The oldtimer&lt;/h2&gt;&lt;p&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$loop&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;10&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;10&lt;/span&gt;; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; &amp;lt; &lt;span style=&quot;color: #ff0000&quot;&gt;$loop&lt;/span&gt;; ++&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; ++&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// What is the output ?&lt;/span&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;;&lt;/div&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 02 Nov 2010 08:18:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20101102_51.html</guid>
    <category>php</category>
<category>php quiz</category>
<category>phpquiz</category>
<category>planetphp</category>
<category>static</category>
<category>visibility</category>

</item>
<item>
    <title>What do you get when you mix; MSSQL, PDO and uniqueidentifier?</title>
    <link>http://blog.dynom.nl/archives/What-do-you-get-when-you-mix;-MSSQL,-PDO-and-uniqueidentifier_20100608_57.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/What-do-you-get-when-you-mix;-MSSQL,-PDO-and-uniqueidentifier_20100608_57.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=57</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=57</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;You get NULL!&lt;/p&gt;&lt;p&gt;Well you get NULL when you don&#039;t cast. Say for example you do the following:&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dbh&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; PDO&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;..&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt; = &lt;span style=&quot;color: #ff0000&quot;&gt;$dbh&lt;/span&gt;-&amp;gt;prepare&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;SELECT accountid FROM dbo.Account&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt;-&amp;gt;execute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt;-&amp;gt;fetchColumn&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// NULL&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;
&lt;/p&gt;&lt;p&gt;But when you do the following:&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt; = &lt;span style=&quot;color: #ff0000&quot;&gt;$dbh&lt;/span&gt;-&amp;gt;prepare&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;SELECT CAST(accountid AS varchar(36)) accountid FROM dbo.Account&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt;-&amp;gt;execute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$stmt&lt;/span&gt;-&amp;gt;fetchColumn&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// &amp;quot;F05C92A1-3119-4206-A123-49A759AC99FB&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;I didn&#039;t think the casting would be necessary, since according to the manual: &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/msdn.microsoft.com/en-us/library/aa226054%28SQL.80%29.aspx&#039;);&quot;  href=&quot;http://msdn.microsoft.com/en-us/library/aa226054%28SQL.80%29.aspx&quot; mce_href=&quot;http://msdn.microsoft.com/en-us/library/aa226054%28SQL.80%29.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx&lt;/a&gt; the datatype &#039;uniqueidentifier&#039; has implicit casts with multiple data-types. But I guess it&#039;s just one of those things...&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 08 Jun 2010 19:58:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20100608_57.html</guid>
    <category>cast</category>
<category>mssql</category>
<category>pdo</category>
<category>php</category>
<category>planetphp</category>
<category>uniqueidentifier</category>

</item>
<item>
    <title>Connecting from PHP on a non Microsoft OS to MSSQL with a domain account</title>
    <link>http://blog.dynom.nl/archives/Connecting-from-PHP-on-a-non-Microsoft-OS-to-MSSQL-with-a-domain-account_20100604_56.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Connecting-from-PHP-on-a-non-Microsoft-OS-to-MSSQL-with-a-domain-account_20100604_56.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=56</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=56</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;div&gt;I was asked to create a web interface front-end with Microsoft Dynamics CRM as back-end. But I had some troubles setting up the connection, since it has to be done using a domain logon. This doesn&#039;t have to be a problem at all, unless your configuration is wrong! In this article I&#039;ll explain a few things and point you in the right direction when you have login problems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As stated earlier, the server running the PHP installation is not Microsoft. In this case a AS400 installation, but it could&#039;ve been a Linux installation also. I&#039;m using PDO for this article and PHP version 5.2.11. Even if you don&#039;t want to use PDO, I recommend using it only for debugging (if possible) since that will give you *most likely* more debug information then the mssql_* family. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When using PDO with a MS-SQL database, you&#039;ll need to supply &quot;dblib&quot; as driver and DBLib uses FreeTDS as underlaying library. FreeTDS can be a source of troubles when you&#039;re trying to connect, if not configured properly. So I&#039;ll kick-off with a little information about it. Don&#039;t skip it if you have login problems!&lt;/div&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Connecting-from-PHP-on-a-non-Microsoft-OS-to-MSSQL-with-a-domain-account_20100604_56.html#extended&quot;&gt;Continue reading &quot;Connecting from PHP on a non Microsoft OS to MSSQL with a domain account&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 04 Jun 2010 05:24:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20100604_56.html</guid>
    <category>active directory</category>
<category>freetds</category>
<category>mssql</category>
<category>pdo</category>
<category>php</category>
<category>planetphp</category>
<category>sspi</category>

</item>
<item>
    <title>Multiple PHP versions on one webserver</title>
    <link>http://blog.dynom.nl/archives/Multiple-PHP-versions-on-one-webserver_20091103_53.html</link>
            <category>Apache</category>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Multiple-PHP-versions-on-one-webserver_20091103_53.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=53</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=53</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;h2&gt;Introduction&lt;/h2&gt;&lt;p&gt;This is a blog about running two PHP versions on one webserver and using multiple php.ini files, this combination can be a tricky one to tackle. But luckily one we can tackle quite easily as long as one of the PHP versions is &amp;gt;= 5.2.7. For this example I&#039;ll be using Apache, but the webserver flavor doesn&#039;t really matter. The most important part is the &quot;PHP_INI_SCAN_DIR&quot; environment variable. &lt;/p&gt;&lt;h2&gt;The why&lt;/h2&gt;&lt;p&gt;There could be a number of reasons to want what I&#039;m about to talk about. In my case I have a project where I have a legacy code-base, running on a specific PHP version, and a new code-base which will be run on 5.3. Because the new code-base will be a ongoing progress of replacing the old, it first has to run side by side with the legacy code-base. So I wanted my development image to run two PHP versions.&lt;/p&gt;&lt;p&gt;The old code-base used php.ini settings such as a include-path, error reporting, etc.&amp;#160; Which will be different from the new code-bas, and those can no-longer be set with the &#039;php_value&#039; feature of Apaches since the PHP version we&#039;ll be using for that runs as (f)CGI rather then as module.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Multiple-PHP-versions-on-one-webserver_20091103_53.html#extended&quot;&gt;Continue reading &quot;Multiple PHP versions on one webserver&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 03 Nov 2009 07:39:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20091103_53.html</guid>
    <category>apache</category>
<category>environment variable</category>
<category>multiple versions</category>
<category>php</category>
<category>planetphp</category>

</item>
<item>
    <title>Multiple backend session storage handler</title>
    <link>http://blog.dynom.nl/archives/Multiple-backend-session-storage-handler_20091011_50.html</link>
            <category>PHP</category>
    
    <comments>http://blog.dynom.nl/archives/Multiple-backend-session-storage-handler_20091011_50.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=50</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=50</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Recently I got asked if I knew about a system that supports multiple session back-ends at once. I didn&#039;t know about one and since it&#039;s not rocket-science I decided to spent a few hours and whoop something up. &lt;/p&gt;&lt;p&gt;For the impatient, checkout: &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/Dynom/SessionHandler&#039;);&quot;  href=&quot;http://github.com/Dynom/SessionHandler&quot; title=&quot;The Session Handler lib on github.com&quot; mce_href=&quot;http://github.com/Dynom/SessionHandler&quot;&gt;http://github.com/Dynom/SessionHandler&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;What does it do?&lt;/h2&gt;&lt;p&gt;It is a drop-in high-availability storage back-end for PHP sessions by offering a redundant session storage system. It&#039;s as easy as including the lib, define the drivers you want to use (e.g. Memcache and MySQL) prepare their configuration/installation and done. If you already have a MySQL server and a Memcache instance running you can set it up in about 5 minutes. It&#039;s also easy to extend and write new drivers, just extend the template class and fill in the blanks.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Multiple-backend-session-storage-handler_20091011_50.html#extended&quot;&gt;Continue reading &quot;Multiple backend session storage handler&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 11 Oct 2009 09:17:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20091011_50.html</guid>
    <category>backend</category>
<category>driver</category>
<category>loadbalancing</category>
<category>php</category>
<category>session handler</category>
<category>session_set_save_handler</category>
<category>state</category>
<category>write trough</category>

</item>
<item>
    <title>PHP Quiz part 3</title>
    <link>http://blog.dynom.nl/archives/PHP-Quiz-part-3_20090921_37.html</link>
            <category>PHP</category>
            <category>PHPQuiz</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/PHP-Quiz-part-3_20090921_37.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=37</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Welcome to another part of the PHP Quiz series, again some interesting questions to crack your brain about. If you have some nice additions or questions, be sure to leave a comment. Enjoy part three!&lt;/p&gt;&lt;p&gt;As always, think of the answer before you execute the code or look it up. You can find round two &lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html&quot; mce_href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Unset cast&lt;/h3&gt;&lt;p&gt;What is the type of $a and what is the type of $b&lt;br /&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;A&quot;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt; = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/unset&#039;);&quot;  href=&quot;http://www.php.net/unset&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;unset&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/var_dump&#039;);&quot;  href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&lt;/div&gt;
&lt;/p&gt;&lt;h3&gt;Form fun&lt;/h3&gt;&lt;p&gt;What will the output be?&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&amp;lt;form method=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;post&quot;&lt;/span&gt; action=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;&quot;&lt;/span&gt; enctype=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;text/plain&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;input name=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;search&quot;&lt;/span&gt; type=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;text&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;input type=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;submit&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/error_reporting&#039;);&quot;  href=&quot;http://www.php.net/error_reporting&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;error_reporting&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;E_ALL&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; filter_input&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;INPUT_POST, &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;search&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;
&lt;/p&gt;&lt;h3&gt;Fun with strings&lt;/h3&gt;&lt;p&gt;Strings in PHP are versatile, but how versatile are they... What will the output be?&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$juggling&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;Itffkhmf&quot;&lt;/span&gt;; &lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$rox&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;Spy&quot;&lt;/span&gt;; &lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt; = &lt;span style=&quot;color: #ff0000&quot;&gt;$c&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;&quot;&lt;/span&gt;; &lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;=&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;&amp;lt;strlen&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$juggling&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;++&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt; .= &lt;span style=&quot;color: #ff0000&quot;&gt;$juggling&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt;++;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;=&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;&amp;lt;strlen&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$rox&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt;++&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$c&lt;/span&gt; .= &lt;span style=&quot;color: #ff0000&quot;&gt;$rox&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$c&lt;/span&gt;--; &lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/var_dump&#039;);&quot;  href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$c&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-3_20090921_37.html#extended&quot;&gt;Continue reading &quot;PHP Quiz part 3&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 21 Sep 2009 15:35:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20090921_37.html</guid>
    <category>form</category>
<category>php</category>
<category>php quiz</category>
<category>phpquiz</category>
<category>planetphp</category>
<category>precedence</category>
<category>references</category>
<category>string</category>
<category>unset cast</category>

</item>
<item>
    <title>Did you know... part two</title>
    <link>http://blog.dynom.nl/archives/Did-you-know...-part-two_20090625_32.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Did-you-know...-part-two_20090625_32.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=32</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;In these blog series I&#039;d like to talk a bit about some &quot;Did you knows&quot;. These series contain information I came across along the way and I mention them here to give you insight or just to make you aware of it&#039;s existence. The information is by no means in chronological order and mostly not even covering &quot;state of the art&quot; or &quot;brand new&quot; items for that matter. Some are directly code related, others are just brief descriptions. Basically it&#039;s just a pile of PHP and web related information. You can find part one &lt;a href=&quot;http://blog.dynom.nl/archives/Did-you-know...-part-one_20081111_31.html&quot; title=&quot;Did you know... part one&quot; mce_href=&quot;/archives/Did-you-know...-part-one_20081111_31.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Did-you-know...-part-two_20090625_32.html#extended&quot;&gt;Continue reading &quot;Did you know... part two&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 25 Jun 2009 17:14:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20090625_32.html</guid>
    <category>did you know</category>
<category>max</category>
<category>min</category>
<category>php</category>
<category>planetphp</category>
<category>references</category>
<category>sscanf</category>
<category>strtok</category>

</item>
<item>
    <title>PHP Quiz part 2</title>
    <link>http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html</link>
            <category>PHP</category>
            <category>PHPQuiz</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;A short quiz this time, but that doesn&#039;t make it less fun. Do you know the answer to all of them? Get a cup of coffee and kill 10 minutes with round two...&lt;/p&gt;
&lt;p&gt;As always, think of the answer before you execute the code or look it up. You can find round one &lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html&quot; mce_href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Array pointer&lt;/h3&gt;&lt;p&gt;What will the output be ? &lt;br /&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt; = &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/range&#039;);&quot;  href=&quot;http://www.php.net/range&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;range&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #cc66cc;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/next&#039;);&quot;  href=&quot;http://www.php.net/next&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;next&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$v&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$v&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;ArrayAccess and isset fun &lt;/h3&gt;&lt;p&gt;isset or not isset, thats the question.&lt;br /&gt; &lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; ArrayObject;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;fubar&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;NULL&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$null&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;= &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;NULL&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/isset&#039;);&quot;  href=&quot;http://www.php.net/isset&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$null&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/isset&#039;);&quot;  href=&quot;http://www.php.net/isset&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;fubar&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/array_key_exists&#039;);&quot;  href=&quot;http://www.php.net/array_key_exists&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array_key_exists&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;fubar&#039;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000&quot;&gt;$a&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/echo&#039;);&quot;  href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;Typo?&lt;/h3&gt;&lt;p&gt;The output might be confusing.. &lt;br /&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/array&#039;);&quot;  href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;4&lt;/span&gt;&amp;gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;a&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;References&lt;/h3&gt;&lt;p&gt;How many notices will be thrown? &lt;br /&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/error_reporting&#039;);&quot;  href=&quot;http://www.php.net/error_reporting&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;error_reporting&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;E_ALL&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &amp;amp; &lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; b&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;br /&gt;b&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$array&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;#160;&lt;/div&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html#extended&quot;&gt;Continue reading &quot;PHP Quiz part 2&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 14 May 2009 08:41:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20090514_27.html</guid>
    <category>arrayaccess</category>
<category>nesting structures</category>
<category>operator precedence</category>
<category>php</category>
<category>php quiz</category>
<category>phpquiz</category>
<category>planetphp</category>
<category>references</category>

</item>
<item>
    <title>Zend framework reminders</title>
    <link>http://blog.dynom.nl/archives/Zend-framework-reminders_20090415_33.html</link>
            <category>PHP</category>
    
    <comments>http://blog.dynom.nl/archives/Zend-framework-reminders_20090415_33.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=33</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Here a few of those &quot;how did that work again&quot; things, in Zend framework. Mostly for myself but hey, I&#039;m not greedy. If you know some new/nifty ones, feel free to leave a comment!&lt;/p&gt;&lt;h2&gt;Loading a view from a different directory&lt;/h2&gt;&lt;p&gt;&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; someAction&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Option one&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$titleView&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Zend_View&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$titleView&lt;/span&gt;-&amp;gt;setScriptPath&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; APPLICATION_PATH .&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;views/scripts/&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Option two&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$titleView&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Zend_View&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/array&#039;);&quot;  href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;scriptPath&#039;&lt;/span&gt;=&amp;gt;APPLICATION_PATH .&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;views/scripts/&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000&quot;&gt;$viewResult&lt;/span&gt; = &lt;span style=&quot;color: #ff0000&quot;&gt;$titleView&lt;/span&gt;-&amp;gt;render&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;_my_view_script.phtml&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Zend-framework-reminders_20090415_33.html#extended&quot;&gt;Continue reading &quot;Zend framework reminders&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 15 Apr 2009 13:00:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20090415_33.html</guid>
    <category>php</category>
<category>zend framework</category>

</item>
<item>
    <title>Did you know... part one</title>
    <link>http://blog.dynom.nl/archives/Did-you-know...-part-one_20081111_31.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Did-you-know...-part-one_20081111_31.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=31</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;In this blog post I&#039;d like to talk a bit about some &quot;Did you know&#039;s&quot;. With these &quot;Did you know&quot; blog posts I want to tell you a few things that I came across along the way and hopefully you know some I don&#039;t know yet! Some DYK&#039;s are directly code related, others are just here to give you insight and some are just to let you know of it&#039;s existence (Afteral you don&#039;t search for what you don&#039;t know about.)&lt;/p&gt;&lt;p&gt;So here they come in random/chaotic order: &lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Writable directories&lt;/h3&gt;&lt;p&gt;Not so PHP specific, but often miss-used is checking for writable directories/paths. Directories don&#039;t have to be readable to be used for writing, but they do have to be writable and executable.&lt;/p&gt;&lt;p&gt;So a check like this, is simply incomplete:&lt;br /&gt;
&lt;div class=&quot;php&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;/tmp/cache/&#039;&lt;/span&gt;; &lt;br /&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/is_writable&#039;);&quot;  href=&quot;http://www.php.net/is_writable&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;is_writable&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;br /&gt;&amp;#160; &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.php.net/touch&#039;);&quot;  href=&quot;http://www.php.net/touch&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;touch&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;$dir&lt;/span&gt; . &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;cache.txt&#039;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;br /&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
And will simply fail if the directory is writable but has no execute attributes &lt;i&gt;(mode 0666)&lt;/i&gt;. This is especially trouble, and can keep you occupied for a long time when using the &lt;a href=&quot;#shutup&quot; mce_href=&quot;#shutup&quot;&gt;shutup&lt;/a&gt; (@) parameter...&lt;/p&gt;&lt;h3&gt;Form name attribute character conversions&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;http://blog.dynom.nl/uploads/register_globals_char_replacement.png&quot; mce_src=&quot;uploads/register_globals_char_replacement.png&quot; alt=&quot;Two characters get replaced to a &#039;_&#039;&quot; align=&quot;right&quot; border=&quot;&quot; vspace=&quot;&quot; width=&quot;234&quot; height=&quot;51&quot; hspace=&quot;&quot;&gt;
Due to legacy PHP versions and to my understanding mostly due the register_globals feature, some HTML form name attribute characters are translated. The idea behind it makes sense, however it&#039;s applied in a strange way. &lt;br /&gt;&lt;br /&gt;For example &lt;font face=&quot;courier new,courier&quot;&gt;&amp;lt;input type=&quot;text&quot; name=&quot;fu.bar&quot; value=&quot;&quot; &amp;gt;&lt;/font&gt; in a form with post method, get&#039;s translated (even in the current PHP 6 roadmap) into: $_POST[&#039;fu_bar&#039;]. This happens with the &quot;.&quot; and &quot; &quot; characters. But not with &#039;-&#039;&amp;#160; which seems weird, because $fu-bar isn&#039;t a valid variable, but &#039;-&#039; is a &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.w3schools.com/TAGS/att_input_name.asp&#039;);&quot;  href=&quot;http://www.w3schools.com/TAGS/att_input_name.asp&quot; mce_href=&quot;http://www.w3schools.com/TAGS/att_input_name.asp&quot;&gt;valid HTML input name attribute character&lt;/a&gt;. You probably never need it, but I had situation recently where I was flabbergasted of why array key&#039;s where different from their HTML counterparts and I completely forgot about this behavior. &lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Did-you-know...-part-one_20081111_31.html#extended&quot;&gt;Continue reading &quot;Did you know... part one&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 11 Nov 2008 20:59:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20081111_31.html</guid>
    <category>@</category>
<category>datetime</category>
<category>empty</category>
<category>mod_expire</category>
<category>mod_headers</category>
<category>pecl_http</category>
<category>php</category>
<category>planetphp</category>
<category>scream</category>
<category>shutup</category>
<category>webgrind</category>
<category>writable directories</category>

</item>
<item>
    <title>Best practices, part one</title>
    <link>http://blog.dynom.nl/archives/Best-practices,-part-one_20081024_28.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Best-practices,-part-one_20081024_28.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=28</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Best practices are ways of solving problems in a good way, these practices change over time and can depend on versions. A lot of people who have their roots in PHP4 have habits that are no longer best practices. But not just them, a lot of developers don&#039;t apply best-practices rules. In this blog post I&#039;d like to point out a few reminders or refreshing points for you to take in. Most you will probably know but some you might not know or didn&#039;t look for. If you know some nice additions, make a comment and I&#039;ll add it. &lt;/p&gt;&lt;p&gt;Enjoy! &lt;br /&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Best-practices,-part-one_20081024_28.html#extended&quot;&gt;Continue reading &quot;Best practices, part one&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 24 Oct 2008 15:11:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20081024_28.html</guid>
    <category>array fun</category>
<category>condition order</category>
<category>documentation</category>
<category>notices</category>
<category>php</category>
<category>planetphp</category>
<category>variable naming</category>
<category>warnings</category>

</item>
<item>
    <title>Be careful with double extensions</title>
    <link>http://blog.dynom.nl/archives/Be-careful-with-double-extensions_20081024_25.html</link>
            <category>PHP</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Be-careful-with-double-extensions_20081024_25.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=25</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=25</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Since I&#039;m on a &#039;finish blog drafts&#039; spree, I might as well publish this one also. I actually had it in draft for about 5 months now anyway.&lt;/p&gt;&lt;p&gt;In most upload tools files are checked on extensions only, while it might seem pretty solid it&#039;s actually not as safe as you might think. Especially in combination with &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.apache.org/&#039;);&quot;  href=&quot;http://www.apache.org/&quot; title=&quot;Apache HTTP Server&quot; target=&quot;_blank&quot; mce_href=&quot;http://www.apache.org/&quot;&gt;Apache&lt;/a&gt; and &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/httpd.apache.org/docs/2.0/mod/mod_mime.html&#039;);&quot;  href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_mime.html&quot; title=&quot;Apache Module mod_mime&quot; target=&quot;_blank&quot; mce_href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_mime.html&quot;&gt;mod_mime&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;When you do:&lt;br /&gt; &lt;i&gt;rename image.jpg image.txt&lt;/i&gt; and you request it: &lt;i&gt;domain.com/image.txt&lt;/i&gt; you get garbled text.&lt;/p&gt;&lt;p&gt;However when you try something like this:&lt;br /&gt; &lt;i&gt;rename file.php file.php.bogus&lt;/i&gt; and you request it: &lt;i&gt;domain.com/file.php.bogus&lt;/i&gt;
PHP code within the file is handled by the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/httpd.apache.org/docs/2.2/handler.html&#039;);&quot;  href=&quot;http://httpd.apache.org/docs/2.2/handler.html&quot; title=&quot;Apache handlers&quot; mce_href=&quot;http://httpd.apache.org/docs/2.2/handler.html&quot;&gt;handler&lt;/a&gt; set for that extension.&lt;/p&gt;&lt;p&gt;Before you get all excited, the scenario when this happens is not likely to happen, because it only works for unknown file extensions. So basically, this can only happen when you work with black-listing rather then white-listing. And when checking files, you shouldn&#039;t be black-listing in the first place. Let&#039;s go into detail about the why.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Be-careful-with-double-extensions_20081024_25.html#extended&quot;&gt;Continue reading &quot;Be careful with double extensions&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 24 Oct 2008 11:43:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20081024_25.html</guid>
    <category>apache</category>
<category>double extensions</category>
<category>fckeditor</category>
<category>mod_mime</category>
<category>php</category>
<category>planetphp</category>
<category>tinymce</category>
<category>upload</category>
<category>wysiwyg</category>

</item>
<item>
    <title>PHP Quiz part 1</title>
    <link>http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html</link>
            <category>PHP</category>
            <category>PHPQuiz</category>
            <category>PlanetPHP</category>
    
    <comments>http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=23</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;Simple things of PHP can be just as fun as the advanced things in PHP!&lt;br /&gt; To prove that I wanted to make a small quiz, and here it is.&lt;/p&gt;&lt;p&gt;Below you&#039;ll see 10 pieces of PHP5 code, the goal is to figure out the code and know the output before you actually run it. &lt;br /&gt;Have fun!&lt;/p&gt;&lt;h2&gt;Comment and closing tag&lt;/h2&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;courier new,courier&quot;&gt;&amp;lt;?php  // Without cheating..  What will you see when you run this single line of ?\?&amp;gt; php code&lt;/font&gt; &lt;/p&gt;&lt;h2&gt;Echo print and get what&lt;/h2&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;courier new,courier&quot;&gt;&amp;lt;?php&lt;br /&gt;&amp;#160; // What do you expect from this ?&lt;br /&gt;&amp;#160; echo print( 1 ); ?&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;h2&gt;What wil eval to true&lt;/h2&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;courier new,courier&quot;&gt;&amp;#160;&amp;lt;?php&lt;br /&gt;&amp;#160; // How many times will we get &#039;true&#039; ?&lt;br /&gt;&lt;br /&gt;&amp;#160; $boolean&amp;#160; = false;&lt;br /&gt;&amp;#160; echo ($boolean) ? &#039;true&#039; : &#039;false&#039;;&lt;br /&gt;&lt;br /&gt;&amp;#160; $boolean&amp;#160; = &#039;0&#039;;&lt;br /&gt;&amp;#160; echo ($boolean) ? &#039;true&#039; : &#039;false&#039;;&lt;br /&gt;&lt;br /&gt;&amp;#160; $boolean&amp;#160; = &#039;00&#039;;&lt;br /&gt;&amp;#160; echo ($boolean) ? &#039;true&#039; : &#039;false&#039;;&lt;/font&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html#extended&quot;&gt;Continue reading &quot;PHP Quiz part 1&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 24 Apr 2008 19:50:30 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20080424_23.html</guid>
    <category>arrays</category>
<category>php</category>
<category>php quiz</category>
<category>phpquiz</category>
<category>planetphp</category>
<category>voodoo</category>

</item>
<item>
    <title>Imagick driver for Kohana</title>
    <link>http://blog.dynom.nl/archives/Imagick-driver-for-Kohana_20080201_16.html</link>
            <category>KohanaPHP</category>
    
    <comments>http://blog.dynom.nl/archives/Imagick-driver-for-Kohana_20080201_16.html#comments</comments>
    <wfw:comment>http://blog.dynom.nl/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.dynom.nl/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>nospam@example.com (Mark van der Velden)</author>
    <content:encoded>
    &lt;p&gt;For image manipulation &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.imagemagick.org/&#039;);&quot;  href=&quot;http://www.imagemagick.org/&quot; title=&quot;ImageMagick&quot;&gt;ImageMagick&lt;/a&gt; (IM) is really nice. However IM is not natively supported by PHP. &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.kohanaphp.com&#039;);&quot;  href=&quot;http://www.kohanaphp.com&quot; title=&quot;Kohana: swift, secure and light MVC PHP5 framework&quot;&gt;Kohana&lt;/a&gt; supports IM using a shell wrapper simply because that is the only way to support IM without PECL dependancies.&lt;/p&gt;&lt;p&gt;While this means we can&#039;t use &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pecl.php.net/package/imagick&#039;);&quot;  href=&quot;http://pecl.php.net/package/imagick&quot; title=&quot;Imagick&quot;&gt;Imagick&lt;/a&gt; (the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pecl.php.net/&#039;);&quot;  href=&quot;http://pecl.php.net/&quot; title=&quot;The PHP Extension Community Library&quot;&gt;PECL&lt;/a&gt; extension) using the official Kohana release, this doesn&#039;t mean we can&#039;t write our own Kohana Image driver.&lt;br /&gt;Since I have total freedom on my servers I wanted to use Imagick instead of the shell wrapper and wrote a Imagick driver.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://blog.dynom.nl/archives/Imagick-driver-for-Kohana_20080201_16.html#extended&quot;&gt;Continue reading &quot;Imagick driver for Kohana&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 01 Feb 2008 10:01:27 +0000</pubDate>
    <guid isPermaLink="false">http://blog.dynom.nl/archives/guid_20080201_16.html</guid>
    <category>im</category>
<category>imagemagick</category>
<category>kohana</category>
<category>php</category>
<category>php5</category>

</item>

</channel>
</rss>