Planet eZ publish
As Paul Jones notes, his new tutorial introducting developers to the Solar application framework has been posted over on php|architect's A/R/T article repository.
The Solar library and application framework can make your development efforts faster, easier, more secure, and more structurally predictable. This article, by Solar's creator Paul M. Jones, talks about the foundational concepts underpinning the technical aspects of the Solar project.
The tutorial covers some background on the project, the installation, a brief mention of naming standards, and code examples (including a sample of construction and configuration).

Cal Evans is back today with his day two recap from the O'Reilly Open Source Confernce going on now in Oregon. Day two is the first official day of the conference and had much more going on than the day before.
Things really started to pick up steam yesterday with regards to PHP. So here I sit in the first session for everybody. As I sit here and jam to the oldies, watch slide after slide on the many multimedia screens and wait for Nathan Torkington to take the stage, I'll take the opportunity to give you a fly-over of yesterday's activities.
He mentions
On PHPBuilder.com today, there's a new article introducing yet another valuable PEAR package - PEAR::Validate.
Poor validation is a key weakness many scripts are guilty of, enabling security exploits. The Validate package can be used to validate any data, and is especially useful for validating user input.
There are also related packages that apply specific validation rules according to geographic location. I don't cover these packages in this article, though once you've grasped the basics of the main Validate package, using these won't present much of a challenge.
They introduce the package by showing a quick install of it, including dependencies. From there, it's examples of different validation types:
And it wouldn't be a tutorial without some code, so for each example there's a snippet or two and a breakdown of its usage.

These releases addresses an important bug that unfortunately was introduced in the 3.8.2 (and 3.6.9 and 3.7.7) releases. In addition, two new security-related bugs of medium severity have been addressed in these releases.
The Zend Developer Zone (with Cal Evans currently at OSCON) spotlights George Schlossnagle's talk, "High Performance PHP".
George Schlossnagle gave a talk on "High Performance PHP" which was very good. At OmniTI, George works with a lot of different clients helping them resolve bottlenecks and squeeze the most out of their applications. This experience along with the collective knowledge of OmniTI gives him unique insight into ways to speed up PHP applications. I only got to sit in on a small portion of his session but even so, I was able to get some good tips.
Cal opts for more of an overview than a summary (the talk/session was about 3.5 hours long), so he includes the "10 Best Practices" George shared to help the performance of your applications.
Included in the list are:
DevShed is wrapping up their "Overloading in PHP" series today with this last part - "Overloading Classes in PHP5".
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.
They look first 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.
Vlado (on Dikini.net) has updated his patterns pages with several more new methods, brining the total up to around 20 different types.
I guess I'm on the down form my design pattern tantrum hit. I updated the collection so it now has about 20 of them, not all can be considered "officially" design patterns, but to be honest I don't really care. I'm very well aware that I ignore the existance of boundaries between design patterns, idioms, techniques, etc.
The collection now includes:
Encryption can be a difficult issue to comprehend, inside of PHP or not. Thankfully, there are resources out there that can help simplify things and bring them down to where they're really useful. This new tutorial from the IBM developerWorks site today is just such a resource.
In this increasingly virtual online world, you have to be careful to protect your data. Learn the basics of encoding and encrypting important bits of information, such as passwords, credit card numbers, and even entire messages. Get an overview of what it means to encrypt and decrypt information, as well as some practical examples involving passwords and other data, using PHP's built-in functionality.
They start off where any good encryption article should - with a primer in cyrptography. You can't understand the advanced without a good grasp on the basic. Using this knowledge, they start to work up their form, a simple username and password validation system.
They provide all of the code you'll need to build the form, and even intorduce you to the crypt() function. A bad use of this functionality is also illustrated. Of course, encryption is only half the fun, so they also include an example of decrypting the same information.
