John Lim's Blog: Why Should PHP ever be taught in school?
82173
In this new post to the PHP Everywhere blog, John Lim asks an interesting question - why should PHP ever be taught in schools? (in response to this post)   If something is popular but hard to understand then we need an education process. To just shake our heads and give up is simply immature (or trolling). Otherwise we might as well say that English (or any other spoken language for that matter) should not be taught, because spoken languages are illogical, imprecise and therefore ... useless.   John also clears up some of the misconceptions from the other post with equality and type comparison in PHP.
350288
Well, according to Soledad Pendaes, PHP will never have a (real) Rails-like framework because of some of the limitations with objects inherent to the language.   I know the title is harsh but it's so true. At least it is according to nowadays php's implementation of classes and objects, which do not permit to "reopen" and add or redefine new methods to an existing class definition, which is the basis upon Rails (and I presume lots more of applications and frameworks) is built.   The post goes on to talk about they "why" behind the statement - basically that this kind of functionality makes it easier to "Extend. Morph. Adapt. Improve. Refine." your applications. He talks some about other frameworks that have tried to offer the same kinds of functionality Rails does (CakePHP and Symfony) but notes that they still have their limitations (in specific, mentioning CakePHP's AppModel functionality).
466648
Stefan Koopmanschap has pointed out an interesting article over on the CIO magazine website that has some in the PHP community a bit up in arms about comments it makes towards the language.   The article, "You Used PHP to Write WHAT?!", covers the basics of the language - its status in the web programming world, the functionality it offers and the database interfaces it includes. They also include a hit list of reasons PHP is popular and why it's a good choice for your project.   Then things get a little strange - they move from their PHP praise to three things that have more to do with unresearched "facts" than the reality of the language:   Security and PHP Working with PHP and the shell Scaling and PHP (in enterprise environments)   These incorrect assumptions have lead to many comments both from the PHP community and from users of other languages (like Java and ColdFusion) sharing thoughts on the contents of the article and the language in general. Check out the article's comments to see for yourself.
743840
Chris Shiflett has posted his own recap of the (just passed) php|works conference up in Toronto over on his blog.   I've been traveling non-stop since php|works, so I haven't had a chance to reflect on the conference, what I learned, who I met, and things like that. (Zak has been doing a good job of this lately, and I'd like to follow his lead.) I've probably forgotten more than I remember, but this is my recap.   Included in the things he mentions are:  The people he was able to meet (like Joshua Eichorn and Sebastian Bergmann) The talks he gave ("Truth about XSS" and "Agile PHP Testing") His interview with Cal Evans of the Zend Developer Zone The PHP 5 Certification and Wez Furlong's "Not PDO" talk
541647
On Codewalkers.com today, there's a new tutorial posted concerning some of the looping features PHP has to offer.
464596
PHP isn't exclusively for Web pages. You can use it like Perl for cron jobs and other tasks.
389521
Time for a little nostalgia today in this new post from Philip Olson looking back at a brief history of the PHP acronym - where it came from and how it evolved to mean "PHP: Hypertext Preprocessor".   While reminiscing what PHP was like back in the early early years, I stumbled upon a little historical nugget from the old website. Do you know what the acronym PHP stands for? Many of us do, or think we do. [...] But how was the definition chosen? For fun, here's a look back at the official vote that determined this new meaning way back in 1998. It might be worth mentioning that Rasmus, the father of PHP, did not vote for the eventual winner.   He also includes a few "notable quotes that could be taken out of context" from Rasmus Lerdorf concerning his opinions on the matter of the acronym's meaning as well as some other brief notes on the history of PHP and its name change.
722744
On his blog, Ian Bicking has posted some of his thoughts on a positive look at PHP - what he thinks PHP has done right.   With the recent talk on the blogosphere about deployment (and for Django, and lots of other posts too), people are thinking about PHP a bit more analytically. I think people mostly get it wrong.   He points out that PHP, in essence, is a CGI-style execution and, in being so, makes it more flexible. Both sides, web and command line, can work with the language equally well. He also mentions the developer/administrator split he sees in PHP's structure and how the language facilitates it.
700792
Brian Moon has posted some thoughts about "the post" that Terry Chay recently wrote including comments on smart versus intelligent, object nonense, and funky function names.    So, if you are not smart, then stop coding PHP.  Its a good thing that C developers are smart.  They have to remember all those functions.  Assembly language developers donât have to remember functions.  I guess they are not smart?   Ok, that last paragraph was tongue in cheek.  Knowing 3000+ functions does not make you smart.  It means you have a good memory.  I will take intelligence over smart or a good memory any day.     His comments on the "object nonsense" makes note of the difference between functions and methods and the function naming issue - well, he has "no solid defense" as they do make it difficult to learn the language and send some developers running back to the manual to make sure the parameter order is right each time.
69166
On LinuxJournal today, there's a new article from Marco Tabini about the power of PHP as a multi-purpose language (and not just for web pages anymore).
192641
DevShed has posted the second and last part of a series of two articles based around the Composite design pattern - using it to work with strings in PHP5.   Are you a PHP developer who wants to improve your skills in pattern-based programming in PHP? If the answer to this question is a emphatic yes, then you should begin reading this article now! Welcome to the final part of the series "Implementing the composite pattern with PHP 5." Comprised of two instructive tutorials, this series walks you through the basic concepts of this important design pattern, and shows you how to apply it with some educational examples.   They start by defining a simple StringProcessor class as an abstract interface to build from. From there, they create two other classes - the SingleStringProcessor and the MultipleStringProcessor. Each of these takes in either a single file or multiple filenames and spits back out the value of the string and the length of the string.
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?
629310
You cannot help but like someone like Greg who is honest and humble:  "I am one of the core developers of the PEAR package who has joined the game relatively late... The base PEAR class is one monstrous mistake, and PEAR_Error is pretty close. Everyone knows this. I designed an error class that is much, much more flexible and it is part of PEAR 1.3.1 (PEAR_ErrorStack) - check it out. "  Sadly it's just not true that everyone knows that PEAR class is big mistake (Jeff Moore has more on why PEAR.php is awful).  Given that PEAR is both an important framework and a worthless class, the confusion in names will  definitely  cause the value of the PEAR class to be overestimated. Just read any article on PEAR and you can see what nice words they have to say about the base classes :-(     I once said once that too many PEAR developers were journeymen. This might have offended  some people, but I was trying hard to be diplomatic. I must say that today the PEAR group is definitely more mature, and they have learnt a lot about library design. What would really make my eyes light up  would be an PEAR2 initiative that kept the existing classes, but dropped the bad seeds such as PEAR.php (e.g. the PEAR and PEAR_Error classes).   And in case you were wondering, I do think there's great value in the PEAR DB API. API's are important for interoperatability. For example, ADOdb has a PEAR DB compatibility mode. I would certainly be flattered if PEAR DB had an ADOdb compat mode too :-)
188665
The PHP Community is buzzing about a new article, posted on the O'Reilly Ruby blog, about how the author (Derek Silvers of cdbaby.com) made the decision that Ruby on Rails just wasn't right for the project he was working on.    Back in January 2005, I announced on the O'Reilly blog that I was going to completely scrap over 100,000 lines of messy PHP code in my existing CD Baby  website, and rewrite the entire thing in Rails, from scratch. [...] The first few months showed good progress, and Jeremy could not have been more amazing, twisting the deep inner guts of Rails to make it do things it was never intended to do.   But at every step, it seemed our needs clashed with Rails' preferences. (Like trying to turn a train into a boat. It's do-able with a lot of glue. But it's damn hard. And certainly makes you ask why you're really doing this.)    Recounting the rest of the story, Derek mentions the turning point ("Is there anything Rails can do that PHP CAN'T do?") and the speed at which they were able to make up for the two years of lost development time. To helps others make a decision for their project, he also includes seven reasons why he made the decision to switch back, including:   Our entire company's stuff was in php: don't underestimate integration Don't want what i donÃ¢ÂÂt need I love SQL Programming languages are like girlfriends: the new one is better because *you* are better   There's also been several bloggers in the PHP community that have responded to the article:   Elizabeth Naramore - "Derek Sivers' Article on RoR vs PHP" Paul Jones - "Is there anything Rails can do that PHP cannot do? *No.*" Terry Chay - "Why PHP triumphs over Ruby" Jeff Moore - "Ruby versus PHP or There and Back Again"
230013
In this new article from DevShed.com, they provide a high-level introduction to PHP - what it is, where it came from, some of the sample features (of both PHP 4 and PHP 5), as well as some of the drawbacks for the language.
277396
Lukas Smith has posted his review of a book from Packt Publishing - "PHP Web 2.0 Mashup Projects: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!"   Duane from Pakt asked me if I would be interested in reviewing a few books for them in my blog. I picked "Mashup Projects" from the list of just released books, since I am interesting in the topic and I am actually going to give a presentation at the internal "PHP Day" we are doing at Optaros in November.   He points out the good (good writing style, well-chosen examples) and the bad (a log list of errors and oversights in the code). He also talks about the contents of the book - the different examples and the final more major project. Overall though, he sees it as a good book, one that would be a good introduction to mashups for PHP developers (if you look past the formatting issues).
62831
The Developer Tutorials Blog has a few helpful hints about getting yourself a freelance PHP job posted today:   The problem with PHP is this: in years gone by it was typically seen as an amateur, hobbyist language. The state of the language at the time didn't exactly either. [...] As a result, many (if not most) of the freelance PHP jobs out there today involve maintaining this code of yesteryear. It's mostly PHP 4, no OOP, terrible coding standards, no thought for best practices and so on.   The list reads more like a "back to fundamentals" listing - three things: practice, advertise and reach out. No tips about fancy resume or making the power moves to climb up and over the competition - it's just the basics of what you need to get started and get your foot wedged firmly in the door.