PHP 7 im Original

PHP 7 im Original
Dmitry Koterov, Igor Simdyanov
Genres: Programmierung
Jahr der Veröffentlichung: 2016
Jahr der Lektüre: 2020
Meine Bewertung: Höchste
Anzahl der Lesevorgänge: 1
Gesamtseitenzahl: 1071
Zusammenfassung (Seiten): 0
Originalsprache der Veröffentlichung: Russisch
Übersetzungen in andere Sprachen: Keine Übersetzungen in andere Sprachen gefunden

Gewöhnlich schreibe ich in Rezensionen eine kleine Nacherzählung aller Kapitel, aber vielleicht nicht in diesem Fall. Hier werde ich mich auf eine kurze Zusammenfassung der 10 Teile beschränken und alle Kapitel dieses oder jenes Teils in einer einzigen Beschreibung zusammenfassen. Ganz am Ende werde ich dann meine Meinung über das Buch schreiben und versuchen, seine Vor- und Nachteile hervorzuheben.

Grundlagen der Webprogrammierung

Grundsätzlich geht es in diesem Buch nicht nur um PHP, sondern auch um das Web, um das Internet. Im Prinzip ist es fast unmöglich, sich die Sprache PHP ohne das Internet vorzustellen - etwa als Desktop-Anwendung, als mobile Anwendung oder als Treiber für ein Betriebssystem. Deshalb fangen die Autoren des Buches auch von weit her an. So werden zum Beispiel Begriffe wie TCP/IP, Server, ISP, Hosting, HTML-Dokument, Port und vieles mehr behandelt. GET- und POST-Methoden werden erklärt, und es gibt eine kurze Einführung in HTML (hauptsächlich Formulare), CGI und den eingebauten PHP-Webserver.

Grundlagen von PHP

Dieser Teil besteht aus 8 Kapiteln und ist ganz den Grundkonzepten der Sprache gewidmet. Diejenigen, die mit Programmiersprachen aus Büchern vertraut sind, werden mit dem, worüber wir sprechen, mehr als vertraut sein: Variablen, Datentypen, Operationen, bedingte Anweisungen, Schleifen und dergleichen. Zu den Dingen, die hier nicht ganz so vertraut sind, gehören vielleicht die Verarbeitung von Daten, die von Formularen gesendet werden, sowie Generatoren. Übrigens werden hier auch Funktionen erklärt.

Standard PHP-Funktionen

PHP verfügt über eine große Anzahl eingebauter Funktionen für die Arbeit mit verschiedenen Datentypen, die eine Vielzahl von Fällen abdecken. Einige dieser Funktionen werden leider selbst von den Entwicklern der Sprache nicht mehr zur Verwendung empfohlen. Wenn Sie jedoch nicht die offizielle Dokumentation lesen wollen (die meiner Meinung nach immer noch die Originalquelle ist und eine vollständige Liste der Funktionen enthält), können Sie sich mit der von den Autoren dieses Buches vorgeschlagenen Liste vertraut machen. Dies umso mehr, als hier die populärsten und am häufigsten verwendeten Funktionen gesammelt sind. Sie sind in Gruppen unterteilt, wobei jede Gruppe ein eigenes Kapitel darstellt, so dass es für mich einfacher ist, die Namen der Kapitel aufzuführen:

  • Zeichenfolgenfunktionen
  • Arbeiten mit Arrays
  • Mathematische Funktionen
  • Arbeiten mit Dateien und Verzeichnissen
  • Zugriffsrechte und Dateiattribute
  • Starten externer Programme
  • Arbeiten mit Datum und Uhrzeit
  • Grundlagen regulärer Ausdrücke

Grundlagen der objektorientierten Programmierung

Obwohl der Text etwa 100 Seiten lang ist, gibt es hier fast keine langatmige OOP-Theorie. Das Material setzt voraus, dass Sie mit dem Konzept bereits einigermaßen vertraut sind. In diesem Buch, wie auch in vielen anderen, kann man von einem sanften Eintauchen in die OOP sprechen, aber schon auf den ersten Seiten finden Sie PHP-Code. Die behandelten Themen unterscheiden sich nicht von Standard-OOP-Themen: Objekterzeugung, Konstruktoren, Destruktoren. Die Diskussion über Destruktoren berührt übrigens auch die Müllsammlung und zyklische Referenzen.

Und dann gibt es noch Zugriffsmodifikatoren (public, protected, private), die Schlüsselwörter this, self, Serialisierung von Objekten und magische Methoden. Die Autoren gehen auch auf die wichtigsten Paradigmen der objektorientierten Programmierung ein, wie Vererbung, Polymorphie und Verkapselung. Auch die Themen Schnittstellen, Traits, abstrakte und virtuelle Methoden werden gestreift. Übrigens hat es im Laufe der Jahre in RFCs eine Menge kleinerer Verbesserungen und syntaktischen Zuckers zu OOP in PHP gegeben, aber die aktuelle Version des Buches enthält dies sicherlich nicht (vielleicht haben neuere Ausgaben, wenn überhaupt, dies hinzugefügt). Im Allgemeinen ist dieser Teil gut ausgearbeitet - Namespace-Themen, Klassen-Autoloader werden behandelt. Das letzte Kapitel ist der Fehlerbehandlung gewidmet.

Vordefinierte Klassen in PHP

Wenn PHP eine Menge eingebauter Funktionen für die Arbeit mit verschiedenen Datentypen hat, dann könnten natürlich viele von ihnen in Klassen zusammengefasst werden, um die Benutzung zu erleichtern. Wenn die Entwickler der Sprache dies von Anfang an getan hätten - zum Beispiel mit Funktionen für die Arbeit mit Strings oder Arrays - wäre es vielleicht sogar noch bequemer gewesen (Laravel hat zum Beispiel solche Klassen).

In der Muttersprache sind jedoch etwas andere Funktionsgruppen in Klassen zusammengefasst. Dazu gehören z.B. die Arbeit mit Datum und Uhrzeit, iterierte Datentypen, Reflection (Arbeit mit Code), Dateien und Verzeichnisse usw.

Netzwerke in PHP

Hier kehren wir zum Anfang des Buches zurück und behandeln das Thema Netzwerke, allerdings mit PHP. Wir behandeln das Setzen und Empfangen von Headern, die Arbeit mit Cookies und Sessions und die Arbeit mit URLs (wir sprechen sogar über globale PHP-Arrays und einige Standardfunktionen). Dieser Teil des Buches zeigt auch Beispiele für die Arbeit mit Sockets und Mail. Jedes dieser Themen wird ausführlich behandelt (außer Sockets vielleicht).

PHP-Erweiterungen

Hier geht es um Erweiterungen, die wir in der Konfigurationsdatei php.ini aktivieren und deaktivieren können. Einige dieser Erweiterungen sind in die Kernsprache integriert, während andere von Drittanbietern stammen und zusätzliche Schritte zur Installation und Aktivierung erfordern.

In diesem Teil des Buches wird erklärt, wie man diese Erweiterungen installiert und wie man sie auf verschiedenen Betriebssystemen aktiviert. Einige php.ini-Direktiven werden kurz erklärt und wie man zum Beispiel die Größe des erlaubten Speichers ändert.

Eines der Kapitel in diesem Abschnitt ist der Sicherheit und der Filterung der Eingabedaten gewidmet, die akzeptiert und verarbeitet werden müssen - zum Beispiel von Benutzerformularen oder URLs. Die Beispiele verwenden reguläre Ausdrücke, so dass es ratsam ist, eine allgemeine Vorstellung davon zu haben, was diese sind.

Weitere Kapitel über MySQL, Bilder, Netzwerke und Memcached folgen. Zu den Datenbanken gibt es eine kurze Einführung in die Theorie, von Spalten und Zeilen bis zu Schlüsseln und Datentypen. Es werden Beispiele für die Arbeit mit Datenbanken sowohl durch reguläre SQL-Abfragen als auch durch die PDO-Erweiterung behandelt (eigentlich ist es nicht überraschend, dass PDO im Thema Erweiterungen erwähnt wird - dafür war der Einführungskurs über Datenbankgrundlagen gedacht, falls der Leser damit nicht vertraut ist).

Im Hinblick auf die Arbeit mit Bildern wird hier die GD-Erweiterung behandelt. Für die Vernetzung wurde die php-curl-Erweiterung verwendet, und für Memcached die php7-memcached-Erweiterung.

Bibliotheken

Es gibt mehrere Kapitel, die sich damit beschäftigen, was Composer ist (und wie man ihn installiert und damit arbeitet), was Packagist ist und wo man Bibliotheken von Drittanbietern findet. Am Ende des Kapitels erfahren Sie, wie Sie eine Bibliothek erstellen, die von anderen verwendet werden kann. Die Autoren führen den Leser in die PSR ein, um sicherzustellen, dass die zukünftige Komponente eine Reihe von allgemeinen Anforderungen und Standards erfüllt.

PHP-Programmiertechniken

Einer der unübersichtlichsten Teile des Buches, der aus kleinen Kapiteln besteht, die anhand von Beispielen aus der Praxis zeigen sollen, wie man mit Code arbeitet. Zu diesen Beispielen gehören: die Arbeit mit XML, die Arbeit mit Formularen (was schon oft angesprochen wurde, nur hier mit dem Hochladen von Dateien), das Einrichten von Weiterleitungen, die Arbeit mit HTML und einige andere nicht verwandte Themen.

Deployment

Deployment ist keine moderne CI/CD-Lösung. Vielmehr geht es darum, Git zu installieren, sich über SSH zu verbinden und einige der anderen Tools zu installieren, die Sie benötigen, um mit PHP loszulegen, wenn Sie mehr als nur Skripte schreiben wollen. Dazu gehört die Installation einer Datenbank, eines Webservers und einer virtuellen Maschine.

Fazit

Vorteile

Ein sehr detailliertes Buch, das sich nicht langweilig liest und von einer Vielzahl an Beispielen und Code-Snippets begleitet wird. Zu jedem Thema gibt es ausführliche Erklärungen. Ich würde sagen, dieses Buch kann in Bezug auf Informationsgehalt und Nutzen bedenkenlos auf den zweiten Platz nach der offiziellen Dokumentation gesetzt werden. Meiner Meinung nach ist es das ausführlichste PHP-Buch, das ich je gesehen habe.

Nachteile

Das Buch ist nicht nur groß – es ist riesig. Viele werden es vermutlich nie bis zum Ende schaffen. Zudem sind einige Inhalte bereits veraltet (hoffentlich behalten die Autoren das im Blick und veröffentlichen aktualisierte Ausgaben).

Вверх