<?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>Sun, 12 Oct 2008 07:47:50 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHP Freaks: Design Patterns - Introduction]]></title>
      <guid>http://www.phpdeveloper.org/news/11174</guid>
      <link>http://www.phpdeveloper.org/news/11174</link>
      <description><![CDATA[<p>
The PHP Freaks website has a <a href="http://www.phpfreaks.com/tutorial/design-patterns---introduction">new tutorial</a> posted today thats an introduction to design patterns - what they are and which were the ideas of the "Gang of Four".
</p>
<blockquote>
Implementing Design Patterns is gradually getting more common in the PHP world. The hype around Ruby on Rails, which is based on the Model-View-Controller architectural pattern, has spawned a generation of PHP based frameworks which embrace this pattern also, paving the way for others to embrace design patterns in general in their PHP applications.
</blockquote>
<p>
Design patterns are just a standardized way of doing something (like a Factory where, when you request an object, if one already exists you get that one instead of a new one). They illustrate the design pattern concept with a database abstraction system (UML) and a configuration setup where the main class inherits from the child type-specific ones. 
</p>]]></description>
      <pubDate>Thu, 09 Oct 2008 07:53:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: Sun VirtualBox as a virtual development environment for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/11172</guid>
      <link>http://www.phpdeveloper.org/news/11172</link>
      <description><![CDATA[<p>
In a <a href="http://blog.calevans.com/2008/10/08/virtualbox-and-php-development/">new blog post</a> <i>Cal Evans</i> shares a solution he's come up with to help simplify his PHP development - using the Sun VirtualBox software to create a self-contained, controlled environment to run his scripts.
</p>
<blockquote>
The more I thought about it though, the more I realized there had to be a better way. My current setup doesn't allow me to do things like test PHP 5.3 without setting up a whole new server just for that purpose, or maintain an environment like my production server.
</blockquote>
<p>
He was looking for something that would work on a laptop, allow for easy environment switching and let him work on multiple projects at once. He came across the <a href="http://www.virtualbox.org/">VirtualBox</a> software and adapted it to his own needs (including shares folders between instances and multiple instances running Ubuntu) on his local machine.
</p>]]></description>
      <pubDate>Wed, 08 Oct 2008 20:20:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building a Content Management System with Code Igniter]]></title>
      <guid>http://www.phpdeveloper.org/news/11171</guid>
      <link>http://www.phpdeveloper.org/news/11171</link>
      <description><![CDATA[<p>
DevShed has finished off its CodeIgniter series today with <a href="http://www.devshed.com/c/a/PHP/Building-a-Content-Management-System-with-Code-Igniter/">this ninth part</a> focusing on making a simple content management system with the framework.
</p>
<blockquote>
Designed to allow programmers to create applications rapidly by utilizing the Model-View-Controller pattern, the Code Igniter framework lets you add many capabilities quickly and easily. This article will bring everything we've learned together for the creation of a content management system.
</blockquote>
<p>
Their system combines the bits of knowledge from the previous parts (segments of specific functionality) and combining them into a MySQL-driven system to store some information about the user's favorite movies.
</p>]]></description>
      <pubDate>Wed, 08 Oct 2008 14:49:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Asvin Balloo's Blog: AJAX image cropper with YUI and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/11170</guid>
      <link>http://www.phpdeveloper.org/news/11170</link>
      <description><![CDATA[<p>
<i>Asvin Balloo</i> has <a href="http://htmlblog.net/ajax-image-cropper-with-yui-and-php/">posted a tutorial</a> that shows how to combine the <a href="http://developer.yahoo.com/yui/">YUI libraries</a> with PHP to create a simple image cropper.
</p>
<blockquote>
This post will show you how to build an AJAX crop image tool using the image cropper control from YUI library and PHP. The <a href="http://developer.yahoo.com/yui/imagecropper/">ImageCropper Control</a> from the <a href="http://developer.yahoo.com/yui/">YUI library</a> gives you an interactive interface for getting the dimensions to crop an image and using these dimensions in PHP, we can do some cropping.
</blockquote>
<p>
The script takes in an upload, shows it in the browser for cropping and once altered, pushes the altered image back out as a download. Full code is included as well as a <a href="http://htmlblog.net/demo/cropper/">demo</a> of the final result and a <a href="http://htmlblog.net/demo/cropper/cropper.zip">sample file</a> to get you started.
</p>]]></description>
      <pubDate>Wed, 08 Oct 2008 12:09:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin van Zonneveld's Blog: How virtualization will improve your code]]></title>
      <guid>http://www.phpdeveloper.org/news/11161</guid>
      <link>http://www.phpdeveloper.org/news/11161</link>
      <description><![CDATA[<p>
<i>Kevin van Zonneveld</i> has passed along a note about one of his latest posts to his blog, <a href="http://kevin.vanzonneveld.net/techblog/article/how_virtualization_will_improve_your_code/">this overview</a> of how virtualization on the desktop can help you make stronger, improved code.
</p>
<blockquote>
<p>
If you have to wait endlessly for on SVN commits, uploads or compile steps, you will simply produce less inventive code. [...] If there's one thing I've really learned, it's invest in a good testing environment.
</p>
<p>
Another trick to improve the speed & quality of development, is to virtualize your production platform to your local workstation. The fake-production server (virtual machine) will mount your code directory directly as it's webroot, and so it can serve your IDE-work instantly.
</p>
</blockquote>
<p>
He uses the <a href="http://dlc.sun.com/virtualbox/vboxdownload.html">VirtualBox</a> software to create the virtual environment (Ubuntu on Ubuntu in this case) and gives the complete steps to setting it all up:
<ul>
<li>Download Operating System for Virtual Machine
<li>Creating/Configuring a new Virtual Machine
<li>Installing the OS
<li>Upgrade/Updating to the most recent software versions
<li>Making it a server
<li>Testing the Environment
</ul>
</p>]]></description>
      <pubDate>Tue, 07 Oct 2008 12:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stuart Herbert's Blog: Can You Secure A Shared Server With PHP + FastCGI?]]></title>
      <guid>http://www.phpdeveloper.org/news/11159</guid>
      <link>http://www.phpdeveloper.org/news/11159</link>
      <description><![CDATA[<p>
In a <a href="http://blog.stuartherbert.com/php/2008/10/07/can-you-secure-a-shared-server-with-php-fastcgi/">new post today</a> <i>Stuart Herbert</i> asks the question "is it possible to secure a shared server with PHP and FastCGI installed on it?" His answer follows...
</p>
<blockquote>
<a href="http://blog.stuartherbert.com/php/2008/10/07/2007/11/21/the-challenge-with-securing-shared-hosting/">The challenge with securing a shared hosting server</a> is how to secure the website from attack both from the outside and from the inside. <A href="http://blog.stuartherbert.com/php/2008/10/07/2007/11/27/phps-built-in-solutions-for-shared-hosting/">PHP has built-in features to help</a>, but ultimately it's the wrong place to address the problem. [...] Before we can look at performance, the first question is: how exactly do we get PHP and FastCGI running as different users on the one web server in the first place?
</blockquote>
<p>
He follows through on this, giving a little mini-tutorial on getting the environment installed on an Apache web server. He includes some benchmarks on the difference between using the Apache 1.3.x series and Apache 2 (generated using the ab benchmarking tool).
</p>]]></description>
      <pubDate>Tue, 07 Oct 2008 10:27:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP in Action: Get links with XPath]]></title>
      <guid>http://www.phpdeveloper.org/news/11157</guid>
      <link>http://www.phpdeveloper.org/news/11157</link>
      <description><![CDATA[<p>
In response to <a href="http://www.phpro.org/examples/Get-Links-With-DOM.html">this tutorial</a> over on the PHPro.org website a <a href="http://www.reiersol.com/blog/1_php_in_action/archive/162_get_links_with_xpath.html">new post</a> has been made to the PHP in Action blog with an "even cooler" way to do the same sort of DOM fetching - XPath.
</p>
<blockquote>
I'm a little bit surprised at the claim [the tutorial makes] that it's the "correct" (only) way, since there's at least one more that I find even cooler: XPath. Admittedly, it's slower, yet it's a more powerful language. 
</blockquote>
<p>
A <a href="http://www.reiersol.com/blog/1_php_in_action/archive/162_get_links_with_xpath.html">quick example</a> is included, building up from a simple search for anchor tags up to a custom query looking for just the anchor tags with a class of "bookmark".
</p>]]></description>
      <pubDate>Tue, 07 Oct 2008 08:43:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Elizabeth Smith's Blog: Treeviews and Cell Renderer Properties - Practical PHP-GTK]]></title>
      <guid>http://www.phpdeveloper.org/news/11156</guid>
      <link>http://www.phpdeveloper.org/news/11156</link>
      <description><![CDATA[<p>
New on her blog <i>Elizabeth Smith</i> talks about <a href="http://elizabethmariesmith.com/2008/10/treeviews-and-cell-renderer-properties-practical-php-gtk/">tree views and rendering</a> in a PHP-GTK application (with sample code included).
</p>
<blockquote>
I get this question a lot - "How do I change the background color of a single cell in a treeview?" If you look around you'll see a couple of ways of doing this using display callbacks and other highly processor and memory intensive methods - but there's a much simpler way.
</blockquote>
<p>
She explains how the tree views are rendered (with the GtkTreeView component, of course) via a "cell renderer" with different variations based on the contents of the cell - each with their own properties. Her example code illustrates how to manipulate this by making the tree object and attaching other columns to it with custom background properties. A quick screencast is included to show it in action.
</p>]]></description>
      <pubDate>Tue, 07 Oct 2008 07:53:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Filters and Login Systems for Web Application Security]]></title>
      <guid>http://www.phpdeveloper.org/news/11154</guid>
      <link>http://www.phpdeveloper.org/news/11154</link>
      <description><![CDATA[<p>
DevShed continues their look at security in PHP applications in <a href="http://www.devshed.com/c/a/PHP/Filters-and-Login-Systems-for-Web-Application-Security/">this third part</a> of the series, a focus on filtering and login systems for your applications.
</p>
<blockquote>
Any web site that is selective in the kind of users that it wants to grant access to will need some method of filtering. This filtering is usually done through a login system. This (and more) is what we will be building. 
</blockquote>
<p>
The site is made up of a few key components - login/logout pages, password management, a registration page and various configuration and settings files. They include everything you'll need, including the HTML and CSS to make things look exactly the same. The backend is driven off of a MySQL database to store the users and their account info.
</p>]]></description>
      <pubDate>Mon, 06 Oct 2008 13:43:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPPro.org: SQL Intro, Reciprocal Links & Finding Links with DOM]]></title>
      <guid>http://www.phpdeveloper.org/news/11152</guid>
      <link>http://www.phpdeveloper.org/news/11152</link>
      <description><![CDATA[<p>
<i>Kevin Waterson</i> has added three new tutorials to his PHPPro.org website recently:
</p>
<ul>
<li><a href="http://www.phpro.org/tutorials/Introduction-To-SQL.html">Introduction To SQL</a> - The language used in relational databases is SQL. Regardless of the database used, a standard language is used to communicate with them all. This tutorial shows some basic concepts to using SQL.
<li><a href="http://www.phpro.org/classes/Recipricol-Links.html">Reciprocal Links</a> - Automating reciprocal links at first glance looks a daunting task. This helper class takes away much of the pain of what can be a mindlessly tedious process and simplifies it into a few easy to use class methods
<li><a href="http://www.phpro.org/examples/Get-Links-With-DOM.html">Get Links With DOM</a> - Perhaps the biggest mistake people make when trying to get URLs or link text from a web page is trying to do it using regular expressions. The job can be done with regular expressions, however, there is a high overhead in having preg loop over the entire document many times. The correct way, and the faster, and infinitely cooler ways is to use DOM.
</ul>
<p>
You can find the links to these and many other great tutorials over on the PHPPro.org website's <a href="http://www.phpro.org/tutorials">tutorials section</a>.
</p>]]></description>
      <pubDate>Mon, 06 Oct 2008 12:09:15 -0500</pubDate>
    </item>
  </channel>
</rss>
