Here's what was popular in the PHP community one year ago today:AjaxLine: Best Joomla! Extensions - March 2010
Eric Bannatyne's Blog: Simple CRUD With CodeIgniter
Manuel Pichler's Blog: Howto create custom rule sets for PHPMD
Hasin Hayder's Blog: Complete oAuth script for Twitter and LinkedIn using PECL oAuth Extension
Ibuildings Blog: Migrating a dev team to an OO team (Part 2)
Brandon Savage's Blog: Caching For Efficiency With Zend Framework
Squirrel Hacker Blog: PHP DateTime is missing methods in 5.2...
Recently I saw some weirdness in an existing application when I upgraded a PECL module that the application depended on. To figure out if that really was the problem, I wanted to downgrade the module to its previous version. There is no opposite command to "upgrade" but you can instruct pecl to install a specific version of a module, using the -f switch to force pecl to overwrite newer modules.
For me the problems were caused in the switch between default functionality in...
I'm officially stopping development for my SabreAMF and Dropbox php library. I'm using neither myself anymore, which is detrimental for my interest and time I devote. So I felt like it's better to make it official.
I'm hoping for both projects they get forked and picked up by other people. I'm happy to transfer control of the sites to a different developer, if he or she can show good coding skills and some dedication. Dropbox-php has a mercurial repository so it's easy to clone / fork, and I just...
In my love affair to always be a bit verbose it seems like some key points (no Java requirement in the final version for example) were made clear enough. So here is a short summary:
all key infrastructure pieces exist now but still need some polish and tuning
the goal for the final solution is to be considerably easier to create a custom CMS solution on top of the CMF than using Doctrine ORM/ODM straight
the final solution will have no non PHP dependencies, aka most likely we will even support just...
Devis Lucato has put together a new post to his blog showing how to use the Cuke4PHP tool to use Cucumber-style BDD (behavior-driven development) testing in your development.Cucumber is a Behavioural Driven Development framework written in Ruby. Using a wire it allows to write BDD steps in PHP to test PHP applications. Cuke4php is in fact a wire protocol implementation of Cucumber written in PHP.You'll still need to have Cucumber (Ruby) installed on your testing system, but pulling in the Cuke4PHP tool...
There's no shortage of PHP template engines and they're all very similar, often differing only in implementation details and support for specific features. They all serve the same purpose: that of functionally separating a Web application's user interface from its business logic, and thereby enabling developers and interface designers to work on the same application without getting in each other's hair.
On SitePoint.com today introducing you to a lightweight, powerful framework that's recently had a lot of buzz around it - CodeIgniter. In this new tutorial they introduce you to the framework and help you create a new controller and view.As a web developer, you've probably found yourself in the middle of a PHP-based project where you can't help but feel you're heading inevitably towards a Fisher Space Pen of your own. You're bogged in an ocean of code, not all of it bug-free, some of it superfluous, much...
php|architect, the people behind the php|tek confernece, have announced a new training event they're holding in Austin to help you hone your OOP skills in a day-long class.On Tuesday we launched a new initiative called php|architect Live! - a full-day, in-person training course that gives you practical and in-depth knowledge of a specific topic. But there is more: we don't want our Live! events to be "just training courses." We want them to be intimate learning experiences.As mentioned, their first event...
On PHPBuilder.com Jason Gilmore has posted another article in his series looking at lightweight frameworks. In this latest article he looks at the PHP Fat-Free Framework, a PHP 5.3 framework the comes bundled in a single 55KB file.If you're keen to start capitalizing upon the great framework-oriented features you've heard so much about but aren't yet ready to invest the significant time required to master one of the more involved solutions, consider investigating one of the lightweight solutions such as...
Ibuildings is proud to organise the fifth Dutch PHP Conference on May 20 and 21, plus a pre-conference tutorial day on May 19.
Both programs will be completely in English so the only Dutch thing about it is the location.
Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks.
On DZone.com today there's a new post from Chris Shiflett sharing some timeless advice from an older copy of a PHP Quick Reference (published in 2009) about performance and security.While cleaning out my desk, I found an old copy of a PHP Quick Reference I helped make a few years ago. On the front page are a few performance and security tips that I thought I'd share. (Performance tips are from George Schlossnagle.)Performance tips include profile early/profile often, cache when possible and don't...
Cyber MySQL PDO
Simple Zend View XSLT
PHP Proxy Checker
In my Beyond Frameworks talk, I explained how a component-based architecture can help answer some of the important (i.e. expensive!) questions you might face when creating long-lived apps that rely on a PHP framework. In this series of blog posts, I'm going to look at how to go about creating and working with components.
I'm now going under the bonnet of our components, and looking at the different file roles that the PEAR installer expects to find when we distribute our component as a PEAR-compatible...
The Voices of the ElePHPant podcast has released their latest interview with a member of the PHP community. This time it's with Chris Hartjes.Cal's "three questions" for Chris center around some of his experience with frameworks:
Are frameworks a good thing or a bad thing for PHP developers?
If you could talk to the heads of all of the major frameworks, what would you tell them?
What advice do you have for those new to PHP when selecting a framework?
You can listen either through the in-page player, by...
After running away screaming from Zend_XmlRpc we migrated of our internal webservices are RESTful nowadays - which implies that we make heavy use of HTTP status codes and so on.
On the PHP side of things we implemented almost all of those webservices using the Zend Framework where some parts are replaced by in-house replacements (mostly stripped-down and optimized versions equivalents of Zend_Foo) and a couple nifty PEAR packages.RESTful - how does it work?Building a RESTful API means to adhere to the...
Vance Lucas has tossed his hat into the ring in the debate about private versus protected scope in PHP projects with this new post to his blog.The age old private vs protected debate has been re-ignited in the PHP community recently following the decision of Doctrine2 and Symfony2 to make all class methods private until there is a very clear and proven reason to change them to protected or public. The intention is a good one - to ensure they are providing a clear and stable API through intentional and...
In a recent post to his blog Ian Barber looks at applying Benford's Law in PHP to determine if the dataset you're working with is "real" or not.Benfords Law is not an exciting new John Nettles based detective show, but an interesting observation about the distribution of the first digit in sets of numbers originating from various processes. It says, roughly, that in a big collection of data you should expect to see a number starting with 1 about 30% of the time, but starting with 9 only about 5% of the...
The CatsWhoCode.com blog has a new post today with what they call super useful PHP snippets that could help you out in a pinch.Having the right code snippet at the right time can definitely be a life saver for web developers. Today, I've compiled 10 really awesome PHP code snippets that will, I hope, be very helpful in your forthcomming developments.Their list of ten includes bits of code for:
Super simple page caching (file-based)
Convert seconds to time (years, months, days, hours...)
From time to time I trip over APIs, which do not allow me to control the
object lifecycle of the used objects myself. Let me discuss why this is a bad