Recommended Reading List for PHP
Steve writes "IBM developerWorks has put together a PHP recommended reading list. It provides resources for developers and admins adopting PHP and tackling advanced topics such as building extensions and writing secure code. There's also a list of books and blogs for keeping up with changes to the language itself."
They forgot the most important article on PHP! What it is:
http://uncyclopedia.org/wiki/PHP
open source = homelessness
Queue anti-PHP jokes...
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
Girl + Midget = Gidget.
PHP: When you're too fucking retarded to learn a real programming language.
See also: MS-BASIC, DOS Batch.
This book was Slashdotted a few months ago. It's written and endorsed by members of the core PHP team. It's the most accurate language resource I've come across. It covers the PHP language, while I've found that other books tend to offer cookie-cutter "recipes" for common scenarios (code snippets). Sadly, its mention of interfaces is a bit sparse and it pre-dates PHP 5.1's PDO. Nevertheless, I still find it very relevant for anyone doing OOP with PHP. There are one or two gems not found in the online documentation.
NOTE: It's better to have some PHP programming experience before reading.
ISBN: 0-13-147149-X
People criticize PHP because code written in it is messy and stuff. I think it is mostly because writing PHP code is so easy that most of the web designers and hobbyists write it.
How about compulsory reading of a C++ or Java OO book, even before you know what "var $myVar" is.
PHP: 10 million newbies can't be wrong.
978-0-13-147149-8
I suggest Agile Web Development with Rails.
It fascinates me that people still deal with PHP at all.
PS: If you're stuck with PHP, I seriously feel for you.
I currently have no clever signature witicism to add here.
Not a dupe...
Actually useful...
First post wasn't about a Beowulf cluster or Soviet Russia...
What happened to Slashdot???
My faith will be restored if this article is duped within 24 hours.
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
I'll have to check out those books. I'm ashamed to say that I don't know as much about PHP as I should. While I was busy trying to decipher Open Source Perl code (to learn from) the web standardised on PHP, and I know next to nothing about it!
I just hope there's an emacs mode for PHP, I'd hate to have to go back to using VIM to code.
http://philip.greenspun.com/seia/
This is the 3rd PHP posting in the last 3 days. PHP is a pretty niche language with little theoretical power. Everything it does can be accomplished as easily by other means (JSP, Perl...). How about paying more attention to 'bread and butter' languages like C, C++, and Scheme?
an ill wind that blows no good
If security is threated as advanced topic in PHP, no wonder this language has such lousy reputation.
Why do people mod "Uncyclopedia" links funny? They're never funny. They're just stupid.
And this is why I hate web programming and web programming languages:
It provides resources for developers and admins adopting PHP and tackling advanced topics such as building extensions and writing secure code.
Why is this considered an advanced topic? Security should be the first thing anyone writing software for the web learns. And web programing languages need to make it easy to write secure code by default. *Sigh*
If I don't put anything here, will anyone recognize me anymore?
Only thing I've ever needed to read to learn PHP is fr.php.net. (Because the UK mirror is slower.)
Get your own free personal location tracker
If Python developers had { and } keys they'd be using PHP!
This one's an ABSOLUTELY MUST-READ for those who don't know what template engines are:
e ngine
http://www.sitepoint.com/article/beyond-template-
Their list is great -- I'll be reading some of those articles for weeks before I get through them all. I'm especially interested in the 7 security blunders article. Nice!
But they did leave off a lot of sites that are useful. Here are a few:
Anyone want to pitch in with some more? I'm sure there are some very useful sites that I've completely missed (and which the IBM site missed, too).
My Greasemonkey scripts for Digg &
PHP is a powerfull language not only for the web, but for general purpose programming. Please, experienced C and C++ programmers do a favor to yourselfs and give it a try, testing algorithms can be done in a very short little time, in contrast to other languages.
It's a breeze in the ocean!
http://www.codingheaven.net/ http://www.codingheaven.net/
I'm glad to see that at the top of the list. I haven't read all those php books, but I am a very experienced developer in the language, and that book is fabulous. It manages to cover many topics, and with astounding clarity and insight. Definitely a master work on the topic.
Now you see how stupid you are for coding while angry? You forgot to put anything in your function! That's what I call a messy habit!
Design Patterns: Elements of Reusable Object-Oriented Software
Data Structures and Their Algorithms
Operating System Concepts
Joe Celko's Data and Databases: Concepts in Practice
How to Design Programs: An Introduction to Computing and Programming
Programming Ruby (2nd. Ed.)
Agile Web Development with Rails
+ some book on data communications and networking
this one, and then this one. ;)
/flame-off
//kept pushing my host to install PHP5 for months, before I got on the train
we only use 10% of the theoretical power in any programming language.
PHP might be the gedit of programming languages. No, gedit can't do everything emacs does, but it's always there when you need it and damned if it can't show you a bunch of text and let you edit. You can even search/replace
My turnips listen for the soft cry of your love
If you are considering going into any PHP development at all, this is really required reading.
... on when and when not to use PHP: Experiences of Using PHP in Large Websites (Aaron Crane, UKUUG Linux Conference 2002).
'Programming Perl' by Larry Wall
...anyone else catching this stuff on digg hours before it appears on slashdot.....?
eric http://www.ericdfields.com/
Sorry, it was just too easy...
is this one.
I'm not trying to troll, but if you do need a scripting language for more than a "Personal Home Page" then you're essentially better off using Perl, Python or Ruby.
(Just for the record, I'm telling this while having advanced knowledge in PHP, Perl and Python and intermediate in Ruby)
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
If you're building a personal home page, then look at the other posts for recommendations. If you're building something that other people will have to maintain, and is supposed to generate a significiant amount of income, or is dependent on it, read anything by Scott Meyers And then: Head First Java, 2nd Ed. C++ How to Program (4th Edition)
Nothing. Just avoid it like the plague!
http://www.symfony-project.com/ "symfony is an open-source PHP5 web framework "professional web tools for lazy folks *
/me is a bit too tired to write something witty about it here, you might want to judge a quote from the dev yourself:
fabpot: "I'm not very strict with design patterns... I try to be pragmatic and to get things done quickly. That said, I know there is a lot of problems with this way of doing things and I try to correct them with new releases. symfony is a moving target..." (01/30/2006 08:28 in #symfony)
I like it for a pragmatic, down-to-earth approach:
Lotsa form_tag opening helper functions, but you close with
And if you ever thought open-source was not well documented, you are in for a surprise!
*) under discussion
I have actual products and such written in PHP that I sell. I would consider myself "advanced" in php programming. (I've been at it a number of years)
.ini file is NOT a language)
.php)
PHP is very easy, but compared to perl (or even JSP..) it is terrible. The only reason to learn it is if you are planning on reselling scripts or working (as in paid..) for others. Working with it is a pain. It's horrible when it comes time to move from host to host because it has "settings" (a language with an
PHP5 is a step in the right direction, however, it's been a couple YEARS now and most ISP's still don't support it (or if they do, it's via a CGI mode which is slow and buggy)
Unfortunately, people searching for web applications generally look at PHP directories. There is this sense that perl is outdated.
People like PHP because it doesn't involve setting permissions. It's common for designers to "bank on" a web server configuration working properly. This is shown by the way nearly all PHP "applications" have database passwords embedded directly into the PHP code, IN WEB SPACE. Try to design securely and your customers get confused by the notion of "out of web space" (secure design means passwords are NEVER stored in a web accessible file, even if it does end in
The "language" was not designed, it just sort of "happened". If you need extensions (and you most certainly WILL need extensions, such as XML..) don't bank on it. You can look forward to hours of fun chasing them down, working around host limitations, etc..
If you're doing something "for fun"... pick another language. PHP is a cruel joke.
With components like DB::DataObject, HTML::QuickForm and DB::DataObject::FormBuilder building web DB applications is shockingly quick!
Be nice to people on the way up. You will meet them again on your way down!
Just took a look at Plone/Zope yesterday. Dropped it on Win32, built it on SuSE 9.1 (couldn't use the SuSE 10 RPM bundle, oh well configure, make, make install...) Java failed to integrate everything cost-effectively. Python stands the best chance now. Ruby isn't ready. PHP, though productive, isn't even in the same league. Execs are eyeing the piecemeal array of fragmented systems that have grown up in the last 8 years and thinking MSFT for everything. Need to do something else fast. Python or MSFT, take your pick.
It's been quite some time, now since I first read about IBM's interest in PHP. I believe that this posting is further evidence that IBM intends on taping into the huge PHP development communities, allow IBM to quickly make up lost ground to Microsoft.
IBM's interest in PHP probably says as much about the established development communities as it does the language itself. I'm far from an expert on deploying technology globally, but I suspect that one of the biggest obstacles to overcome is finding qualified people to support it.
It might be a good idea for PHP developers to start looking at RUP. Learning formal software development processes can only help anyone looking the take their PHP skills to the corporate world.
"Seven years of college down the drain. Might as well join the f-ing Peace Corps." - John 'Bluto' Blutarsky
HTML is a pretty niche language with limited power. Everything it does can easily be accomplished by other means (TeX, OpenDocument...). How about paying more attention to more 'bread and butter' languages like RTF, BibTeX, and plain text?
I suppose I should welcome any comment for a posting modded at -1, even if your analogy sucks.
Seriously, PHP is quite good at what it's intended for...
You are not instructing the ignorant. I am complaining that the Slashdot 'Development Section' is being polluted with trivial PHP gunk of limited interest. Same goes for AJAX, C# and the mindless prattle that goes with them. The slashdot priests don't like to be called on it.
an ill wind that blows no good
(BJC = Baby Jesus Cries)
It's slower than dirt. Slow dirt. ;) PHP5 is better about it than PHP4, but it's still slower than a native php-based templating engine. (And that assumes the best case of using as just a templater, throw misguided people pushing business logic willy-nilly into the xslt and not really grasping the fundamentally functional programming model it exposes and crappy debugging support and so on and it turns into a real god damned nightmare. [We use php5 and xml/xslt at work, work being a financial industry site that gets a great deal of traffic.])
And god bless the creatives / graphic-designers (because without them, our stuff would look like refried monkey butt), but trying to get them to understand bizarro-world logic puzzles that xslt can easily turn into is like trying to get a violinist to build a tank. ;) That was the original plan at $ork, apparently, but trying to explain things like variables not varying or scoping rules to them went over real well. So now they pretty much just stick to the graphics and css, and we get to handle the xslt as well as the backend systems.
I'm sorry if this sounds too harsh, it's just my experience. Maybe in different places XSLT makes for happy times, but it's proven to be one of the biggest irritants about my current workplace, so my view of it has become rather dim.
News for Geeks in Austin, TX