<?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>Wed, 19 Jun 2013 16:54:40 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Rashaud Teague's Blog: Basic Data Trees]]></title>
      <guid>http://www.phpdeveloper.org/news/13088</guid>
      <link>http://www.phpdeveloper.org/news/13088</link>
      <description><![CDATA[<p>
<i>Rashaud Teague</i> has <a href="http://rashaud.marislabs.org/2009/08/16/basic-data-trees/">posted a new tutorial</a> to his blog about data trees and parent/child relationships in PHP applications:
</p>
<blockquote>
Displaying data in data trees showing parent/child relationships can be important to your application for when users are looking for data. [...] Here I will be showing you (most likely a beginner programmer) how to display data from a database (MySQL) using PHP. In the this example I'm using the data from <a href="http://marislabs.org/simpledocu">Maris SimpleDocu</a>, a "simple" documentation system.
</blockquote>
<p>
His simple table holds data for a series of pages linked by a "parent" key column. Back in the PHP he uses a recursive function to pull in a subset of the data. The end result is output showing the levels of the data, spaced out by dashes.
</p>]]></description>
      <pubDate>Fri, 21 Aug 2009 11:41:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Robert Basic's Blog: Playing with Zend_Navigation and routes]]></title>
      <guid>http://www.phpdeveloper.org/news/13016</guid>
      <link>http://www.phpdeveloper.org/news/13016</link>
      <description><![CDATA[<p>
In <a href="http://robertbasic.com/blog/playing-with-zend_navigation-and-routes/">this new post</a> to his blog <i>Robert Basic</i> looks at the Zend_Navigation component of the Zend Framework and how it can be used to more correctly handle bad requests.
</p>
<blockquote>
I wanted to set up routes in such way that when a user requests a page, all requests for non-existing controllers/modules are directed to a specific controller (not the error controller). In other words, if we have controllers IndexController, FooController and PageController, anything but http://example.com/index and http://example.com/foo is directed to the PageController.
</blockquote>
<p>
Using the Zend_Controller_Router_Route_Regex component he creates an expression that matches anything but the two allowed controllers and pushes them back over to the "page" controller. The new route is put in place via an addRoute call. He also shows how to use the Zend_Navigation component to manage the navigation structure for this application, defining a PHP array of the nested sitemap if the site.
</p>]]></description>
      <pubDate>Mon, 10 Aug 2009 08:13:12 -0500</pubDate>
    </item>
    <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>
  </channel>
</rss>
