<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 04 Dec 2008 10:48:41 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Daniel Cousineau's Blog: Displaying N-Deep Trees (Remember Your Algorithms Course?)]]></title>
      <guid>http://www.phpdeveloper.org/news/10784</guid>
      <link>http://www.phpdeveloper.org/news/10784</link>
      <description><![CDATA[<p>
On his Tower of Power blog <i>Daniel Cousineau</i> has <a href="http://www.toosweettobesour.com/2008/08/05/displaying-n-deep-trees-remember-your-algorithms-course/">written up a look</a> at using a more detailed categorization method than just a parent/child relationship on your data - <a href="http://en.wikipedia.org/wiki/Tree_traversal">Tree Traversals</a>.
</p>
<blockquote>
If the software calls for only 2 levels of categorization (Parent and Child only), a simple nested for loop will suffice. However, software requirements change and you'll soon find yourself up shit creek without a paddle if you need to support 3 or 4 levels of nesting. [...] To those who's training is less formal (most web developers I meet have practical training, not formal), I'll help you out: <a href="http://en.wikipedia.org/wiki/Tree_traversal">Tree Traversals</a> (or if you are completely lost, <a href="http://en.wikipedia.org/wiki/Recursion">Recursion</a>).
</blockquote>
<p>
He creates a recursive function that, when passed in a category set with different types in it, can handle each of them and then calls itself again with the new child data. His sample code creates url out of a set of categories.
</p>]]></description>
      <pubDate>Thu, 07 Aug 2008 12:03:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Expirmentalworks.net: Inofficial PHP GIT repositories - Importing large trees]]></title>
      <guid>http://www.phpdeveloper.org/news/9373</guid>
      <link>http://www.phpdeveloper.org/news/9373</link>
      <description><![CDATA[<p>
<i>David</i> has <a href="http://blog.experimentalworks.net/archives/61-Inofficial-PHP-GIT-repositories-Importing-large-trees.html">posted an article</a> to the Expirmentalworks.net blog about a task that he and <i>Johannes Schluter</i> have finished up - importing the PHP CVS tree over into <a href="http://git.or.cz/">Git</a>.
</p>
<blockquote>
A few month ago Johannes Schluter and I started discussing about GIT and other decentralized version control systems. During our exploration of GIT we thought about importing the PHP CVS tree into git. A few weeks later and a lot of wasted cpu time, we finally managed to provide an inofficial GIT mirror of the PHP CVS repository. It's provided by Johannes Schluter and mirrored by me. 
</blockquote>
<p>
<a href="http://blog.experimentalworks.net/archives/61-Inofficial-PHP-GIT-repositories-Importing-large-trees.html">The post</a> documents the path they followed - using git-cvsimport, parsecvs and a path they needed to make - to finally get the import working without any flaws. You can check out their unofficial repository <a href="http://www.schlueters.de/~johannes/git/?p=php/php-src.git;a=summary">here</a> (it's updates twice a day from the live CVS).
</p>]]></description>
      <pubDate>Tue, 08 Jan 2008 10:24:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: eZ Components 2007.2]]></title>
      <guid>http://www.phpdeveloper.org/news/9269</guid>
      <link>http://www.phpdeveloper.org/news/9269</link>
      <description><![CDATA[<p>
According to <a href="http://derickrethans.nl/ez_components_20072.php">this new post</a> from <i>Derick Rethans</i>, the <a href="http://ezcomponents.org/">eZ Components</a> group has release the latest edition of their component set - version 2007.2.
</p>
<blockquote>
Today we released the next version of <a href="http://ezcomponents.org/">eZ Components</a>. In this release, there are two new components.
</blockquote>
<p>These two new components are:</p>
<ul>
<li>Tree - enables you to create, manipulate and query tree structures (with multiple compatible backends for gathering the data from)
<li>Webdav - allows for the quick and easy setup of a WebDAV-enabled server.
</ul>
<p>
You can find out more about these components and many more included in the component library at <a href="http://ezcomponents.org/">the project's website</a> (as well as <a href="http://ezcomponents.org/files/downloads/ezcomponents-2007.2.tar.bz2">this latest download</a>).
</p>]]></description>
      <pubDate>Tue, 18 Dec 2007 13:47:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: eZ Components 2007.2alpha1]]></title>
      <guid>http://www.phpdeveloper.org/news/9051</guid>
      <link>http://www.phpdeveloper.org/news/9051</link>
      <description><![CDATA[<p>
<i>Derick Rethans</i> has <a href="http://derickrethans.nl/ez_components_20072alpha1.php">pointed out</a> the release of the latest alpha version of the <a href="http://ezcomponents.org">eZ Components</a> framework - 2007.2alpha1.
</p>
<blockquote>
We've just released the first alpha version of the new eZ Components release, for which the full version is due to be released somewhere next month. There are two new components, but also many improvements to existing components. The new components are: Tree and Webdav.
</blockquote>
<p>
The Tree component makes working with tree-based structures (via two tieins for the component - TreeDatabaseTiein & TreePersistentObjectTiein) and the Webdav component allows for the quick and easy addition of WevDAV functionality to your application.
</p>
]]></description>
      <pubDate>Thu, 15 Nov 2007 10:21:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin van Zonneveld's Blog: Convert anything to Tree Structures in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/8811</guid>
      <link>http://www.phpdeveloper.org/news/8811</link>
      <description><![CDATA[<p>
<i>Kevin van Zonneveld</i> has <a href="http://kevin.vanzonneveld.net/techblog/article/convert_anything_to_tree_structures_in_php/">posted a new example</a> today of how to convert anything into a tree structure with PHP:
</p>
<blockquote>
<p>
With a function on this site: explodeTree(), you can explode any single-dimensional array into a full blown tree. The function uses a user-specified delimiter found in the keys of the original array to separate nodes and determine hierarchy.
</p>
<p>
Sample: with 3 lines of code you could have a full directory hierarchy in a multi-dimensional array if you specify the delimiter to be a '/' (slash).
</p>
</blockquote>
<p>
Not only is the code included to make the tree from the data, but an example block of code showing how to use the result.
</p>]]></description>
      <pubDate>Tue, 09 Oct 2007 16:38:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: More goodies in the eZ Components]]></title>
      <guid>http://www.phpdeveloper.org/news/8679</guid>
      <link>http://www.phpdeveloper.org/news/8679</link>
      <description><![CDATA[<p>
As <a href="http://derickrethans.nl/more_goodies_in_the_ez_components.php">mentioned by Derick Rethans</a> on his blog today, there's some new versions of several (five) of the components in the next version of the <a href="http://ez.no/ezcomponents">eZ Components</a> framework:
</p>
<blockquote>
In the just released alpha versions you can find new features, such as better support for OpenID, a Database backend for OpenID authentication, a validating method for e-mail addresses, SMTP authentication support for DIGEST-MD5, CRAM-MD5, NTLM and LOGIN and encoding support for e-mail headers.
</blockquote>
<p>
He also <a href="http://derickrethans.nl/more_goodies_in_the_ez_components.php">mentions</a> other goodies like tree structure handling and functionality to support WebDav connections. Check out <a href="http://issues.ez.no/RoadMap.php?Id=630&ProjectId=1">their roadmap</a> to get a better idea of what's to come.
</p>]]></description>
      <pubDate>Tue, 18 Sep 2007 19:44:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Internet Super Hero: PHP: mysqlnd and its tests]]></title>
      <guid>http://www.phpdeveloper.org/news/8354</guid>
      <link>http://www.phpdeveloper.org/news/8354</link>
      <description><![CDATA[<p>
The Internet Super Hero blog has <a href="http://blog.ulf-wendel.de/?p=148">posted some new tests</a> using the <a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/">mysqlnd driver</a> for PHP and shows you how it's all done for you to follow along at home.
</p>
<blockquote>
PHP extensions can test their userland (PHP) functionality using so called "phpt Tests". phpt Tests consist of several parts with their main part being regular PHP code to test PHP. On the <a href="http://qa.php.net/">website of the PHP Quality Assurance Team</a> you can find a documentation of the phpt Tests syntax on the page <a href="http://qa.php.net/write-test.php">Writing Tests</a>, if your are interested in the details. Most extensions contain a tests/ subdirectory in the PHP source code to ship the tests together with C code of the extensions. So do ext/mysql and ext/mysqli.
</blockquote>
<p>
They <a href="http://blog.ulf-wendel.de/?p=148">show the testing structure</a> they used and some of the stats they found from their runs. The rest of the post is dedicated to how it was all set up:
</p>
<ul>
<li>implemented as phpt Tests
<li>which need new settings
<li>Using run-tests.php to run the tests
<li>Failing tests
<li>Useful run-tests.php options and features
</ul>
<p>
They also briefly mention what a typical set of test results are (for the time the post was made).
</p>]]></description>
      <pubDate>Mon, 30 Jul 2007 15:55:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: PHP Security Tips #8 & #9]]></title>
      <guid>http://www.phpdeveloper.org/news/7426</guid>
      <link>http://www.phpdeveloper.org/news/7426</link>
      <description><![CDATA[<p>
The Zend Developer Zone has the latest two of their security tips posted today - numer #8 and #9 - in their "PHP Security Tips" series.
<ul>
<li>In <a href="http://devzone.zend.com/node/view/id/1793">tip #8</a>, they restate and reinforce a topic that's worth repeating - validating user input. They use the filter_var function as a simple, light way to start filtering your user's input.
<li><a href="http://devzone.zend.com/node/view/id/1807">Tip #9</a> suggests that you keep anything sensitive, anything at all that needs to be kept away from prying eyes, outside of your document root of the site. 
</ul>
You can check out more on these tips and lots of others in their <a href="http://devzone.zend.com/public/view/tag/Security_Tips">full list</a> of tips.
</p>]]></description>
      <pubDate>Tue, 13 Mar 2007 12:53:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP-GTK Community Site: Building a submenu in a GtkMenubar]]></title>
      <guid>http://www.phpdeveloper.org/news/6834</guid>
      <link>http://www.phpdeveloper.org/news/6834</link>
      <description><![CDATA[<p>
The PHP-GTK Community site is back again today with <a href="http://www.php-gtk.eu/code-snippets/overview-gtkmenubar-submenu">another quick tutorial</a> showing how to build a submenu with the help of the <a href="http://www.php-gtk.eu/code-snippets/overview-gtkmenubar">GtkMenubar</a> widget.
</p>
<p>
It's broken us into the key sections - details, a visual tree of the structure, the logic tree and relationships, and, finally the source code. It's a pretty simple process of creating the menu and appending the elements onto it, much like a normal drop down menu. The key is in the set_submenu function, creating a new object for the code to append the submenu elements to. The rest is just simple appends.
</p>
<p>
They've also <a href="http://www.php-gtk.eu/files/gtk-menubar-overview-submenu.png">included a screenshot</a> to illustrate the end result.
</p>]]></description>
      <pubDate>Wed, 06 Dec 2006 08:55:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[William Candillon's Blog: The Parse Tree generator]]></title>
      <guid>http://www.phpdeveloper.org/news/6476</guid>
      <link>http://www.phpdeveloper.org/news/6476</link>
      <description><![CDATA[<p>
<i>William Candillon</i> has made a <a href="http://wcandillon.blogspot.com/2006/10/parse-tree-generator-i-put-this-form.html">quick post</a> concerning his phpAspect project including a demo for anyone to work with and some documentation for the project.
</p>
<blockquote>
<p>
I put this form online so you can try the parse tree extension without installing it: <a href="http://phpaspect.org/ast">http://phpaspect.org/ast</a>. You can upload your own php script and get the xml tree or the tree visualization in png format.
</p>
<p>
I also put a mini documentation on a wiki page: <a href="http://phpaspect.org/wiki/doku.php?id=parse_tree">http://phpaspect.org/wiki/doku.php?id=parse_tree</a>.
</p>
</blockquote>
<p>
Check out <a href="http://phpaspect.org">the main project website</a> for all of the info surrounding the phpAspect project and where it's headed.
</p>]]></description>
      <pubDate>Wed, 11 Oct 2006 10:49:00 -0500</pubDate>
    </item>
  </channel>
</rss>
