The Symfony project’s blog has a new post today about a big move that one of its resources it making – the framework’s plugins are getting their own section.
I am pretty happy to announce that I have just deployed a new version of the symfony project website with a brand new “Plugins” section (look at the top menu entries) to replace the Trac plugin management system.
The new section has a listing of all of the available plugins (can be filtered) and dedicated pages for each of them with things like license, version and release information. You can also search the plugins based on keywords and authors. Developers adding their plugins have a full admin interface and uses the Trac accounts to manage access.
If you didn’t get a chance to be a part of the live P3 podcast that marked the end of Sean Coates’ time with the php|architect crew, you can check out the audio of it in the latest show on the podcast feed.
This is a recording from the P3 Live! Video/podcast we recorded on Tuesday July 29, 2008. Over 50 people joined Paul, Beth and Sean to watch the video stream and listen live. We even managed to cover some news, and talk to some people.
Special thanks to Evan Prodromou from http://identi.ca and Terry Chay for taking our phone calls, and especially to everyone who joined us for the party.
You can either subscribe to their feed and get it automatically or you can grab the mp3 directly.
Daniel Cousineau posted copies of his submissions to the PHP Women group’s Article Contest (Best Practices) that finishes up today.
I made a few posts to the PHPWomen.org Article Competition and felt I should share them here.
His three submissions are:
There’s still (a little) time to get your own submission in to the contest to get over and submit your article for your chance to win a copy of Zend Studio and maybe get your article featured in Linux Pro Magazine.
Antony Dovgal has a quick post today about a PECL extension that makes for quick and easy full-text searching on standard SQL databases.
As some of you might have noticed, I’ve been a bit busy lately creating new PECL extension - sphinx. The extension provides an interface to a feature-rich fulltext search engine Sphinx written by Andrew Aksyonoff. We (Andrew and me) made our best to keep the extension as compatible to the pure-PHP API (shipped with Sphinx) as possible in order to make the transition easier.
The PECL page has already been created as well as a page in the manual for how it works. He also briefly mentions the installation (including teh required libraries).
Arnold Daniels has posted some thoughts on a topics recently featured in a cover story by php|architect – EAV modeling.
I had seen this db structure in other project, but didn’t know that it was called EAV. For those who don’t read php|architect, EAV describes a method of saving a large set of attributes, only some of which apply to an individual entity. Normally you would create a table, with a row for each entity and save each attribute in a column. With EAV you save each attribute as a row.
He suggests two ways to do the modeling – the more “common” way and an alternative way that splits up the data types to make querying simpler (into scalars and arrays). A sample database structure and example query for it are included.
For a recent REST web service project, Lorna Mitchell had to put together a server for the remote clients to use. She started with a GET request then moved to handling a POST request then to a PUT request – that’s where the difficulty came in:
PHP doesn’t have a built-in way to do this, and at first I was a little confused as to how I could reach this information. It turns out that this can be read from the incoming stream to PHP, php://input.
Pulling from that stream gave her the raw data she needed (nicely urlencoded too) that she could parse out and use. She includes a simple example that has a check for the REQUEST_TYPE in the _SERVER superglobal to see how the request should be handled (PUT versus GET).
Andi Gutmans has pointed out an effort that Adobe has proposed that would go a long way towards adding AMF support to the Zend Framework.
This ZF component will allow for client-side applications built with Flex and Adobe AIR to communicate easily and efficiently with PHP on the server-side. Leading the design of the component for Adobe is Wade Arnold. Wade already has a track record of bringing the Adobe RIA technologies to PHP as a result of all of his work on AMFPHP.
Andi sees this as a next logical step to helping the framework become more “Enterprise oriented” and to compliment the recent Dojo integration. The plan is to release it with the 1.7 version of the framework, but the actual timing may vary due to the approval process.
In this new post from Lars Strojny, there’s a discussion of an “antipattern” – using the constructor for more than it was intended, the “verbose constructor”.
Constructors are often used to shortcut dependency injection and parameter passing on instantiation. This is a valid practice and often leads to shorter code. [...] Instead of creating a new instance of “Money” and calling three setter, everything can be done compactly in the constructor. [...] So for the money object this works pretty well. The code is easy to read, but wait, the first argument can be grasped easily, the second too, but the third? It is not too obvious that it is a divisor is passed.
He compares three different ways to get the data into the class – the already-mentioned parameters in the constructor, passing an array into the constructor and using full getters/setters to push the data into the right places (with fluent interfaces even!).
PHP.net has posted a wrapup of this year’s TestFest and the great progress that was made to bring the language development up to the next level.
Overall 158 tests have been submitted as part of TestFest 2008 since the launch of the TestFest submission site by 30 different people from people all over the world. Actually this is not counting the various submissions by existing core developers, who also took this opportunity to add some more tests. This has actually increased total test coverage by about 10%.
It also mentions Felix De Vliegher who, because of his large volume of tests (and quality of them), was granted commit rights into the PHP repository to add his in himself. The list of elePHPant winners is included as well. You can also still submit tests through the TestFest submission site (just not for any of the rewards).