<?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>Pierre (Entries tagged as 5.2.0)</title>
    <link>http://blog.thepimp.net/</link>
    <description>Moving Pixels</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.3 - http://www.s9y.org/</generator>
    <pubDate>Mon, 26 Feb 2007 06:23:00 GMT</pubDate>

    <image>
        <url>http://blog.thepimp.net/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Pierre - Moving Pixels</title>
        <link>http://blog.thepimp.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Which Zip for which PHP and a bug fixes release (1.8.6)</title>
    <link>http://blog.thepimp.net/archives/Which-Zip-for-which-PHP-and-a-bug-fixes-release-1.8.6.html</link>
            <category>Uncategorized</category>
    
    <comments>http://blog.thepimp.net/archives/Which-Zip-for-which-PHP-and-a-bug-fixes-release-1.8.6.html#comments</comments>
    <wfw:comment>http://blog.thepimp.net/wfwcomment.php?cid=183</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.thepimp.net/rss.php?version=2.0&amp;type=comments&amp;cid=183</wfw:commentRss>
    

    <author>nospam@example.com (Pierre)</author>
    <content:encoded>
    &lt;p&gt;About once a day, a user asks me which Zip version they should use: the bundled version (&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; 4 or in 5.2+) or always rely on &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt;. There are different cases, and all of them are good except one.&lt;/p&gt; &lt;p&gt;I strongly recommend to not use the bundled Zip extension in &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; 4.x (which is the &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; version 1.0). The later versions (1.1.0 or later in &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt;, and bundled in &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; from 5.2.0 and later) is 100% backward compatible. For example, the version 1.8.7 fixes a leak in the old &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; 5.2.0 includes Zip, and all the fixes available in &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt;. The only difference between PECL&amp;#8217;s Zip and the bundled version is the release cadences. I try to release to &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; on a monthly basis, either a development version (new features, improvements) or a bug fixes, or even both when there are enough supporters &lt;img src=&quot;http://blog.thepimp.net/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;. The &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; security policy may hide a problem or two in various changelogs, but be sure that both the &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; releases, and the &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; releases, will have the latest issues fixed.&lt;/p&gt; &lt;p&gt;Summary:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;5.2.x, bug fixes only or minor improvements&lt;/li&gt; &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; Zip 1.8.x, bug fixes only or minor improvements&lt;/li&gt; &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; Zip 1.9.x, development branch, the current improvements include good stuff like pattern based additions or extractions and iterators. The improvements will be available in a &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; only after the first stable &lt;span class=&quot;caps&quot;&gt;PECL&lt;/span&gt; release&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;And a new bug fixes release has been released today, see the complete changelog &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pecl.php.net/package-changelog.php?package=zip&amp;amp;amp;release=1.8.6&#039;);&quot;  href=&quot;http://pecl.php.net/package-changelog.php?package=zip&amp;amp;release=1.8.6&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pecl.php.net/zip&#039;);&quot;  href=&quot;http://pecl.php.net/zip&quot;&gt;Zip Homepage&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pecl.php.net/package-changelog.php?package=zip&#039;);&quot;  href=&quot;http://pecl.php.net/package-changelog.php?package=zip&quot;&gt;Zip Changelog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Mon, 26 Feb 2007 07:23:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.thepimp.net/archives/183.html</guid>
    <category>5.2.0</category>
<category>PECL</category>
<category>PHP</category>
<category>PHP-4</category>
<category>zip</category>

</item>
<item>
    <title>comment posting fixed and warning removed, and why I don't mess with getter/setter</title>
    <link>http://blog.thepimp.net/archives/comment-posting-fixed-and-warning-removed,-and-why-I-dont-mess-with-gettersetter.html</link>
            <category>Uncategorized</category>
    
    <comments>http://blog.thepimp.net/archives/comment-posting-fixed-and-warning-removed,-and-why-I-dont-mess-with-gettersetter.html#comments</comments>
    <wfw:comment>http://blog.thepimp.net/wfwcomment.php?cid=148</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blog.thepimp.net/rss.php?version=2.0&amp;type=comments&amp;cid=148</wfw:commentRss>
    

    <author>nospam@example.com (Pierre)</author>
    <content:encoded>
    &lt;p&gt;During my upgrade to &lt;a href=&quot;http://blog.thepimp.net/index.php/post/2006/11/23/moving-to-dotclear-20-new-theme-%3A&quot;&gt;dotclear2&lt;/a&gt;, I noticed some notices about &amp;quot;&amp;quot;Indirect modification of overloaded property&amp;quot; and thought they are minor (notices&amp;#8230;) and can be somehow ignored, bad idea &lt;img src=&quot;http://blog.thepimp.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; &lt;p&gt;It seems that the known issues with setter/getters with array are more serious than I thought, being not really a fan of these magic methods, especially not for arrays or other non scalar data, I did not really &amp;quot;care&amp;quot;, selber schuld &lt;img src=&quot;http://blog.thepimp.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; &lt;p&gt;In the case of dotclear, the workaround is relatively easy:&lt;/p&gt; 

	&lt;p&gt;&lt;pre class=&quot;php&quot; style=&quot;text-align: left;&quot;&gt;&amp;lt;br /&amp;gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; context&amp;lt;br /&amp;gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$stack&lt;/span&gt; = array&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;lt;/p&amp;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; __set&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$name&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$var&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: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;stack&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$name&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$var&lt;/span&gt;;
  &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&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; __get&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$name&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: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;!isset&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;stack&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$name&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;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;null&lt;/span&gt;;
    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;stack&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$name&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;#125;&lt;/span&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;#160;
	&amp;lt;p&amp;gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; context;&amp;lt;br /&amp;gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt; = array&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;lt;br /&amp;gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;content&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;rawcontent&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;name&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;mail&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;site&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;preview&amp;amp;#8217;] = false;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;remember&amp;amp;#8217;] = false;&amp;lt;br /&amp;gt;&lt;/span&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: #0000ff;&quot;&gt;$ctx&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;lt;/p&amp;gt;
&amp;#160;
	&amp;lt;p&amp;gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt; = array&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;lt;br /&amp;gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;content&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;rawcontent&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;name&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;mail&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;site&amp;amp;#8217;] = &amp;amp;#8216;&amp;amp;#8217;;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;preview&amp;amp;#8217;] = false;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&amp;amp;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#8216;remember&amp;amp;#8217;] = false;&amp;lt;br /&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$ctx&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;comment_preview&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$comment_preview&lt;/span&gt;;&amp;lt;br /&amp;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: #0000ff;&quot;&gt;$ctx&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&amp;lt;br /&amp;gt;
&amp;#160;&lt;/pre&gt;&lt;/p&gt;

 &lt;p&gt;The first initialiation will raise notices and fails (do not assign anything, as the error message says), the second works like a charm. This bug just confirms what I think about all these magic methods, don&amp;#8217;t use them for non scalar unless someone put a gun on you.&lt;/p&gt; &lt;p&gt;The issue is known (thanks tony for the info). It is certainly due to the read/write access required by the array element change, but I do not know exactly how userland getter/setter work. I reopen an old bug (#36214), let see what will come out of it.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 28 Nov 2006 04:25:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.thepimp.net/archives/148.html</guid>
    <category>5.2.0</category>
<category>dotclear2</category>
<category>indirect-modification</category>
<category>overloaded-property</category>
<category>php</category>

</item>

</channel>
</rss>