<?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, 23 May 2013 05:00:41 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Practical Refactoring, Part 1 - What is Good Code?]]></title>
      <guid>http://www.phpdeveloper.org/news/18597</guid>
      <link>http://www.phpdeveloper.org/news/18597</link>
      <description><![CDATA[<p>
On PHPMaster.com they've started up a new series focused on refactoring code to make your applications not only easier to maintain but easier to expand on in the future. In <a href="http://phpmaster.com/practical-refactoring-1/">this first part</a> they focus on what the term "good code" really means.
</p>
<blockquote>
The main goal of refactoring is clean code, better code, or whatever you might call it. But what actually constitutes good code? Good code is smelled and tasted. If you've written a lot of code, you understand what I mean; you can easily identify whether code is good or bad with experience. But what if you are new to coding but still want to do things right? We can summarize the aspects of good code with these three guidelines: Readable, Extensible and Efficient
</blockquote>
<p>
He goes on to explain each of these three guidelines with descriptions of what they are and what they mean to you as a developer. In the next part of the series, he'll take these three ideas and apply them to code, showing some of the most common points where they can be applied to clean things up.
</p>]]></description>
      <pubDate>Fri, 12 Oct 2012 11:15:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Create your own framework... on top of the Symfony2 Components (part 9)]]></title>
      <guid>http://www.phpdeveloper.org/news/17416</guid>
      <link>http://www.phpdeveloper.org/news/17416</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> has posted the <a href="http://fabien.potencier.org/article/58/create-your-own-framework-on-top-of-the-symfony2-components-part-9">ninth part</a> of his "build a framework on Symfony2 components</a> series. In this latest tutorial he takes the simple framework he's already created (complete with some unit tests) and makes it easier to extend.
</p>
<blockquote>
Our framework is still missing a major characteristic of any good framework: extensibility. Being extensible means that the developer should be able to easily hook into the framework life cycle to modify the way the request is handled.
</blockquote>
<p>
He chooses the Observer design pattern as a basis for his example, allowing any kind of behavior/actions to be added to the framework's execution. He includes the Symfony2 dispatcher to make this work and includes the code for a "handle" method to fire off events. It executes a "ResponseEvent" every time the framework is executed. An "addListener" method provides the hook to apply a callback to an event - in his case an anonymous function (or closure).
</p>]]></description>
      <pubDate>Thu, 19 Jan 2012 08:58:11 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Maarten Balliauw's Blog: Saving a PHPExcel spreadsheet to Google Documents]]></title>
      <guid>http://www.phpdeveloper.org/news/11871</guid>
      <link>http://www.phpdeveloper.org/news/11871</link>
      <description><![CDATA[<p>
<i>Maarten Balliauw</i> has <a href="http://blog.maartenballiauw.be/post/2009/02/03/Saving-a-PHPExcel-spreadsheet-to-Google-Documents.aspx">written up a guide</a> to saving the output of your <a href="http://www.phpexcel.net/">PHPExcel</a> applications out to the Documents service that Google offers.
</p>
<blockquote>
As you may know, <a href="http://www.phpexcel.net/">PHPExcel</a> is built using an extensible model, supporting different input and output formats. The PHPExcel core class library features a spreadsheet engine, which is supported by IReader and IWriter instances used for reading and writing a spreadsheet to/from a file. Currently, PHPExcel supports writers for Excel2007, Excel5 (Excel 97+), CSV, HTML and PDF. Wouldnt it be nice if we could use PHPExcel to store a spreadsheet on <a href="http://docs.google.com/">Google Documents</a>? Let's combine some technologies.
</blockquote>
<p>
The two technologies in question are a standard install of the <a href="http://www.phpexcel.net/">PHPExcel</a> library and the <a href="http://framework.zend.com/">Zend Framework</a> (with its Zend_Gdata component). Using the component, a save() method is created and hooked into the IWriter interface of PHPExcel. When this save method is called, the Zend_Gdata component connects to the Documents service and uploads the resulting information for the account you supply.
</p>]]></description>
      <pubDate>Tue, 03 Feb 2009 12:58:56 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Completing an Extensible Website Engine with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/6612</guid>
      <link>http://www.phpdeveloper.org/news/6612</link>
      <description><![CDATA[<p>
DevShed is wrapping up their series on creating an extensible website engine with PHP 5 in <a href="http://www.devshed.com/c/a/PHP/Completing-an-Extensible-Website-Engine-with-PHP-5/">this new tutorial</a> - part two of the series.
</p>
<blockquote>
Welcome to the final part of the series "Building an extensible website engine with PHP 5." In two tutorials, this series teaches you how to build a versatile website system which allows you to generate dynamic web documents by using a few simple PHP classes.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Completing-an-Extensible-Website-Engine-with-PHP-5/">demonstrate how</a> to pull the contents of the page from the database to flesh out the content, push that data out into the page template itself, and, as a final step - they take a look at the entire system in action.
</p>]]></description>
      <pubDate>Tue, 31 Oct 2006 12:04:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Setting up the Foundation for an Extensible Website Engine with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/6563</guid>
      <link>http://www.phpdeveloper.org/news/6563</link>
      <description><![CDATA[<p>
DevShed starts up another series, a pair of tutorials seeking to help you create an extensible <a href="http://www.devshed.com/c/a/PHP/Setting-up-the-Foundation-for-an-Extensible-Website-Engine-with-PHP-5/">website engine</a> in PHP 5. Basically, a slightly more complex setup than just pulling the content from a database into your application.
</p>
<blockquote>
Over the course of this two-part series, I'll walk you through the development of a highly extensible and "pluggable" website engine with PHP 5, which will allow you generate web pages on the fly based on a predefined (but simple) database structure.
</blockquote>
<p>
They start things off by setting up the core of the system - the layout and structure of how the pages will flow. To help make this an easy task, they also create the simple template with links down the side to the different "pages". Finally, they finish off <a href="http://www.devshed.com/c/a/PHP/Setting-up-the-Foundation-for-an-Extensible-Website-Engine-with-PHP-5/">this part</a> of the series with the database structure and push some of the sample content in to give you an idea of how it's all formatted.
</p>]]></description>
      <pubDate>Tue, 24 Oct 2006 09:46:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Developing an Extensible TCP Server with Sockets in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/5472</guid>
      <link>http://www.phpdeveloper.org/news/5472</link>
      <description><![CDATA[<p>
Devshed has posted <a href="http://www.devshed.com/c/a/PHP/Developing-an-Extensible-TCP-Server-with-Sockets-in-PHP/">part two</a> in their series of "handling sockets in PHP", this time, with a focus on the creation of a TCP server.
</p>
<quote>
<i>
Are you interested in learning how to manipulate low-level sockets in PHP? Your search has finished. This is the second part of the series "Handling sockets in PHP," and hopefully you'll find in it valuable material regarding the creation and manipulation of sockets with PHP, in conjunction with numerous illustrative hands-on examples that will help you build socket servers in a few easy steps.
</i>
</quote>
<p>
The tutorial <a href="http://www.devshed.com/c/a/PHP/Developing-an-Extensible-TCP-Server-with-Sockets-in-PHP/">walks you through</a> the simple process, looking back at the simple version they made before, looking forward at expaning it to handle multiple client requests, and creating a "socket server" class to automatically handle the creation of the socket.
</p>]]></description>
      <pubDate>Tue, 30 May 2006 17:58:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Developing an Extensible Template Processor in PHP 5  (Part 1)]]></title>
      <guid>http://www.phpdeveloper.org/news/5289</guid>
      <link>http://www.phpdeveloper.org/news/5289</link>
      <description><![CDATA[<p>
Building web aplications that split out the responsibilities correctly is becoming more and more important. Developers are creating more complex applications, and cluttering up the presentation with the logic of the code can only make things more of a nightmare down the road. Thankfully, there are articles like <a href="http://www.devshed.com/c/a/PHP/Developing-an-Extensible-Template-Processor-in-PHP-5/">this one</a> from DevShed to help you template your site correctly.
</p>
<quote>
<i>
<p>
This is the first part of a three-part series that covers separating logic from presentation in PHP applications. In this article you will learn to develop a template system that is advanced enough to meet the requirements of a majority of applications.
</p>
<p>
It's possible to develop an intermediate template system that meets the requirements of a vast majority of applications, without the need to appeal to basic packages or having to deal with the numerous features of Smarty. It's precisely for this reason that this series will be focused on developing an extensible template processor in PHP 5.
</p>
</i>
</quote>
<p>
You'll need a bit of experience with templating your site <a href="http://www.devshed.com/c/a/PHP/Developing-an-Extensible-Template-Processor-in-PHP-5/">before you get started</a>, as they begin with a basic structure of the template processor before anything. They demonstrate the code to create the "TemplateProcessor" class and defining the "processTemplate" method inside it. By the end of this first part in the series, they've created a very simple templating class that could be used as is for base-level projects. Stay tuned for more, though, if you're hungry for more features.
</p>]]></description>
      <pubDate>Tue, 02 May 2006 13:58:09 -0500</pubDate>
    </item>
  </channel>
</rss>
