Also ich finde, es kommt auch darauf an, welcher Lerntyp man ist und wieviel Zeit man hat. Jemand der als Autodidakt gut lernen kann und dem kein Kundenauftrag im Nacken sitzt, der kann bequem über Bücher und Tutorials PHP lernen.
Bei den Tutorials besteht nur leider immer die Gefahr, dass die Infos inzwischen schon veraltet sind. So wird bei Schattenbaum immer noch mit $HTTP_POST_VARS gearbeitet. Das ist dann zwar immer noch besser als bei den Tutorials, die noch mit "register_globals=on" arbeiten, aber ein Hinweis auf die neuen Variablen $_POST und $_GET wäre da schon hilfreich. Ich kann allerdings gut verstehen, wenn jemand sein kostenlos angebotenes Tutorial nicht ständig auf dem neusten Stand halten will.
Auch bei Büchern ist die Gefahr recht groß, dass die Infos schnell veralten. Allerdings sind gute Bücher (z.B. die vom Gallileo-Verlag) meist immer auf dem aktuellen Stand, zumindest in dem Jahr, in dem sie erscheinen. Leider sind gute Bücher auch immer gleich entsprechend teurer.
Ich selbst habe PHP auch zuerst mit einem sehr preiswerten Buch vom bhv-Verlag angefangen, bin dann aber ziemlich schnell zu konkreten Projekten übergegangen. Natürlich sollte man für solche "Übungs-Projekte" kein Geld nehmen oder sie seinen Kunden anbieten. So etwa 6-12 Monate kann man als "Übungszeit" schon rechnen, wenn man seine eigenen Skripte auf das Internet loslassen will. Wer vorher schon Erfahrung in einer anderen Programmiersprache gesammelt hat, braucht da nicht ganz so lange.
Was mir auch immer sehr geholfen hat: Das Mitlesen in Newsgroups und Foren. Hier werden immer wieder mal Fragen zu Problemen gestellt, die einem selbst noch gar nicht aufgefallen sind ;-) Auch bekommt man hier schnell mit, ob eine Technik inzwischen veraltet ist, wenn man sich die Antworten durchliest.
Alles in Allem finde ich, dass beim Lernen immer ein guter Praxisbezug vorhanden sein sollte. Das findet man leider auch in guten Büchern eher selten. Bei Tutorials schon eher, wenn sich das Tutorial auf ein bestimmtes Thema bezieht (z.B. "wie erstelle ich einen Warenkort in PHP?"). Was mir hier immer gut geholfen hat, ist das Lesen und Ändern von bestehenden Open-Source Anwendungen. Ich habe durch Anpassungen in osCommerce eine Menge über Warenkorb-Programmierung und auch über die Sicherheitsaspekte von PHP gelernt, die (leider) in den Büchern und Tutorials immer zu kurz kommen.
Wer es sich leisten kann oder wenig Zeit hat, kann natürlich auch einen Kurs besuchen. Leider weiß man nur nie, ob der Dozent oder Tutor wirklich gut ist. Ich versuche in meinen Schulungen (und auch den Online-Kursen) immer möglichst verständlich zu sein und bringe Beispiele aus der Praxis. Die meisten Leute wollen eben nicht wissen, wie man eine Primzahl-Tabelle programmiert. Auch das Gästebuch wird meist überschätzt ;-)
Gerade bei PHP finde ich es wichtig, dass man ganz grundlegende Dinge vermittelt bekommt. Dazu gehört sicher auch ein gutes HTML-Grundwissen, insbesonders in Bezug auf Formulare. Auch die Technik der Sessions ist in PHP ein wichtiges Thema. Ich selbst habe bisher kein Tutorial gefunden, das diese beiden Themen wirklich didaktisch gut aufbereitet hat, so dass es jeder verstehen könnte.
Marian