Posted by Matto on August 3, 2009 at 6:26am
Can anyone recommend an introduction to PHP course (online or in Sydney) for someone (me) who understands HTML and CSS, understands the basic concepts of relational databases (keys, normalization) and is currently bulding his first Drupal site (with CCK, Views, Token, Pathauto and many more contrib modules).
I'm not a programmer but I'd like to expand my skillset and since I'm now locked into Drupal as a platform I figure I may as well learn a bit of PHP.
Or if you think I'd be better off learning from a a book or a W3schools kind of thingy, please say so.
Here's a face-to-face course I found ($2,200):
http://dynamicwebtraining.com.au/courses/php-training.htm
Thanks
- Matt

Comments
Not a course, but handy screencasts
I never really had much luck with hunting out a course that seemed worth it.
There are some solid free screencasts out there:
Jeffrey Way does some real good work.
http://blog.themeforest.net/?s=diving+into+php
Killer PHP has a good intro set
http://www.killerphp.com/
There is also Lynda.com, but that requires payments.
It's also worth hunting out a book or two on Amazon.
Be interested to hear if there are any decent classes though.
Formerly known as BuffDaddyMC?
Thanks bdiddymc. Were you formerly known as BuffDaddyMC?
Those two links look like a great place to start, much obliged.
Also found this great list of iPhone apps on that first site:
http://blog.themeforest.net/tutorials/25-iphone-apps-for-designers-and-w...
Perhaps someone could also suggest what aspects of PHP are most Drupal-critical, i.e. which aspects of PHP should I try to learn first in order to improve my Drupal capability?
And specific PHP book recommendations are also welcome.
I already own this one:
PHP & MySQL: Your visual blueprint for creating dynamic, database-driven Web sites
http://www.amazon.com/PHP-MySQL-blueprint-creating-database-driven/dp/04...
...and this one:
MySQL, Second Edition (Visual QuickStart Guide)
http://www.amazon.com/MySQL-Second-Visual-QuickStart-Guide/dp/0321375734...
...but haven't really delved into either one.
Thanks again.
Drupal Content Consultant
Sydney
More often than not, the
More often than not, the things you need to know - like how to use and override templates - are not covered in a Drupal context. This is going to make any introductory course a bit hard to translate to how Drupal works, being such a flexible (and therefore complex) framework.
I've purchased the Pro Drupal Development (Apress) for Drupal 5, which greatly helped my understanding of how Drupal works. The programming side is just syntax after that.. which you can probably pick up from looking at the examples. I'm sure there's a Drupal 6 version of the book available now - well worth a look.
Maybe a combo
Thanks pingers, I understand the approach you're advocating.
I actually own that book - how important is it for me to get the newer (D6) edition? (My site is D6.13)
Perhaps a paid-for introductory PHP course wouldn't be Drupal-applicable enough to be worthwhile, as you imply. I probably won't ever use PHP beyond Drupal.
Maybe a combo of that book (and the other Drupal books I own - Using D, Front End D, D Multimedia, Cracking D) and biddymc's free online tutorials would suit my needs.
Drupal Content Consultant
Sydney
i bought the same book
not sure if there is a d6 version yet - but it has been a useful reference at times
D6-specific 2nd edition is just out
Yes jethrocon, the D6-specific 2nd edition is just out:
http://www.amazon.com/Pro-Drupal-Development-Second-Beginning/dp/1430209...
Drupal Content Consultant
Sydney
heh you beat me to it with
heh you beat me to it with the link :)
thanks - might have to avail myself
might have to avail myself
There is definitely a d6
There is definitely a d6 version.
Pro Drupal Development ships for Drupal 6!
Booko search result
The major differences between the two versions, as I understand it, are due to the way modules are written, which differs somewhat dramatically between D5 and D6 (hopefully someone more schooled can correct/confirm this).
If you are using mainly Drupal 6 sites, and considering Drupal 7 only gets closer, it might be a more reliable companion than Drupal 5 if you are considering writing modules and stuff like that. I also only have the first edition for D5, but will be buying 2nd Edition very soon since I'm starting to develop more than I used to in D6.
I consider it the 'developer's' Drupal book, as there are many others now but these are often targeted toward end-users etc. That said, a lot of the information you can get from the book, you can 'find' (drupal.org is really not the easiest thing to navigate) in the Drupal Handbooks, i.e How To write a module, how to patch and contribute etc etc.
I learnt most of my PHP /MYSQL 'linear PHP' (that is, writing php that runs from start to end of script, as opposed to writing 'object oriented PHP' which inherits classes and whatnot), from "PHP and MySQL for Dynamic Web Sites (Visual QuickProject Guides) by Larry Ullman".
I learnt some Object Oriented PHP, MVC methodology etc from Practical Web 2.0 Applications with PHP by Quentin Zervaas
OOP is generally considered a steeper learning curve than 'linear' PHP style programming, but that it also is 'more powerful'.
There is some interesting information on Drupal's PHP programming methodologies here.
Whatever book you might buy, I highly recommend searching for first through http://booko.com.au. It finds all the places online likely selling it, converts the cost to AU dollars and shows you where to go to get the cheapest copy :)
I have to say I've learnt most of my PHP from the Visual QuickProject Guide above, and from code snippets / tutorials freely available online. Given that I haven't ever searched for an in-person, costing course, I can't say whether or not it would be of more or less value!
In particular take a look at the PHP101 tutorials at Zend's DevZone. It takes you through all the basics you'll need to know, in parts.
And I'm sure people on IRC would be willing to help you with PHP related questions.. everyone on #drupal-au puts up with me, and like you, I'm not a programmer :)
Good luck!
PHP for Depressives
mig5 - I went searching for a "Hello World" PHP tutorial and somehow ended up at the PHP for Depressives website.
I tried their code, but it always displays as "Goodbye Cruel World".
Drupal Content Consultant
Sydney
Linear vs OO PHP for Drupal
mig5 - great suggestions, thanks.
I'll check out that Drupal methodology link, but a question:
Is learning linear vs OO PHP an either/or proposition? Or is it OK to start with linear PHP and then try to upgrade to OO?
Drupal Content Consultant
Sydney
Id do linear first
Linear is the way PHP was originally intended to work, and the way Drupal works. Learning linear first is the easiest way, it covers all the basics. OOP is an more of an advanced programming technique in PHP, and it helps to know the linear way first. Its not truly OOP in the same way Ruby is, for example.
definitely not either/or. i
definitely not either/or. i started with linear, and its still the sort of php i write. get the grounding in linear first, variables, loops, etc first before tackling objects.
spoken straight from my coding guru heart (cough!)
There are significant
There are significant changes in the way themes and modules work between 5 & 6, as well as changes to the Core API. While some of the general ideas in the 5 version of Pro Drupal Development might be the same, most of the coding examples will probably fail or be inefficient. I would strongly recommend getting the 6 version, especially if its the coding aspects that you want to learn.
I'll get the D6 version
Thanks xtfer, that settles it, I'll buy the new edition.
Drupal Content Consultant
Sydney
video tutorials at lynda.com
I'm currently learning from lynda.com and loving it (beats reading a manual, though I will have to consult the online doco eventually no doubt).
subscription fee is $25 a month.
free php courses at www.abelski.com
feel free to use the courses available at www.abelski.com. all courses are available for free personal & academic usage. good luck! haim.