PHP 7 à l'Original

PHP 7 à l'Original
Dmitry Koterov, Igor Simdyanov
Genres: Programmation
Année de publication: 2016
Année de lecture: 2020
Ma note: Maximale
Nombre de lectures: 1
Nombre total de pages: 1071
Résumé (pages): 0
Langue originale de la publication: Russe
Traductions dans d'autres langues: Aucune traduction dans d'autres langues trouvée

J'ai l'habitude de faire un mini-récit de tous les chapitres dans les critiques, mais peut-être pas dans ce cas. Ici, je me limiterai à un bref résumé des 10 parties, en combinant tous les chapitres de telle ou telle partie en une seule description. Puis, à la toute fin, j'écrirai mon opinion sur le livre et j'essaierai d'en faire ressortir les avantages et les inconvénients.

Fondamentaux de la programmation Web

De manière générale, ce livre ne traite pas seulement de PHP, mais aussi du Web, de l'Internet. En principe, il est presque impossible d'imaginer le langage PHP sans Internet - par exemple, en tant qu'application de bureau, application mobile ou pilote pour un système d'exploitation. C'est pourquoi les auteurs de ce livre partent de loin. Par exemple, il couvre des concepts tels que TCP/IP, serveur, ISP, hébergement, document HTML, port, et bien plus encore. Les méthodes GET et POST sont expliquées, et il y a une brève introduction au HTML (principalement les formulaires), au CGI et au serveur web PHP intégré.

Bases de PHP

Cette section comprend 8 chapitres et est entièrement consacrée aux concepts de base du langage. Ceux qui connaissent les langages de programmation par le biais de livres seront plus que familiers avec ce dont nous parlons : variables, types de données, opérations, instructions conditionnelles, boucles, etc. Parmi les choses qui ne sont pas tout à fait familières ici, il y a peut-être le traitement des données envoyées par des formulaires, ainsi que les générateurs. D'ailleurs, les fonctions sont également expliquées ici.

Fonctions standard de PHP

Php a un grand nombre de fonctions intégrées pour travailler avec différents types de données, couvrant une grande variété de cas. Certaines de ces fonctions ne sont malheureusement plus recommandées, même par les développeurs du langage. Néanmoins, si vous ne souhaitez pas lire la documentation officielle (qui, selon moi, reste la source originale et contient une liste complète de fonctions), vous pouvez vous familiariser avec la liste proposée par les auteurs de ce livre. D'autant plus que les fonctions les plus populaires et les plus fréquemment utilisées sont rassemblées ici. Elles sont divisées en groupes, chaque groupe constituant un chapitre distinct, de sorte qu'il me sera plus facile d'énumérer les noms des chapitres :

  • Fonctions de chaînes
  • Travail avec les tableaux
  • Fonctions mathématiques
  • Travail avec les fichiers et les répertoires
  • Droits d'accès et attributs de fichiers
  • Démarrage de programmes externes
  • Travail avec la date et l'heure
  • Bases des expressions régulières

Bases de la programmation orientée objet

Bien que le texte fasse environ 100 pages, il ne contient pratiquement aucune théorie longue et fastidieuse sur la programmation orientée objet. Le texte part du principe que vous êtes déjà quelque peu familiarisé avec le concept. Dans ce livre, comme dans beaucoup d'autres, on peut dire qu'il s'agit d'une plongée en douceur dans la POO, mais dès les premières pages, vous trouverez du code PHP. Les sujets abordés ne sont pas différents des sujets classiques de la POO : création d'objets, constructeurs, destructeurs. D'ailleurs, lorsque les destructeurs sont discutés, les thèmes de la collecte des déchets et des références cycliques sont abordés.

Et puis il y a les modificateurs d'accès (public, protected, private), les mots-clés this, self, la sérialisation des objets et les méthodes magiques. Les auteurs couvrent également les principaux paradigmes de la programmation orientée objet, tels que l'héritage, le polymorphisme et l'encapsulation. Les thèmes des interfaces, des traits, des méthodes abstraites et virtuelles sont également abordés. Incidemment, il y a eu beaucoup d'améliorations mineures et de sucre syntaxique sur la POO en PHP dans les RFC au fil des ans, mais la version actuelle du livre ne l'a certainement pas (peut-être que les éditions plus récentes, s'il y en a, l'ont ajouté). En général, cette partie est bien travaillée - les thèmes de l'espace de noms, les autoloaders de classes sont traités. Le dernier chapitre est consacré à la gestion des erreurs.

Les classes prédéfinies en PHP

Si PHP dispose d'un grand nombre de fonctions intégrées pour travailler avec différents types de données, il est évident que beaucoup d'entre elles pourraient être combinées en classes pour faciliter leur utilisation. Si les développeurs du langage l'avaient fait dès le début - par exemple, avec des fonctions pour travailler avec des chaînes ou des tableaux - cela aurait été encore plus pratique (Laravel, par exemple, a de telles classes).

Dans le langage natif, cependant, des ensembles de fonctions légèrement différents sont regroupés dans des classes. Il s'agit, par exemple, de travailler avec la date et l'heure, les types de données itérés, la réflexion (travailler avec le code), les fichiers et les répertoires, etc.

Les réseaux en PHP

Nous revenons ici au début du livre et abordons le sujet des réseaux, mais avec PHP. Nous abordons la définition et la réception des en-têtes, le travail avec les cookies et les sessions, et le travail avec les URL (en fait, nous parlons des tableaux globaux de PHP et de certaines fonctions standard). Cette partie du livre montre également des exemples de travail avec les sockets et le courrier. Chacun de ces sujets est couvert en détail (à l'exception des sockets, peut-être).

Extensions PHP

Nous parlons ici des extensions que nous pouvons activer et désactiver dans le fichier de configuration php.ini. Certaines de ces extensions sont intégrées au langage de base, tandis que d'autres sont des extensions tierces et nécessitent des étapes supplémentaires pour être installées et activées.

Cette partie du livre explique comment installer ces extensions et comment les activer sur différents systèmes d'exploitation. Quelques directives php.ini sont brièvement expliquées et comment changer la taille de la mémoire autorisée, par exemple.

L'un des chapitres de cette section est consacré à la sécurité et au filtrage des données d'entrée qui doivent être acceptées et traitées - par exemple, à partir de formulaires d'utilisateur ou d'URL. Les exemples utilisent des expressions régulières, il est donc conseillé d'avoir une idée générale de ce que sont ces expressions.

D'autres chapitres sur MySQL, les images, la mise en réseau et Memcached suivent. En ce qui concerne les bases de données, une brève introduction à la théorie, des colonnes et des lignes aux clés et aux types de données. Des exemples de travail avec des bases de données par le biais de requêtes SQL normales et de l'extension PDO sont couverts (en fait, il n'est pas surprenant que PDO soit mentionné dans le thème des extensions - c'est à cela que servait le cours d'introduction sur les bases de données, au cas où le lecteur ne les connaîtrait pas).

En ce qui concerne le travail avec les images, l'extension GD est abordée ici. Pour la mise en réseau, l'extension php-curl a été utilisée, et pour Memcached, l'extension php7-memcached a été utilisée.

Librairies

Plusieurs chapitres couvrent ce qu'est Composer (et comment l'installer et travailler avec), ce qu'est Packagist, et où trouver des bibliothèques tierces. À la fin du chapitre, vous apprendrez à créer une bibliothèque qui pourra être utilisée par d'autres. Les auteurs présentent au lecteur le PSR pour s'assurer que le futur composant est conforme à un certain nombre d'exigences et de normes communes.

Techniques de programmation PHP

L'une des parties les plus ambiguës du livre, constituée de petits chapitres conçus pour montrer comment travailler avec du code à l'aide d'exemples concrets. Ces exemples incluent : travailler avec XML, travailler avec des formulaires (ce qui a déjà été évoqué à plusieurs reprises, mais ici avec le téléchargement de fichiers), mettre en place des redirections, travailler avec HTML, et quelques autres sujets sans rapport avec le sujet.

Déploiement

Le déploiement n'est pas une solution moderne de CI/CD. Il s'agit plutôt d'installer Git, de se connecter via SSH, et d'installer d'autres outils dont vous avez besoin pour être opérationnel avec PHP si vous voulez écrire plus que de simples scripts. Cela inclut l'installation d'une base de données, d'un serveur web et d'une machine virtuelle.

Conclusion

Plusses

Un livre très détaillé qui n'est pas ennuyeux à lire et qui est accompagné d'un grand nombre d'exemples et d'insertions de code. Chaque sujet fait l'objet d'une description détaillée. Je dirais que ce livre peut être placé en toute sécurité à la deuxième place en termes d'informations utiles et informatives - après la documentation officielle. En ce qui me concerne, c'est le livre le plus détaillé sur PHP que j'ai jamais vu.

Minus

Le livre n'est pas seulement grand - il est énorme. Beaucoup de personnes risquent de ne jamais arriver au bout. De plus, une partie du contenu est obsolète (j'espère que les auteurs se tiennent au courant et publient des versions mises à jour du livre).

Вверх