<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: php5</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/php5.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2007-12-29T11:49:15+00:00</updated><author><name>Simon Willison</name></author><entry><title>Hacky holidays on OS X</title><link href="https://simonwillison.net/2007/Dec/29/adactio/#atom-tag" rel="alternate"/><published>2007-12-29T11:49:15+00:00</published><updated>2007-12-29T11:49:15+00:00</updated><id>https://simonwillison.net/2007/Dec/29/adactio/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://adactio.com/journal/1395"&gt;Hacky holidays on OS X&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Jeremy Keith documents how to get PHP 5 and Apache 2 virtual hosts running on Leopard.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/apache2"&gt;apache2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/leopard"&gt;leopard&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/macos"&gt;macos&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/virtualhosts"&gt;virtualhosts&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="apache2"/><category term="jeremy-keith"/><category term="leopard"/><category term="macos"/><category term="php"/><category term="php5"/><category term="virtualhosts"/></entry><entry><title>J4P5: Javascript For PHP 5</title><link href="https://simonwillison.net/2007/Jul/12/j4p5/#atom-tag" rel="alternate"/><published>2007-07-12T22:24:58+00:00</published><updated>2007-07-12T22:24:58+00:00</updated><id>https://simonwillison.net/2007/Jul/12/j4p5/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://j4p5.sourceforge.net/"&gt;J4P5: Javascript For PHP 5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“J4P5 is a JavaScript interpreter written in PHP 5, that allows to run untrusted scripts in a sandbox on your server. It aims to implement most of Ecma-262 3rd edition.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://twitter.com/tommorris/statuses/147119642"&gt;Tom Morris&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ecmascript"&gt;ecmascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/j4p5"&gt;j4p5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="ecmascript"/><category term="j4p5"/><category term="javascript"/><category term="php"/><category term="php5"/></entry><entry><title>GoPHP5.org</title><link href="https://simonwillison.net/2007/Jul/8/gophporg/#atom-tag" rel="alternate"/><published>2007-07-08T10:08:50+00:00</published><updated>2007-07-08T10:08:50+00:00</updated><id>https://simonwillison.net/2007/Jul/8/gophporg/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://gophp5.org/"&gt;GoPHP5.org&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A campaign to encourage a mass switchover from PHP 4 to PHP 5 on February 8th 2008, by co-ordinating both hosting companies and PHP projects.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/hosting"&gt;hosting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="hosting"/><category term="php"/><category term="php5"/></entry><entry><title>PHP: JSON Functions</title><link href="https://simonwillison.net/2006/Nov/3/php/#atom-tag" rel="alternate"/><published>2006-11-03T12:25:24+00:00</published><updated>2006-11-03T12:25:24+00:00</updated><id>https://simonwillison.net/2006/Nov/3/php/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://uk.php.net/manual/en/ref.json.php"&gt;PHP: JSON Functions&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Now bundled in PHP 5. A great way to move data from PHP to some other language.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="json"/><category term="php"/><category term="php5"/></entry><entry><title>Migrating from PHP 4 to PHP 5</title><link href="https://simonwillison.net/2004/Jul/14/migrating/#atom-tag" rel="alternate"/><published>2004-07-14T05:35:46+00:00</published><updated>2004-07-14T05:35:46+00:00</updated><id>https://simonwillison.net/2004/Jul/14/migrating/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.php.net/manual/en/migration5.php"&gt;Migrating from PHP 4 to PHP 5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A migration guide from the PHP manual.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://joseph.randomnetworks.com/archives/2004/07/13/php-50-released/"&gt;Joseph Scott&amp;#x27;s Blog&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="php"/><category term="php5"/></entry><entry><title>Zend PHP 5 Goodies</title><link href="https://simonwillison.net/2004/Mar/21/zendGoodies/#atom-tag" rel="alternate"/><published>2004-03-21T21:34:09+00:00</published><updated>2004-03-21T21:34:09+00:00</updated><id>https://simonwillison.net/2004/Mar/21/zendGoodies/#atom-tag</id><summary type="html">
    &lt;p&gt;Zend have quietly released a veritable treasure trove of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5 tutorials via their &lt;a href="http://www.zend.com/php5/"&gt;PHP5 InfoCenter&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-xmlphp.php"&gt;XML in PHP 5 - What's New?&lt;/a&gt; by Christian Stocker&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-SOAP.php"&gt;PHP SOAP Extension&lt;/a&gt; by Dmitry Stogov&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-sqlite.php"&gt;SQLite Introduction&lt;/a&gt; by Ilia Alshanetsky&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-tidy.php"&gt;Tidying up your HTML with PHP 5&lt;/a&gt; by John Coggeshall&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-dotnet.php"&gt;Com_dotnet&lt;/a&gt; by Wez Furlong&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.zend.com/php5/articles/php5-mysqli.php"&gt;Using ext/mysqli: Part I - Overview and Prepared Statements&lt;/a&gt; by Zak Greant and Georg Richter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href="http://www.php.net/tidy"&gt;Tidy functions&lt;/a&gt; look particularly useful, especially if you are interested in maintaining clean markup within your &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; applications.&lt;/p&gt;

&lt;p&gt;One thing that I would like to see addressed with the full release of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5 is the increasing fragmentation of the &lt;a href="http://www.php.net/manual/"&gt;PHP manual&lt;/a&gt;. The single online manual now covers every version of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; from 3 upwards, making it increasingly difficult to use effectively if you are targetting older versions of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt;. The Python site maintains archived versions of &lt;a href="http://www.python.org/doc/versions.html"&gt;previous documentation snapshots&lt;/a&gt;, making it easy to  refer to the documentation of the version of the language you are using. With the major changes between versions 4 and 5 of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; a similar approach could be highly beneficial.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zend"&gt;zend&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/><category term="zend"/></entry><entry><title>Migrating from PHP 4 to PHP 5</title><link href="https://simonwillison.net/2004/Feb/25/migrating/#atom-tag" rel="alternate"/><published>2004-02-25T20:46:36+00:00</published><updated>2004-02-25T20:46:36+00:00</updated><id>https://simonwillison.net/2004/Feb/25/migrating/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://docs.php.net/en/migration5.html"&gt;Migrating from PHP 4 to PHP 5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It’s getting closer...

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://dev.r.tucows.com/blog/_archives/2004/2/25/23029.html"&gt;The Farm&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="php"/><category term="php5"/></entry><entry><title>New PHP releases</title><link href="https://simonwillison.net/2004/Feb/18/new/#atom-tag" rel="alternate"/><published>2004-02-18T03:42:12+00:00</published><updated>2004-02-18T03:42:12+00:00</updated><id>https://simonwillison.net/2004/Feb/18/new/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://dev.r.tucows.com/blog/_archives/2004/2/17/20912.html"&gt;New PHP releases&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Joey reports on PHP 4.3.5 RC 2 and PHP 5.0 Beta 4

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://dev.r.tucows.com/blog/_archives/2004/2/17/20912.html"&gt;The Farm: The Tucows Developers&amp;#x27; Hangout :: New PHP releases&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;



</summary><category term="php"/><category term="php5"/></entry><entry><title>XML highlights for PHP 5</title><link href="https://simonwillison.net/2003/Dec/20/php5XMLHighlights/#atom-tag" rel="alternate"/><published>2003-12-20T23:44:53+00:00</published><updated>2003-12-20T23:44:53+00:00</updated><id>https://simonwillison.net/2003/Dec/20/php5XMLHighlights/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/"&gt;XML in PHP5: An in-depth look into advanced XML features&lt;/a&gt; (via &lt;a href="http://keithdevens.com/weblog/archive/2003/Dec/20/links" title="Links"&gt;Keith&lt;/a&gt;) does exactly what it says on the tin. Here are the bits that caught my eye:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/slide_22.html"&gt;HTML Support in ext/xml&lt;/a&gt; - PHP 5 can load in not well-formed HTML documents and create a DOM tree from them.&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/slide_24.html"&gt;XPath support&lt;/a&gt; - and it &lt;a href="http://slides.bitflux.ch/phpconf2003/slide_23.html" title="HTML Example"&gt;works with HTML&lt;/a&gt; loaded via the above.&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/slide_26.html"&gt;XML Validation&lt;/a&gt;, including support for RelaxNG! I wonder if they'll support compact syntax.&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/slide_16.html"&gt;Extending DOM Classes&lt;/a&gt; - this is really cool, and demonstrates how much more mature PHP 5's OOP support is.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unforuntately, my biggest criticism of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; remains: all of the above is supported using functions built in to the default namespace! The lack of a smart namespace system (like Python's modules) really gets in the way when you start trying to write reusable code or large applications.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/><category term="xml"/></entry><entry><title>XML in PHP5</title><link href="https://simonwillison.net/2003/Dec/20/xml/#atom-tag" rel="alternate"/><published>2003-12-20T21:56:17+00:00</published><updated>2003-12-20T21:56:17+00:00</updated><id>https://simonwillison.net/2003/Dec/20/xml/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://slides.bitflux.ch/phpconf2003/title.html"&gt;XML in PHP5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
An in-depth look into advanced XML features

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://keithdevens.com/weblog/archive/2003/Dec/20/links"&gt;Keith Devens .com - Weblog: Links - December 20, 2003&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;&lt;/p&gt;



</summary><category term="php"/><category term="php5"/><category term="xml"/></entry><entry><title>Excellent PHP 5 Overview</title><link href="https://simonwillison.net/2003/Aug/3/php5Overview/#atom-tag" rel="alternate"/><published>2003-08-03T21:41:03+00:00</published><updated>2003-08-03T21:41:03+00:00</updated><id>https://simonwillison.net/2003/Aug/3/php5Overview/#atom-tag</id><summary type="html">
    &lt;p&gt;HarryF's &lt;a href="http://www.sitepoint.com/article/1192"&gt;PHP5: Coming Soon to a Webserver Near You&lt;/a&gt; is the most detailed overview of the features we can expect from the next major &lt;acronym title="PHP: Hypetext Preprocessor"&gt;PHP&lt;/acronym&gt; release that I've seen yet.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/></entry><entry><title>PHP5 and Questioning OOP</title><link href="https://simonwillison.net/2003/Apr/11/moreOnPHP5andQuestioningOOP/#atom-tag" rel="alternate"/><published>2003-04-11T09:44:49+00:00</published><updated>2003-04-11T09:44:49+00:00</updated><id>https://simonwillison.net/2003/Apr/11/moreOnPHP5andQuestioningOOP/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://www.php-con.com/2003/east/interviews/hughes.php"&gt;An Interview with Sterling Hughes on PHP5&lt;/a&gt; from the PHP-Con site:&lt;/p&gt;

&lt;blockquote cite="http://www.php-con.com/2003/east/interviews/hughes.php"&gt;&lt;p&gt;
Personally, while I have programmed with both C++ and Java, I am mostly a procedural guy. I feel that most object oriented programming consists of abstracting different problems into the same problem and then resolving that problem. Sure it makes it easier, but its incredibly inefficient for developing a small set of interconnected programs, which really is the whole point in web development.&lt;/p&gt;

&lt;p&gt;That's not to say I'm unhappy with PHP5. Most of the stuff in PHP5 is great, most notably exceptions; I'll certainly be taking advantage of many of the new features in Zend Engine 2. But most of my code is procedural, and Zend Engine 2 is mostly an object oriented functionality upgrade.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the second time this week I've come across an opinion that questions the benefits of the &lt;acronym title="Object Oriented Programming"&gt;OOP&lt;/acronym&gt;-at-all-costs approach to programming. The first was in Paul Graham's &lt;a href="http://www.paulgraham.com/hundred.html"&gt;The Hundred Year Language&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote cite="http://www.paulgraham.com/hundred.html"&gt;&lt;p&gt;Somehow the idea of reusability got attached to object-oriented programming in the 1980s, and no amount of evidence to the contrary seems to be able to shake it free. But although some object-oriented software is reusable, what makes it reusable is its bottom-upness, not its object-orientedness. Consider libraries: they're reusable because they're language, whether they're written in an object-oriented style or not.&lt;/p&gt;

&lt;p&gt;I don't predict the demise of object-oriented programming, by the way. Though I don't think it has much to offer good programmers, except in certain specialized domains, it is irresistible to large organizations. Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches. Large organizations always tend to develop software this way, and I expect this to be as true in a hundred years as it is today.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As undergraduates, we have been exposed to the joys of object oriented programming from our first week at Uni, possible because we're supposedly destined for the large organisations Paul mentions. It's nice to see the view from the other side of the fence for a change.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/object-oriented-programming"&gt;object-oriented-programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="object-oriented-programming"/><category term="php"/><category term="php5"/></entry><entry><title>PHP5 info from Sterling Hughes</title><link href="https://simonwillison.net/2003/Mar/23/php5InfoFromSterlingHughes/#atom-tag" rel="alternate"/><published>2003-03-23T16:05:54+00:00</published><updated>2003-03-23T16:05:54+00:00</updated><id>https://simonwillison.net/2003/Mar/23/php5InfoFromSterlingHughes/#atom-tag</id><summary type="html">
    &lt;p&gt;Sterling Hughes has &lt;a href="http://ny1.php.net/talks/show.php/php5intro" title="Introduction to PHP5: Slides"&gt;posted the slides&lt;/a&gt; he will be using for &lt;a href="http://www.edwardbear.org/blog/archives/000119.html" title="Introduction to PHP5: Blog entry"&gt;his presentation&lt;/a&gt; on &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5 next week. They provide a great deal of insight in to the new additions to look forward to in &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5, including a few I hadn't heard about before.&lt;/p&gt;

&lt;p&gt;One of the most instantly useful looking is &lt;a href="http://ny1.php.net/talks/show.php/php5intro/24"&gt;Class Autoloading&lt;/a&gt;. By creating a function called &lt;code&gt;__autoload()&lt;/code&gt; you can add logic to automatically include a class the first time it is called. The example code explains this much better:&lt;/p&gt;

&lt;blockquote cite="http://ny1.php.net/talks/show.php/php5intro/24"&gt;&lt;pre&gt;&lt;code&gt;
&amp;lt;?php
function __autoload($classname) {
    include_once("$classname.php");
}
$mono = new monkey;
$mono-&amp;gt;scratch();
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5 will also feature support for &lt;a href="http://ny1.php.net/talks/show.php/php5intro/13"&gt;class access control&lt;/a&gt;, &lt;a href="http://ny1.php.net/talks/show.php/php5intro/29"&gt;interfaces&lt;/a&gt; and &lt;a href="http://ny1.php.net/talks/show.php/php5intro/31"&gt;type hinting&lt;/a&gt; where a function or method can declare the type it expects for each of its arguments. It's sounding more and more like Java all the time, but seeing as all of the new support for stricter control are optional I don't see this as a disadvantage at all. Coders who want serious &lt;acronym title="Object Oriented Programming"&gt;OOP&lt;/acronym&gt; can have it, while people knocking out a quick script don't need to worry about them at all.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/object-oriented-programming"&gt;object-oriented-programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="object-oriented-programming"/><category term="php"/><category term="php5"/></entry><entry><title>coWiki uses PHP5</title><link href="https://simonwillison.net/2003/Mar/21/coWikiUsesPHP5/#atom-tag" rel="alternate"/><published>2003-03-21T23:53:57+00:00</published><updated>2003-03-21T23:53:57+00:00</updated><id>https://simonwillison.net/2003/Mar/21/coWikiUsesPHP5/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://develnet.org/"&gt;coWiki&lt;/a&gt; is the first open source project I have seen being developed with &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5, using snapshots from &lt;acronym title="Concurrent Versioning System"&gt;CVS&lt;/acronym&gt;. It looks like a really neat wiki system. Of particular interest for &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; heads is the development log on the &lt;a href="http://develnet.org/"&gt;front page&lt;/a&gt; (sorry, no permalinks) which provides some insight in to the progress of &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5's development.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/></entry><entry><title>PHP5 Preview</title><link href="https://simonwillison.net/2003/Feb/27/php5Preview/#atom-tag" rel="alternate"/><published>2003-02-27T23:33:31+00:00</published><updated>2003-02-27T23:33:31+00:00</updated><id>https://simonwillison.net/2003/Feb/27/php5Preview/#atom-tag</id><summary type="html">
    &lt;p&gt;A &lt;a href="http://www.phpvolcano.com/eide/php5.php?page=front"&gt;great preview&lt;/a&gt; describing the features we have to look forward to in &lt;acronym title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt; 5. Proper object reference handling is going to be sweet.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/></entry><entry><title>PHP for the enterprise</title><link href="https://simonwillison.net/2002/Dec/7/phpForEnterprise/#atom-tag" rel="alternate"/><published>2002-12-07T23:16:53+00:00</published><updated>2002-12-07T23:16:53+00:00</updated><id>https://simonwillison.net/2002/Dec/7/phpForEnterprise/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://www.theopenenterprise.com/story/TOE20021204S0001/1"&gt;PHP5: Ready For The Enterprise?&lt;/a&gt; (&lt;a href="http://radio.weblogs.com/0103807/2002/12/07.html#a1039" title="PHP5"&gt;via Scott&lt;/a&gt;) discusses forthcoming improvements in PHP5 and asks if they will lead to acceptance of PHP as a suitable language for enterprise applications. It looks like a killer factor could well be PHP's improved Java and .NET integration abilities. Write the back-end in Java/.NET and use PHP for the front end - that way you get a powerful web-specific scripting language for the front end of your site. Then if you ever need to change technologies on the back end your front end code can be reused.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php5"&gt;php5&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="php5"/></entry></feed>