Mike Bernat is a big fan of XDebug and has posted about why he thinks installing it is the best decision you'll ever make.
I finally got around to installing Xdebug on my development environment and have decided it is the best thing since sliced bread. Installation was a breeze and the information it provides when something has gone wrong is incredibly helpful during debugging.
He explains what the software does, how it can help you and your development - even how to get it up and running on your PHP install (seriously, it's drop dead easy...why haven't you installed it yet?). He also points to the tutorial on the Zend Developer Zone introducing the powerful tool.
On the SaniSoft blog Tarique Sani has posted about (and made available for download) some code sniffs for the CakePHP framework. Some problems arose with some of the naming that the framework uses, but with some "tinkering around"...
[It became] apparent that I had to have my own set of Cake sniffs to manage this but a separate standard just for this seemed an over kill and the simplicity of code made it kind of fun to add more standards which I liked but were in different set of sniffs.
You can grab the whole list of sniffs from their downloads. They implemented them as a pre-commit hook on their SVN server even so that developers could not violate the coding standards when they submit their code.
Lukas Smith has just become the co-release manager for the much anticipated next stable release in the PHP 5.x series - PHP 5.3.
Its quite an honor and a challenge. [...] We hope together we have enough brain cycles to push put what is probably the biggest minor release in the history of PHP. Just take a look at the todo list and the scratchpad detailing all the additions.
He also asks for any help they can get to help identify all of the changes for the new release and to do the usual testing against the current CVS version with applications to see if there's any breakage. The more you test now, the less that has to be fixed post-release - so get out there and get testing!
Doug Brown has posted a new entry to his blog about how the Zend_Cache component of the Zend Framework has saved him some money.
He and his site were taken offline by his own hosting company because of one little detail - the limit on usage for the shared server was 3% and his site was using 30%. Going through his logs, he found the culprit - a "too many connections" message from MySQL due to the number of requests.
I'll admit, I was in a huge hurry to get this project done, so I wasn't thinking about the long term effects. Needless to say, I wasn't caching my MySQL query results. I know, tisk tisk.
He added a new private method to his class (using Zend_Cache to store the date) and dropped the call into his controller to pulled the cached info whenever it needed it.
On the Paranoid Engineering blog, there's a recent post with a "CMS battle" of sorts between two of the more popular PHP-based content management systems out there - Drupal and Joomla.
It's hard to choose which one to use without trying them out. As usually, there are more options - home grown custom programming or even building your own CMS (which I was once stupid enough to do). Programming from scratch is always fun and beneficial for your skills, however, if you need things up and running in no time or you don't do (or don't want to do) any programming, using a CMS is the way to go.
His vote is for Drupal but he's included a long list of specs comparing the features of both so you can decide for yourself on which is the better fit.
Stefan Priebschrecently posted about his struggles with creating a custom coding started with the PHP_CodeSniffer package:
In CodeSniffer, a coding standard is basically represented by an empty class that extends PHP_CodeSniffer_Standards_CodingStandard. I could not get the CodeSniffer to find my coding standard, though, and found the documentation lacking about where to put it, how to name it, and how to refer to it in the --standard switch.
After an email to Greg Sherwood (developer of the package) Stefan figured out his issue and has shared the solution in this post (step by step).
The IBM developerWorks site has a new tutorial posted (registration/login required) talking about image creating in PHP using the GD library.
The purpose of this tutorial is to show you how to get started with the GD library and to provide a variety of techniques you can apply to your Web-page coding. The tutorial doesn't cover every GD function, but it teaches you the basics. The Resources section provides Web sites where you can learn more about using the GD library.
They go through the creation of sample images, working with gradients and lines, adding text, saving the image data out to a file and how to work with existing graphics to modify them.
the php|a Staff writes: We're proud to announce the release of Cal Evan's php|architect's Guide to Programming With Zend Framework, the latest release in our Nanobook Series.
Cal's book offer in-depth technical coverage of Zend Framework using a practical approach, rich with examples and designed for a step-by-step learning process.
Curious about the book but not sure if it's for you? Try the free sample chapter is available from our wwwebsiteThe book is available in both PDF and print editions directly from the php|architect website.
Elizabeth Naramore writes: A |press release on the Sun website today announced the deal between Sun and MySQL AB.
With MySQL, Sun will have the ability to deepen its existing customer relationships and create new opportunities with companies seeking the flexibility and ease-of-use of open source systems.
Following completion of the proposed transaction, MySQL will be integrated into Sun's Software, Sales and Service organizations and the company's CEO, Marten Mickos, will be joining Sun's senior executive leadership team. In the interim, a joint team with representatives from both companies will develop integration plans that build upon the technical, product and cultural synergies and the best business and product development practices of both companies. Certainly something to keep your eyes on if you're a MySQL user. If you'd like more info, you can read the full PR-speak press release or there is a press conference scheduled for later today which you can participate in, if you're so inclined.
Elizabeth Naramore writes: A new PHP framework has been released (well, almost), called “Simplicity.” Per John Le Drew at the Simplicity site,
The Simplicity PHP Framework is a brand new application framework and development environment comprising a solid MVC OO framework with a powerful web-based application administration and development interface. I have been working on this project for the best part of 3 years and it is now nearly ready for it's first initial release. What I really need now is to get the code out there and have people play with it look at it, prod it and poke it till it breaks in all ways it could break.One interesting thing about this framework that sets it apart from the others, is its tight integration with Ext. As the Ajaxian site eloquently states:
One important piece is the Ajax admin console, developed in Ext that allows a developer will be able to configure all aspects of their application via the Ajax interface, this includes database modeling and the creation of stub controllers, and even the addition of predefined actions to speed up development.If you're interested in taking a look at this project, you can find the project details at Launchpad. Looks like they're also looking for developers to help test and contribute to the project, which you can learn more about at the Simplicty site as well.
Elizabeth Naramore writes: A post on the Joomla! site announces the immediate availability of 1.0.14RC1 for download and testing.
Several security issues have been discovered and addressed for this release. While the required changes are not significant, the number of impacted files are significant and we need your help. Before this release is declared stable we need to ensure that it works as well for you as it does for us.If you're a Joomla! user, you're encouraged to give this version a whirl and report back any obstacles you might have encountered. You can get the full download, or patch your existing install, or if you'd rather, you can read the full changelog.
Elizabeth Naramore writes: An announcement on the php.net site lets us know that DCPHP is looking for speakers! The conference will be held from June 2 -4, 2008, and will be at George Washington University's Cafritz Conference Center in Washington, DC. Deadline for submissions is March 15, and speakers will be notified by April 2, 2008. For a list of topics they're interested in or for more information about the conference, you can visit the DCPHP Conference Website.
Elizabeth Naramore writes: An announcement on the PEAR website announces that XML-RPC has been disabled at pear.php.net.
Information is now served via REST files at pear.php.net/rest. If you are using a PEAR version earlier than 1.4.0, you will need to manually upgrade PEAR using direct URLs. To upgrade to the latest PEAR, you can either use go-pear (pear.php.net/go-pear) or upgrade using direct URLs. For more information, you can visit the pear.php.net site to read the full announcement.
Elizabeth Naramore writes: Derick Rethans, the release manager for PHP 4, has let us know that the final normal release of PHP 4 (4.4.8) is now available for download. Regarding the release, Derick writes:
It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last normal PHP 4.4 release. If necessary, releases to address security issues could be made until 2008-08-08.If you would like to, you can see the changelog, the full release announcement or of course, go straight to getting the download.
The php|architect Staff writes: We're happy to announce the upcoming release of php|architect's Guide to Programming with the Zend Framework, the latest release in our php|architect Nanobooks series.
Pre-order and save! Pre-order php|architect's Guide to Programming with the Zend Framework today and save 10% off the cover price—plus, get free shipping to North America!Written by DevZone editor Cal Evans, our new book is due for publication on January 18th and covers a wide range of topics:
Getting started
The Model
The Controller
The View
Data access
Web services
Authorizations
Exceptions and error management
Rich Internet Applications
Hacking the framework: secret classes and advanced functionality
The php|architect Stuff... I mean, Staff writes: Seasons greetings everyone! The first of two surprises from us today is a great opportunity to combine our recent drop of all DRM protection on our PDFs with an awesome 30% discount on our single-issue prices to stock up on all your favourite past issues of php|architect.
For a very limited time (read: a few days), all single issues are priced at $3.49 each—a 30% discount off our regular price (and a price we haven't seen in years!)Take advantage of this offer to php|a collection, and enjoy a great holiday on us! You can start shopping from the the current issue, our Issue Archive, or your account page (hint: click on “Get your issues”).
The PHP development team would like to announce the immediateavailability of PHP 5.2.6. This release focuses on improving the stability ofthe PHP 5.2.x branch with over 120 bug fixes, several of which are security related.All users of PHP are encouraged to upgrade to this release. Further details about the PHP 5.2.6 release can be found in the release announcement for 5.2.6, the full list of changes is available in the ChangeLog for PHP 5.Security Enhancements and Fixes in PHP 5.2.6:Fixed possible stack buffer overflow in the FastCGI SAPI identified by Andrei Nigmatulin.Fixed integer overflow in printf() identified by Maksymilian Aciemowicz.Fixed security issue detailed in CVE-2008-0599 identified by Ryan Permeh.Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.Properly address incomplete multibyte chars inside escapeshellcmd() identified by Stefan Esser.Upgraded bundled PCRE to version 7.6Update (May 6th): The Windows installers were missing the XSL and IMAP extensions.Update (May 3rd): The Windows archives were missing the XSL and IMAP extensions.
The PHP team is once again proud to participate in the Google Summer of Code. Ten students will "flip bits instead of burgers" this summer: Zend LLVM Extension by JoonasGovenius, mentored by NunoLopesPHP Optimizer by SamuelGraham Kelly IV, mentored by DerickRethansPhD (PHP Docbook) Project by RudyNappée, mentored by HannesMagnussonReplace auto* with CMake by Alejandro LeivaRojas, mentored by Pierre A.Joyegsoc:2008 - XDebug by Chung-YangLee, mentored by DavidCoallierRewrite the run-tests.php script by CesarMontedonico, mentored by TravisSwicegoodPHP Bindings for Cairo by AkshatGupta, mentored by AnantNarayananAlgorithm Optimizations by MichalDziemianko, mentored by ScottMacVicarPECL, Website Improvements by BarryCarlyon, mentored by Helgi ÞormarÞorbjörnssonImplement Unicode into PHP 6 by Henrique do NascimentoAngelo, mentored by ScottMacVicarUpdate (May 11th): Unfortunately Nicholas Sloan had to drop out of the program, but he will be replaced by Rudy Nappée working on the same application.
The PHP-QA team would like to announce the TestFest for the month of May 2008. The TestFest is an event that aims at improving the code coverage of the test suite for the PHP language itself. As part of this event, local User Groups (UG) are invited to join the TestFest. These UGs can meet physically or come together virtually. The point however is that people network to learn together. Aside from being an opportunity for all of you to make friends with like minded people in your (virtual) community, it also will hopefully reduce the work load for the PHP.net mentors.All it takes is someone to organize a UG to spearhead the event and to get others involved in writing phpt tests. The submissions will then be reviewed by members of php.net before getting included in the official test suite. Please visit the TestFest homepage to get additional details on the TestFest on how to get involved, either as a UG or by setting up the necessary infrastructure.
Once again we are glad to announce that we have been accepted to be a Google Summer of Code project. See our program for this year's GSoC.We would like to take this opportunity to say thanks to Google Inc. for this privilege to participate once again, and would like to invite everyone to look at our list of ideas: http://wiki.php.net/gsoc/2008. Students are of course more than welcome to come up with their own ideas for their proposals and we will consider each and every application that we will receive.So once again, thanks to everyone who is involved in this magnificent journey and we hope to see many of you great students and open source passionate join us in our most enjoyable Google Summer of Code projects.
The PHP development team would like to announce the immediate availability of PHP 4.4.8. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last normal PHP 4.4 release. If necessary, releases to address security issues could be made until 2008-08-08. Security Enhancements and Fixes in PHP 4.4.8:Improved fix for MOPB-02-2007.Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner.Fixed integer overlow in str[c]spn().Fixed regression in glob when open_basedir is on introduced by #41655 fix.Fixed money_format() not to accept multiple %i or %n tokens.Added "max_input_nesting_level" php.ini option to limit nesting level of input variables. Fix for MOPB-03-2007.Fixed INFILE LOCAL option handling with MySQL - now not allowed when open_basedir or safe_mode is active.Fixed session.save_path and error_log values to be checked against open_basedir and safe_mode (CVE-2007-3378). For a full list of changes in PHP 4.4.8, see the ChangeLog.