Marco Tabini's Blog: Now showing: PHP's true colours
519884
Marco Tabini (of php|architect) has posted some thoughts to his blog about the PHP4 end-of-life announcement and its relations to the current push to go PHP5 - mainly how it relates to hosting providers.   I'm sure that a large number are owners of small hosting firms - which, by far, provide the vast majority of PHP-powered websites that Netcraft carefully tracks for us - that sell cheap shared hosting. [...] If you provide shared-hosting plans, it's likely that your servers are still running PHP 4. Upgrading to PHP 5 is a logistical nightmare for two reasons: first, you don't necessarily know that you'll be able to properly set up and secure your systems; second, you don't know that your customers' applications will keep on running.   Both reasons can cause very different kinds of hassles for the hoster, especially when it comes to their customers. As Marco puts it "hell hath no fury like a customer scorned". When things are going smoothly, everything's good, but the second that you try to explain that the update is what's good for them, all they see are things breaking and freak out.   He suggests only one real solution - make the move and tell the customers now that things are changing. Help them all you can (with information about updated software and resources) but ultimately it's up to them to make the change.
541647
On Codewalkers.com today, there's a new tutorial posted concerning some of the looping features PHP has to offer.
732440
The International PHP Magazine has posted results from their latest PHP community poll as voted on by visitors to their site. The question for this poll asked developers what they thought, of the choices on the list, was the most common mistake that PHP developers make.   Coming in at number one by an overwhelming lead was "Not escaping entities and SQL input" (a definite problem indeed) with the next highest option, "Not using a Framework" a full twenty percent lower. The next two options were closer (descending) - "Using old PHP versions" and "No or little use of Object Orientation".   There's a new poll this week for your consideration - this time asking which stage, of the five options, should come first in the development cycle of a typical content management system. Head on over and cast your vote today!
176495
On his blog today, Ilia Alshanetsky has posted an update on one of the last issues before PHP 5.2 is released - the Filter extension - and some of the problems that have surrounded it.    If you have been monitoring PHP's internal mailing list you probably know that over the last few weeks we've been locked in a stalemate in regard to the API revision of the filter extension brought to light by Dan from our documentation team. This is also the reason why despite this being early October PHP 5.2 is still not out.    Fortunately, after mediation with Derick and Pierre the two protagonists of the filter conundrum a compromised was finally reached.    He mentions the commit that was made to include it into the current build, and no complaints have been lodged against it. He also comments that, with this isse out of the way, developers can look for PHP 5.2RC5 out as soon as this Thursday (10.05.06). Ilia also gives a brief tour of the filter extension's functions.
725571
DevShed has a new article posted today covering some of the new features in PHP5.
325308
This week's edition of PHP Magazine's PHPBarnstormer has been released - Issue #22.
313545
Luke Welling takes a humorous look at something he misses in PHP - register globals being set to on.    I am aware that there are some things so shocking that you are not supposed to say them in polite company [...] so confronting that they are best kept to yourself regardless of how strongly you believe them. I have a similarly shocking sentiment that I feel I have to share.   I really like register_globals in PHP.    He reminicies about the days gone by of being able to assume that register_globals is turned on, the days of simpler, lighter code that's even easier for the newbies to get into. Anyone for a tshirt?
631171
Marco Tabini's weblog has a new, quite extensive posting about the state of PHP, it's "enterprise readiness", and what's missing in the PHP world to really get developers up to where they need to be.
470718
In a new posting from Harry on Dynamically Typed today, he talks about PHP showing the first signs of a COM for PHP.
411598
As per this announcement on the PHP-Coding-Practices.com site today, they've launched a new PHP Links Directory as an offshoot of their site.   It's finally there! PHP-Coding-Practices.com's own PHP Link Directory, which saw its first light today at 12am GMT as a cause of a poll we had two weeks ago. It will feature only the best of the best links to all good php resources. My plans are to form an excellent collection of links for all topics that are important for us: frameworks, team programming, language-specific stuff, development tools, performance & optimization, refactoring, etc.   The directory is broken up into several categories including "Agile Software Development", "PHP Community Sites" and "Refactoring". Currently, there's only one category that has a link in it - CakePHP for Felix Geisendorfer's blog ThinkingPHP and Beyond.
449834
Sebastian Bergmann has posted the results of some benchmarking on the compilation he's done on the branches of PHP from version 3.0 all the way up to 5.3-CVS.   As people keep asking me for an update to my previous benchmarks (PHP / GCC / ICC Benchmark, PHP 5.1 / GCC Benchmark (Update), and PHP 5.1 Performance, I quickly ran a new benchmark today.   He rendered the results out into a series of charts defining the number of total seconds taken for the compile and how long each of the components took. It's impressive to see how much of a jump there was between the 3.0 series and 4.3.   He also includes his compile settings (and machine information) as well as the numbers for the results if you'd like to graph them out yourself.
49331
Marco Tabini (of php|architect magazine) has posted some of his thoughts on why PHP just might be the "new Java" in the upcoming year.   Historically, PHP has been developed following the scratch-an-itch method [...]. This development process makes for some haphazard functionality, and has, in the past, been the source of many annoyances that need to be handled with extreme care.   He does mention some of the good things that have come out of this process like OOP in PHP4, SimpleXML functionality and type hinting but warns that if things swing too much the other way (planning out everything, only adding things by committee) that PHP might swerve towards a dangerous precedent - the Java community's mentality.
513245
Paul Meagher has just submitted the link to his latest article over on the IBM DeveloperWorks website - Conduct Web experiments with PHP: Part 1.
360849
On the Zend Developer Zone today, there's this new tutorial that looks at making the move from PHP4's object-oriented programming up to the "more complete obejct model of PHP5" - specifically with the Decorator design pattern.   While working on a project I realized one particular solution was a pretty good way to demonstrate the decorator design pattern together with some of PHP5's features, including abstract classes, interfaces, type hinting, the final keyword and the visibility of properties and methods. This article is intended for those of you who, like myself, are moving from object-oriented programming, including some use of design patterns, in PHP4, to the more complete object model of PHP5.   He sets up a scenario about the development of an online pizza ordering system to show how to "decorate" a pizza with each of the toppings on a list (instead of having to list out every pizza in every possible topping combination). Of course, all of the code is included and explained so you understand exactly what's happening. Finally, there's a demonstration of its usage - a simple call that grabs the stock level/name/cost of each of the items in stock (pizza combinations).
656278
From the PHP-Coding-Practices.com website today, there's a new post that, using a tip from this article on BarelyFitz, shows how to control CSS information with PHP.   Today I stumbled upon a cool article that explains how one can control one's CSS colors via PHP to former relative shades. How is this done I hear you asking? Just look at the following code.   His example uses the tutorial's csscolor class and shows how to implement it with a base color and a highlight color and use it to generate variations of the same shades.
190663
Joshua Eichorn points out an interesting project in a new post to his blog today - quercus.   I found an interesting project, quercus that compiles PHP to Java Bytecode allowing it to run ontop of the Java Resin Application Server. It has a couple neat features, one being PHP6 compatible unicode support, the other being easy integration between Java and PHP code.   He gave it a shot and notes that the performance seems decent and allows you to compensate for some of the differences in the PHP API it supports and what you're using via a Java class. According to their site:   Quercus is Caucho Technology's 100% Java implementation of PHP 5 released under the Open Source GPL license. Quercus comes with many PHP modules and extensions like PDF, PDO, MySQL, and JSON. Quercus allows for tight integration of Java services with PHP scripts, so using PHP with JMS or Grails is a quick and painless endeavor.   It includes several extensions too, including the JSON library, APC, MySQL and Oracle support, and PDF functionality. Check out their Getting Started guide, documentation, or their wiki for more information.
344199
DevShed concludes their series on using the GD graphics libraries in PHP with thie new article focusing on the use of some of the simple filtering functionality the library has to offer.   In this article I'm going to demonstrate how the GD library can be used to apply some basic graphic filters (yes, like Photoshop, but much simpler) by utilizing the versatility of a brand new function called "imagefilter()". As you'll see shortly, with this function it is possible to reverse, blur and highlight the colors of a determined image, as well as convert it to its grayscale version, among other things.   They use the imagefilter function in a few different examples - altering the colors in an image, working with contrast and brightness and various other filters (like smoothing, embossing, blurring and colorizing).