2010-11-10 4 views
7

Ich plane eine kleine Web-App mit PHP zu erstellen. Das letzte Mal, dass ich PHP verwendet habe, war irgendwann 2002/2003, als der Code eher ein schrecklicher Brei aus PHP/HTML und Javascript in einer einzigen Datei war. Ich denke, dass ich vielleicht sogar PHP3 verwendet habe ...PHP neu lernen, wie hat sich das geändert?

Ich möchte jetzt neu lernen und möchte wissen, was sich geändert hat und welche Hilfs-Bibliotheken und -Tasellen existieren, die mich davor bewahren könnten, Dinge unwissentlich neu zu erfinden.

ZB gibt es eine "Standard" MySQL-Bibliothek, oder verwenden wir immer noch die grundlegenden PHP-Funktionen (als eine Nebenfrage, funktionieren gespeicherte Prozeduren in MySQL noch?)? Was muss ich wissen, um eine "moderne" Website zu erstellen, die nicht auf Ganzseiten-HTML-Formular-Posts angewiesen ist, um Daten zurück an den Server zu senden, usw.

+0

Ich empfehle, einige der OOP-Verbesserungen von PHP5 zu betrachten und vielleicht einige neuere Frameworks (als Zend-Framework) – Hannes

+0

Programmiersprachen zu entwickeln, nicht ändern. Der Ansatz für Entwicklungsänderungen (zB: MVC für Web-Apps). – zengr

Antwort

10

Willkommen zurück. PHP ist besser geworden!

Wenn Sie können, beginnen Sie mit 5.3 von Anfang an; Beachten Sie jedoch, dass viele Webhosts es noch nicht unterstützen (wenn das ein Problem ist). Wenn Sie mit PHP 4 konfrontiert werden, schreien Sie weg: Es ist nicht mehr für den produktiven Einsatz geeignet.

  • Die wichtigste Entwicklung ist finally proper OOP in PHP 5 mit dem Kennenlernen ist die einzige wirklich zwingend, was in meinen Augen.

  • Several popular frameworks haben sich weiterentwickelt, dass für Sie eine Menge von Low-Level-Arbeit tun. Die Zend Framework ist eine sehr hochwertige Code-Basis mit und mein persönlicher Favorit zu arbeiten, weil es auch verwendbar ist, als eine Komponentenbibliothek, die nicht sein Design zwingt Prinzipien, auf Sie; Da sind andere. (Here ist eine Vergleichsseite).

  • PDO ist definitiv die Low-Level-Datenbank-Klasse de jour. Es hat parametrisierte Abfragen SQL-Injektion verhindert und unterstützt a number of databases.

  • Die MVC design pattern ist ein sehr beliebtes Designmuster zum Erstellen dynamischer Websites und Anwendungen und ist als Designphilosophie in die meisten PHP-Frameworks eingebettet.

  • Class Autoloading ist eine großartige neue PHP 5-Funktion.

  • Eine relativ wenig beachtete neue Entwicklung ist die Standard PHP Library, die saubere, OOP-Lösungen für alltägliche PHP-Probleme bringt. Zum Beispiel die DirectoryIterator, die leicht rekursives Durchlaufen von Verzeichnissen ermöglicht; Die ArrayObject bietet eine OOP-Schnittstelle für viele (aber nicht alle) Kernarray-Funktionen.

  • Die DateTime class werden die alten UNIX-Zeitstempel im Laufe der Zeit ersetzen. Es bietet verbesserte Funktionalität und kann mit Daten arbeiten, die über den Zeitbereich 1970-2038 des 32-Bit-Zeitstempels hinausgehen.

Dies sind einige der Sachen unter der Haube.Es gibt wichtige clientseitige Entwicklungen, die Sie zumindest kennen sollten; nämlich Ajax, um serverseitige Daten abzurufen, ohne die Seite neu zu laden, und ein JavaScript-Framework wie jQuery zu verwenden, um mit den Details umzugehen. CSS, mit denen du schon vertraut bist.

+0

+1 Gute motivierende Antwort :) – Sarfraz

0

Wechseln Sie zu Zend Framework, wenn Sie beginnen, zuerst tun einige gute Forschung zu OOP. Stellen Sie sicher, dass Sie Begriffe wie Polymorphie und Vererbung verstehen. Das letzte, was Sie lernen müssen, sind PHP-Patterns wie Singleton Pattern und Factory Pattern, abstrakte Klassen und Interface-Implementierung.

+0

"Das letzte, was Sie lernen müssen, sind PHP-Muster wie Singleton-Muster und Factory-Muster" - PHP-Muster !? Ernst!? – jondro

+0

Möglicherweise liegt ein Sprachproblem vor. Wenn ein englischer Muttersprachler sagt "Das letzte, was du tun musst ... ist ...", bedeutet dieses Idiom oft "Tue das nicht!", Aber ich denke nicht, dass das genau das ist, was Max beabsichtigt hat. Ich verstehe jondros Kommentar nicht, also weiß ich es nicht genau, aber ich denke, sie haben Max 'Aussage in die andere Richtung gebracht. –

+0

Ich bin mir nicht sicher, was ist los lol :) Nur ein paar Tipps, was zu lernen ist. – Conex

0

Hier sind Lösungen:

  1. Verwenden ORM zu abstrahieren von SQL >> Zum Beispiel gibt es eine "Standard" MySQL-Bibliothek oder verwenden wir immer noch die grundlegenden PHP-Funktionen

  2. Verwendung MVC Rahmen >> Hilfs-Bibliotheken und tazlits existieren

  3. Verwenden Sie Javascript für bessere Benutzererfahrung JS Frameworks >> machen Sie eine "moderne" Website

Verwandte Themen