<?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, 15 Oct 2008 22:03:59 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Mike Willbanks' Blog: PHP Performance Series: Caching Techniques]]></title>
      <guid>http://www.phpdeveloper.org/news/9711</guid>
      <link>http://www.phpdeveloper.org/news/9711</link>
      <description><![CDATA[<p>
On his blog today, <i>Mike Willbanks</i> has <a href="http://blog.digitalstruct.com/2008/02/27/php-performance-series-caching-techniques/">started up</a> a new series that will look at various caching techniques that are available to PHP developers now:
</p>
<blockquote>
Welcome to the first edition of the PHP performance series, a new series that I will be explaining ways to gain efficiencies and squeezing more performance out of your applications. This first edition, caching techniques, focuses on ways to cache data to optimize your current sites. Some of the concepts here are fairly easy to implement while others may take strategic design in the architecture of your application.
</blockquote>
<p>
The methods he looks at <a href="http://blog.digitalstruct.com/2008/02/27/php-performance-series-caching-techniques/">this time</a> are:
</p>
<ul>
<li>Opcode Caching
<li>File Priming
<li>Caching Variables
<li>File Caching
<li>Memory Caching
<li>Database Memory Tables
<li>RAM Disk
</ul>]]></description>
      <pubDate>Wed, 27 Feb 2008 10:25:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[The Bakery: Advanced Pagination (1.2)]]></title>
      <guid>http://www.phpdeveloper.org/news/8183</guid>
      <link>http://www.phpdeveloper.org/news/8183</link>
      <description><![CDATA[<p>
From The Bakery, there's a <a href="http://bakery.cakephp.org/articles/view/advanced-pagination-1-2">new tutorial</a> looking to help make pagination (more than just the basic stuff) simple on your site.
</p>
<blockquote>
This tutorial will attempt to cover some advanced techniques of pagination. In large this will cover Ajax pagination. Hopefully we can also uncover some of the better practices and techniques to use with pagination.
</blockquote>
<p>
They look at four different topics:
</p>
<ul>
<li>Ajax Pagination
<li>Searching (use of pagination on the results page)
<li>Other Techniques
<li>some of the Known Weaknesses the method has
</ul>
<p>
Code <a href="http://bakery.cakephp.org/articles/view/advanced-pagination-1-2">is included</a>.
</p>]]></description>
      <pubDate>Thu, 05 Jul 2007 08:58:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Database Techniques and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/8099</guid>
      <link>http://www.phpdeveloper.org/news/8099</link>
      <description><![CDATA[<p>
Continuing on from <a href="http://www.phpdeveloper.org/news/8048">this previous post</a>, DevShed has <a href="http://www.devshed.com/c/a/PHP/Database-Techniques-and-PHP/">this new tutorial</a> posted. Another excerpt from O'Reilly's "Programming PHP, Second Edition" (by <i>Kevin Tatroe</i>, <i>Rasmus Lerdorf</i>, and <i>Peter MacIntyre</i>), this section gets more into connecting to the database, making a query and returning some information.
</p>
<p>
They start off looking at the DSNs mentioned previously and include a bit of error checking around it to handle anything that might come up. The next step is, of course, to make a query against the information in your database. They also include an example of the fetchRow method to push the returned results into a variable.
</p>
<p>
The variable is built out as an array, so they show what that array looks like "on the inside" and how you can reference the different values that make it up.
</p>]]></description>
      <pubDate>Thu, 21 Jun 2007 13:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebReference.com: Security Techniques: Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/7931</guid>
      <link>http://www.phpdeveloper.org/news/7931</link>
      <description><![CDATA[<p>
WebReference.com has posted <a href="http://www.webreference.com/programming/php/php5-advanced2/index.html">part two</a> in their series looking at security techniques in PHP. This time they focus on the use of a few things - the PECL filter, the PEAR Auth module and mcrypt.
</p>
<p>
For each of the three topics covered, they include a few code examples on their use - an HTML form with the filter extension, user authentication with the PEAR Auth, and encrypting data to be used in a more secure cookie.
</p>
<p>
<a href="http://www.webreference.com/programming/php/php5-advanced2/index.html">The article</a> is excerpted from <a href="http://books.internet.com/books/0321376013">PHP 5 Advanced: Visual QuickPro Guide</a> by <a href="http://www.peachpit.com/bookstore/product.asp?isbn=0321376013&rl=1">Larry Ullman</a>.
</p>]]></description>
      <pubDate>Tue, 29 May 2007 12:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebReference.com: Security Techniques]]></title>
      <guid>http://www.phpdeveloper.org/news/7836</guid>
      <link>http://www.phpdeveloper.org/news/7836</link>
      <description><![CDATA[<p>
Filed under their "Advanced Topics" sections today is a <a href="http://www.webreference.com/programming/php/php5-advanced/index.html">new article</a> from WebReference.com that looks at some security techniques developers can use in their apps to help keep their and their user's information safe from prying eyes. It's an excerpt from <i>Larry Ullman</i>'s book "PHP 5 Advanced: Visual QuickPro Guide".
</p>
<blockquote>
<p>
This chapter will begin by rehashing the fundamentals of secure PHP programming. These are the basic things that I hope/assume you're already doing. After that a quick example shows ways to validate different kinds of data that might come from an HTML form. 
</p>
<p>
The third topic is the new-to-PHP 5 PECL library called Filter. Its usage isn't very programmer-friendly, but the way it wraps all of the customary data filtering and sanitizing methods into one interface makes it worth knowing. After that, two different uses of the PEAR Auth package show an alternative way to implement authorization in your Web applications. The chapter will conclude with coverage of the MCrypt library, demonstrating how to encrypt and decrypt data.
</p>
</blockquote>
<p>
The <a href="http://www.webreference.com/programming/php/php5-advanced/index.html">security tips</a> in this part of the series range from turning off register_globals (you do have it off, don't you?) to form validation with things like regular expressions and the ctype functions. 
</p>]]></description>
      <pubDate>Mon, 14 May 2007 11:43:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Using the mysqli Interface: Basic Techniques]]></title>
      <guid>http://www.phpdeveloper.org/news/7439</guid>
      <link>http://www.phpdeveloper.org/news/7439</link>
      <description><![CDATA[<p>
In a <a href="http://www.phpbuilder.com/columns/ben_robinson20070314.php3">new tutorial</a> on PHPBuilder.com today, they walk you through the use of the use of the mysqli interface in PHP.
</p>
<blockquote>
This article will illustrate some basic techniques for using the mysqli interface. This is a great tool to use in php5 because it doesn't need any include libraries like PEAR, etc; it is compiled right into the distribution.
</blockquote>
<p>
They start things simple, showing how to make the mysqli connection in your script, including how to set up the connection parameters. They move quickly into making queries on the database - first a simple one with a loop and then a more complex example with a prepared query. They wrap things up by helping you create a simple class that works as a bit of an abstraction layer to query and report on the results returned.
</p>
]]></description>
      <pubDate>Thu, 15 Mar 2007 13:37:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jamie Wong's Blog: Effective bugfixing techniques for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/6838</guid>
      <link>http://www.phpdeveloper.org/news/6838</link>
      <description><![CDATA[<p>
In his travels as a PHP developer, <i>Jamie Wong</i> has gathered some helpful debugging tips that are shared in <a href="http://adc.jgwong.org/index.php/2006/11/23/effective-bugfixing-techniques-for-php/">this latest post</a> to his blog.
</p>
<blockquote>
Here are some bugfixing rules and tips I've learned working all these years with PHP. I emphasize mostly on fixing bugs than preventing them, which is another subject worth of its own article. I've moved to Rails, but I wanted to finish this post as a farewell and thanks to every article and documentation that was useful to me. Hope this is useful to you too.
</blockquote>
<p>
Topics covered include:
<ul>
<li>Assume nothing
<li>Turn Error Reporting to show all errors
<li>Read the error message
<li>Understand the bug
<li>"Scooby-Bug, where are you?"
<li>Get as much information as possible
</ul>
Each has some explanation below it and, in some places, a bit of code to clarify the point.
</p>]]></description>
      <pubDate>Wed, 06 Dec 2006 13:46:56 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Syntux Blog: Advanced Caching Technique - Block Randomization]]></title>
      <guid>http://www.phpdeveloper.org/news/6098</guid>
      <link>http://www.phpdeveloper.org/news/6098</link>
      <description><![CDATA[<p>
In his latest entry to the Synutx blog, <i>Ammar Ibrahim</i> <a href="http://syntux.net/blog/2006/08/21/advanced-caching-technique-block-randomization/">talks about</a> an advanced chaching technique - block randomization.
</p>
<blockquote>
<p>
I'm currenlty working on a site where I want to improve performance of dynamic pages. One of the greatest techniques to do is to cache dynamic content and serve the generated output (HTML). It's not as easy as we all want it to be when you have all sorts of weird blocks on the page: User login area, random content, ..etc
</p>
<p>
As I had a very pleasent experience with eZ components last week, I decided to take a look at the components, but then i remembered it works on PHP5. This project is on PHP4, I had to look for an alternative and decided to use PEAR::Cache_Lite.
</p>
</blockquote>
<p>
He <a href="http://syntux.net/blog/2006/08/21/advanced-caching-technique-block-randomization/">gives a visual example</a> of what he's working towards and includes some sample code (using Cache_Lite) to create the blocks of content for his site. It took a few tries to get right, but apparently, third time's the charm.
</p>]]></description>
      <pubDate>Mon, 21 Aug 2006 16:18:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Felix Geisend&ouml;rfer's Blog: The ultimate CakePHP bootstrap technique]]></title>
      <guid>http://www.phpdeveloper.org/news/6035</guid>
      <link>http://www.phpdeveloper.org/news/6035</link>
      <description><![CDATA[<p>
In <a href="http://www.thinkingphp.org/2006/08/15/the-ultimate-cakephp-bootstrap-technique/">his latest blog post</a> today, <i>Felix Geisend&ouml;rfer</i> shares his "ultimate bootstrap technique" for CakePHP without having to render a page.
</p>
<blockquote>
Ok, I shouldn't use such a buzz-headline, but I was very happy today, when I discovered a new way to bootsrap CakePHP wihout having to render a page. This is especially useful when you try to embed CakePHP in existing php apps (drupal, wordpress, ..., ?), or when you try to write unit tests for highly coupled classes such as Controllers or Models.
</blockquote>
<p>
Basically, <a href="http://www.thinkingphp.org/2006/08/15/the-ultimate-cakephp-bootstrap-technique/">the technique</a> involves tricking the Dispatcher into not rendering based on the $_GET values by making it think that it's being asked for the favicon.ico file.
</p>]]></description>
      <pubDate>Tue, 15 Aug 2006 07:19:54 -0500</pubDate>
    </item>
  </channel>
</rss>
