Pour aller plus loin
Le livre sâarrĂȘte ici, mais le langage continue dâĂ©voluer, et le projet quâon vous a confiĂ© aussi. Quelques sources vous permettent de rester Ă jour, et aucune nâappartient Ă un Ă©diteur commercial.
Le manuel
php.net est la référence, et une bonne référence : chaque fonction a sa page, avec sa signature, son historique par version, et des exemples qui tournent. Les notes contribuées par les utilisateurs sous chaque page sont inégales, alors que le texte officiel au-dessus est fiable. Mettez en favori les guides de migration, un par version (php.net/manual/fr/migration85.php et ses voisins) : ils listent chaque dépréciation et chaque nouveauté, et lire celui de la prochaine version de votre projet est la préparation de montée de version la moins chÚre que vous ferez.
Le wiki des RFC
Chaque changement du langage passe par une proposition publique, une discussion sur la liste de diffusion internals, et un vote des dĂ©veloppeurs du cĆur. Les propositions vivent sur wiki.php.net/rfc, acceptĂ©es, refusĂ©es et en cours. Lire les RFC acceptĂ©es dâune version vous dit non seulement ce qui a changĂ©, mais pourquoi, avec les alternatives Ă©cartĂ©es et les arguments contre. Quand une fonctionnalitĂ© paraĂźt Ă©trange, sa RFC explique en gĂ©nĂ©ral la contrainte qui lâa rendue ainsi.
La Fondation et le FIG
La PHP Foundation finance les dĂ©veloppeurs du cĆur qui maintiennent lâinterprĂ©teur et accompagne la direction du langage. Son blog rend compte des versions et des chantiers en cours. Le PHP-FIG (Framework Interoperability Group) publie les PSR et le PER Coding Style, les interfaces et conventions qui permettent Ă des bibliothĂšques dâauteurs diffĂ©rents de fonctionner ensemble. Quand une base de code mentionne PSR-quelque chose, le site du FIG a la spĂ©cification en deux pages.
Le framework de votre projet
La plupart des projets PHP reposent sur un framework, et la documentation du framework est lâendroit oĂč lâapprendre. Frameworks complets : CakePHP, Laminas, Laravel, Symfony, Yii. Micro-frameworks bĂątis autour des middlewares PSR-15 : Mezzio, Slim. Plateformes de contenu avec leurs propres conventions : Drupal, Joomla, TYPO3, WordPress.
Une habitude paie dĂšs le premier jour : quand vous lisez du code de framework, triez ce que vous voyez entre ce qui relĂšve du langage et ce qui relĂšve du framework. Un constructeur promu readonly, une Ă©numĂ©ration dans un match ou une chaĂźne de ?-> sont du PHP, et ils veulent dire la mĂȘme chose partout. Une façade, une liaison dans un conteneur de services ou un __call magique qui redirige vers un constructeur de requĂȘtes appartiennent au framework, et câest sa documentation qui les explique. Ceux qui confondent les deux finissent par croire que PHP est ce Ă quoi leur premier framework lâa fait ressembler.
Un chemin plus long
Ce livre a sautĂ© les bases volontairement. Si vous voulez la version qui part de zĂ©ro, avec un petit jeu, un outil en ligne de commande et une application web construite sans framework, le volume compagnon, The PHP Book, prend ce chemin Ă un rythme plus lent, et il est publiĂ© depuis le mĂȘme dĂ©pĂŽt que celui-ci.
Au-delĂ de lâĂ©crit, PHP a des groupes dâutilisateurs dans la plupart des grandes villes et des confĂ©rences sur la plupart des continents, et une salle pleine de gens qui ont dĂ©jĂ rĂ©solu le problĂšme que vous allez rencontrer vaut largement lâaprĂšs-midi quâon y passe.
Ce que vous savez maintenant
Il y a deux ou trois heures, vous avez ouvert une base de code et vu des $this->, des :: et un modĂšle dâexĂ©cution que vous ne reconnaissiez pas. Vous savez maintenant comment PHP sâexĂ©cute, comment il type, comment il organise le code en paquets, et oĂč il va vous surprendre, et lâancienne rĂ©putation du langage a retrouvĂ© sa place, dans le chapitre consacrĂ© au passĂ©. Cette base de code est devenue lisible, et vous pouvez retourner la lire.