Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Software Engineering practises for PHP

Scott Johnson’s presentation on Software Engineering Practices for Large Scale PHP Projects is fantastic—lots of excellent practical advice for professional development with PHP. It’s a shame the presentation slides require Internet Explorer (due to being exported from Power Point) but it was more than worth firing up IE to view them.

This is Software Engineering practises for PHP by Simon Willison, posted on 29th October 2002.

View blog reactions

Next: Cashets

Previous: PHP at Yahoo

5 comments

  1. Is it worth installing Windows? ;-) Seriously, it's an interesting title, since PHP still has a reputation for being practical only for smaller scale projects. As I understand, the support for large scale programming still isn't at the same level as your typical general purpose programming language.

    Jarno Virtanen - 29th October 2002 09:54 - #

  2. You're right, excellent. It would be so easy for this to be so bad, but it's not. Original PowerPoints are available from Scott's weblog (http://radio.weblogs.com/0103807/2002/10/28.html# a855), and it looks like he'll try to improve their appearance in Mozilla, perhaps by using another approach entirely.

    Sam - 29th October 2002 20:31 - #

  3. Much of this is just common Software Engineering sense, people should be doing most of the things there for projects where there are going to be more than a couple of thousand lines of code because once something gets bigger than that changing it will become a right old pain. Yes PHP can be used for the large scale projects, but IMHO only at the edges, at the HTML presentation layer. I wouldn't particulary want to use it to implement my business logic, it's not a compiled language. It works best at the edges because that's what it was designed to do.

    Swannie - 29th October 2002 22:24 - #

  4. It depends on the project. If you are writing an enterprise level large application where only part of it is a web interface then sure, PHP is the wrong tool for the job. However, if you are writing a large system purely in the web domain PHP (written properly) is probably an excellent tool for the job. I don't buy that compilation is of any benefit outside of performance, and most high performance PHP applications will have a database server handling the majority of the computationally difficult tasks anyway. If performance is an issue you can always replace critical sections of your PHP with a custom C module.

    Simon Willison - 29th October 2002 23:58 - #

  5. Well maybe I didn't mean compiled languages in that sense. What I meant was a language that supported OO properly, where interfaces can be secified clearly (and strongly typed) and you have a greater degree of control over memory management (though I know nothing of PHP memory management so I could be wrong in thinking that it is quite weak.) Also the benefits of something like Java, C#, C++ etc. are excellent error handling, built in security managers, excellent standard class libraries etc.

    Swannie - 30th October 2002 16:37 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2002/10/29/softwareEngineeringForPHP

A django site