<?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>Fri, 21 Nov 2008 23:41:35 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPImpact Blog: 30 Useful PHP Classes and Components]]></title>
      <guid>http://www.phpdeveloper.org/news/10308</guid>
      <link>http://www.phpdeveloper.org/news/10308</link>
      <description><![CDATA[<p>
The PHP::Impact blog has <a href="http://phpimpact.wordpress.com/2008/05/29/30-useful-php-classes-and-components/">posted a list</a> of thirty classes and components that can make your PHP development life so much easier:
</p>
<blockquote>
Simplicity and extensibility are the main reasons why PHP became the favourite dynamic language of the Web. In the last decade, PHP has developed from a niche language for adding dynamic functionality to small websites to a powerful tool making strong inroads into large-scale Web systems.
</blockquote>
<p>
<a href="http://phpimpact.wordpress.com/2008/05/29/30-useful-php-classes-and-components/">Their list</a> includes software like:
</p>
<ul>
<li><a href="http://blog.maartenballiauw.be/post/2008/01/LINQ-for-PHP-Language-Integrated-Query-for-PHP.aspx">LINQ for PHP</a>
<li><a href="http://trac.phpdoctrine.org/">Doctrine</a>
<li><a href="http://htmlpurifier.org/">HTML Purifier</a>
<li><a href="http://simpletest.sourceforge.net/">SimpleTest</a>
<li><a href="http://phing.info/trac/">Phing</a>
<li><a href="http://securityscanner.lostfiles.de/index.php">PHP Security Scanner</a>
<li><a href="http://simplepie.org/">SimplePie</a>
<li><a href="http://www.smarty.net/">Smarty</a>
</ul>
<p>
...and <a href="http://phpimpact.wordpress.com/2008/05/29/30-useful-php-classes-and-components/">many more</a>. Check out the full list for all sorts of useful tools.
</p>]]></description>
      <pubDate>Fri, 30 May 2008 10:23:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Mischook's Blog: A Question about object properties in PHP Classes]]></title>
      <guid>http://www.phpdeveloper.org/news/9199</guid>
      <link>http://www.phpdeveloper.org/news/9199</link>
      <description><![CDATA[<p>
<i>Stefan Mischook</i> shares a little <a href="http://www.killerphp.com/articles/object-properties/">question and answer</a> he had recently concerning object properties in PHP.
</p>
<p>
The question asked about accessing properties outside the class and/or defining them as protected/private to prevent it. <i>Stefan</i>'s response was basically:
</p>
<blockquote>
Many OO techniques are designed for situations where you will have more than one programmer involved, now or later. By declaring variables as protected or private, you are adding security to the code base by forcing the use of getter and setter methods where you can control how objects are used.
</blockquote>]]></description>
      <pubDate>Fri, 07 Dec 2007 14:33:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weir O'Phinney's Blog: PHP 5's Reflection API]]></title>
      <guid>http://www.phpdeveloper.org/news/6453</guid>
      <link>http://www.phpdeveloper.org/news/6453</link>
      <description><![CDATA[<p>
In his <a href="http://weierophinney.net/matthew/archives/125-PHP-5s-Reflection-API.html">latest blog post</a>, <i>Matthew Weir O'Phinney</i> shares some of his newfound love for the Reflection API that PHP5 brings to the table:
</p>
<blockquote>
<p>
When I first read about the Reflection API in a pre-PHP 5 changelog, my initial reaction was, "who cares?" I simply failed to see how it was a useful addition to the language. Having done some projects recently that needed to know something about the classes they are using, I now understand when and how it can be used. 
</p>
<p>
It shines when you need to work with classes that may not be defined when you write your code -- any code that dispatches to other classes, basically.
</p>
</blockquote>
<p>
To emphasize the point, he <a href="http://weierophinney.net/matthew/archives/125-PHP-5s-Reflection-API.html">lists a few things</a> you can do with the API, including determine if a method exists in a class and instantiate an object instance with a variable number of arguments to the constructor. He also includes a code example, showing a simple method of getting all of the methods on a class.
</p>]]></description>
      <pubDate>Mon, 09 Oct 2006 13:37:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Using Inheritance, Polymorphism and Serialization with PHP Classes]]></title>
      <guid>http://www.phpdeveloper.org/news/6043</guid>
      <link>http://www.phpdeveloper.org/news/6043</link>
      <description><![CDATA[<p>
Some concepts of object-oriented design are harder to figure out that others for a budding programmer. Thankfully, there's articles <a href="http://www.devshed.com/c/a/PHP/Using-Inheritance-Polymorphism-and-Serialization-with-PHP-Classes/">like this one</a> from DevShed to help fill in some of the gaps. Specifically, they focus on inheritance, polymorphism, and serialization in your PHP classes.
</p>
<blockquote>
If you are working with classes in PHP, you will sooner or later encounter inheritance, polymorphism, and serialization. The ability to use these three will help speed up your code writing. This article covers how to use them, and more.
</blockquote>
<p>
First off, <a href="http://www.devshed.com/c/a/PHP/Using-Inheritance-Polymorphism-and-Serialization-with-PHP-Classes/">they look at</a> inheritance and working with child classes before moving on to polymorphism (similar functionality, different objects), calling functions statically, and serializing objects to make passing them around much easier.
</p>]]></description>
      <pubDate>Tue, 15 Aug 2006 09:02:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jacob Santos's Blog: Don't Advocate Inner Classes]]></title>
      <guid>http://www.phpdeveloper.org/news/6009</guid>
      <link>http://www.phpdeveloper.org/news/6009</link>
      <description><![CDATA[<p>
<I>Jacob Santos</i> talks in <a href="http://www.santosj.name/php/dont-advocate-subclasses/">this new blog post</a> about something that, if added to PHP, just might be more trouble than it's worth - inner classes.
</p>
<blockquote>
<p>
Inner Classes are contained in parent classes and offer a sort of namespace mechanism for the public and open private class data transfer for private subclasses.
</p>
<p>
The functionality is already available in other languages, but the question is whether it is needed in PHP. The short answer is no. With PHP execution model, it would further slow down and bloat PHP compilation.
</p>
</blockquote>
<p>
He <a href="http://www.santosj.name/php/dont-advocate-subclasses/">demonstrates their purpose</a> with some simple examples but also gives the reasons why it would be a bad thing to try to include them, including the better choice of namespaces over inner classes.
</p>]]></description>
      <pubDate>Fri, 11 Aug 2006 07:38:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Classes as PHP Functions]]></title>
      <guid>http://www.phpdeveloper.org/news/5985</guid>
      <link>http://www.phpdeveloper.org/news/5985</link>
      <description><![CDATA[<p>
Continuing on in their "PHP functions" series today, DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Classes-as-PHP-Functions/">this next step</a> up the ladder, getting more advanced with the functions they're working with. This time, there's a focus on functions inside classes and creating the classes around them (a sort of introduction to object-oriented programming).
</p>
<blockquote>
Continuing our PHP functions article, we move on to creating classes. Let me say right at the start that you can write perfectly effective and useful PHP code without creating classes or going into object oriented programming. Object oriented programming can be very powerful and PHP programmers are increasingly taking advantage of these capabilities, which have been greatly expanded since PHP4.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Classes-as-PHP-Functions/">start with the creation</a> of a simple class - a human class with two $legs and two $arms. They show a simple display of this data and add another attribute to the class, one for hair color. They then capture the output they've been creating inside a function, report, and show how to execute it. Finally, they show how to use the special function that runs when the object is created - the constructor.
</p>]]></description>
      <pubDate>Wed, 09 Aug 2006 05:49:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Overloading Classes in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/5874</guid>
      <link>http://www.phpdeveloper.org/news/5874</link>
      <description><![CDATA[<p>
DevShed is wrapping up their "Overloading in PHP" series today with <a href="http://www.devshed.com/c/a/PHP/Overloading-Classes-in-PHP-5/">this last part</a> - "Overloading Classes in PHP5".
</p>
<blockquote>
It's time to move on and continue exploring the subject, since there are still a few additional topics that need to be covered. So, what's comes next now? All right, in this last part of the series, I'll be explaining how to overload classes specifically in PHP 5, which offers native support for overloading class members and methods, without having to explicitly call the PHP built-in "overload()" function.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Overloading-Classes-in-PHP-5/">look first</a> at using the __get method to replace __set in their previous code to save data out to a file. Then, to illustrate even more enhanced functionality, they implement __get and __set at the same time in a class, using them to grab values and set values to properties. Finally, they throw __call into the mix, showing how to overload method calls too.
</p>]]></description>
      <pubDate>Wed, 26 Jul 2006 05:53:51 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lukas Smith's Blog: Brideing the rift between PEAR_Error and PEAR_Exception]]></title>
      <guid>http://www.phpdeveloper.org/news/5608</guid>
      <link>http://www.phpdeveloper.org/news/5608</link>
      <description><![CDATA[<p>
<i>Lukas Smith</i> has a <a href="http://pooteeweet.org/blog/430">quick post</a> today about some of the tension that's come up between to PEAR error handling packages and something he's created to try to help calm things down.
</p>
<blockquote>
Well there is a lot of back and forth about if PEAR should mandate PEAR_Error or PEAR_Exceptions or neither for new packages. This also relates to the question of PHP5 E_STRICT compliance which PEAR_Error obviously is not.
</blockquote>
<p>
His quick fix for the problem? <a href="http://pooteeweet.org/pear/error_proxy.phps">Two proxy classes</a> that would make switching between either of the two error handling classes as simple as changing out which proxy you're using.
</p>]]></description>
      <pubDate>Fri, 16 Jun 2006 09:07:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Justin Silverton's Blog: Flickr.com - PHP/mysql case study]]></title>
      <guid>http://www.phpdeveloper.org/news/5065</guid>
      <link>http://www.phpdeveloper.org/news/5065</link>
      <description><![CDATA[Another <a href="http://blinduser.blogspot.com/2006/03/flickrcom-phpmysql-case-study.html">very brief article</a> has been posted by <i>Justin Silverton</i> today - this time, it's a "case study" of the hows and whys of Flickr using PHP/MySQL.
<p>
<quote>
<i>
Carl Henderson from Flickr.com, a very popular photo blogging service has released a pdf (not sure exactly when this was actually released) detailing the issues they faced with having a high-traffic website.
</i>
</quote>
<p>
Based on the <a href="http://www.niallkennedy.com/blog/uploads/flickr_php.pdf">original PDF</a>, <i>Justin</i> pulls out some of the key points he noticed as he read. The top level items are "Classes, libraries, and systems used", "unicode support", "Why php was used", and "Mysql usage". He provides more of an outline for each item in <a href="http://blinduser.blogspot.com/2006/03/flickrcom-phpmysql-case-study.html">the post</a>, touching on the full contents of the formal case study.]]></description>
      <pubDate>Wed, 29 Mar 2006 07:16:58 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jim Plush's Blog: Grouping PHP classes = faster by 24%]]></title>
      <guid>http://www.phpdeveloper.org/news/4831</guid>
      <link>http://www.phpdeveloper.org/news/4831</link>
      <description><![CDATA[<i>Jim Plush</i> wanted to try a <a href="http://www.litfuel.net/plush/?postid=116">little experiment</a> with perfomance in PHP - specifically dealing with the placement of the class code in an application.
<p>
<quote>
<i>
Out of sheer boredom I wanted to see which was better, including one big file of classes or splitting your classes up into multiple files. I'm going to use nusoap as an example. The NuSoap package lets you download one file. nusoap.php. That one file contains 9 classes. While not only is this method nice as you only need to include one class, its also 24% faster on average than having to include 9 seperate files.
</i>
</quote>
<p>
In his <a href="http://www.litfuel.net/plush/?postid=116">informal testing</a> he found that combining the files/classes into a single large file made for better performance (as far as object usage) - of course, that also makes it harder to maintain...]]></description>
      <pubDate>Mon, 13 Feb 2006 06:55:53 -0600</pubDate>
    </item>
  </channel>
</rss>
