Diskussion:PHP praxisorientiert lernen

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Gesamtübersicht Operatoren bitte in den Anhang[Bearbeiten]

Ich kenne jetzt dein Konzept nicht. Nur bitte ich dich um eines, dass du nicht am Anfang eine riesige Trockenübungen in Sachen Operatoren und Variablen kommt. Operatoren können einen Anfänger ganz schön verwirren. Insbesondere weil der Praxisbezug fehlt. Könntest du mit einfachen Rechenoperatoren ( + - * / % ) anfangen und die Operatoren der Aussagelogik (und / oder / nicht / größer / gleich / ungleich / kleiner) bei den (if-) Abfragen anstellen, und die ganz besonderen Operatoren der Bitmanipulation (falls du die vorhast) noch weiter nach hinten anstellst??

  • für eine Zusammenfassung aller Operatoren würde sich in jedem Artikel ein Vertiefungslink, der auf den Anhang verweist, empfehlen wie z.B.
Den Themenbereich Operatoren in PHP - (Zusammenfassung) vertiefen...

Gruß --mjchael 16:02, 16. Jul. 2007 (CEST)

Überarbeitung des Gesamtkonzepts[Bearbeiten]

Ich habe bereits ein paar Änderungen an einleitenden Kapiteln vorgenommen. Um allerdings das komplette Buch weiter zu schreiben oder besser noch fertig zu stellen werde ich erst einmal das komplette Konzept überdenken. Ich bin nicht derjenige, der dieses Buch hier angefangen hat, doch die Idee gefällt mir sehr gut.

Das Problem hier ist dass - ähnlich wie bei einem Programmierprojekt - ein schlüssiges Konzept fehlt. Es wurde an verschiedenen Stellen begonnen zu schreiben, was jedoch für ein praxisbezogenes Buch nicht die beste Lösung ist. Die späteren Kapitel sollten auf die früheren aufbauen, also müssen sie auch in dieser Reihenfolge geschrieben werden.

Da dieses Buch nun verwaist ist werde ich versuchen erst einmal die Struktur für das Buch neu zu definieren. Wenn und falls ich das erledigt habe werde ich dieses Buch wohl übernehmen und versuchen es voran zu bringen. Mich würde interessieren ob sich noch jemand für dieses Buch interessiert und Ideen, Vorschläge hat.

MfG --DerAndi83 22:21, 29. Jan. 2009 (CET)

  • Ich finde den Ansatz des Buches sehr gut und würde gerne in einigen Kapiteln mitwirken. Hätte selbst eine solche Dokumentation früher gebrauchen können. Lohnt es sich schon Seiten anzulegen oder wird am Konzept noch gearbeitet?

Grüße --Stefan86 22:33, 12. Mär. 2009 (CET)

  • Da mir der Ansatz des Buches sehr gut gefällt, helfe ich gerne mit, an einigen Kapiteln zu schreiben.

--SimonZ 04:07, 21. Apr. 2009 (CEST)

Neustart mit neuem Konzept[Bearbeiten]

Es wäre schön, wenn wir dieses Buch fertig stellen könnten, da es imho einen guten Ansatz verfolgt: Eine praxisnahe Einführung, die nicht darauf Wert legt, alle möglichen Wege aufzuzeigen, etwas zu tun, sondern nur die für den aktuellen Abschnitt relevanten bzw. angemessenen Möglichkeiten. Allerdings bedarf das Konzept noch ein wenig Feinarbeit, wie es auch oben beschrieben wird. Vielleicht könnten wir hier ein paar Vorschläge sammeln und ein solches Konzept ausarbeiten? Aus dem bisherigen kann man die folgenden Punkte entnehmen:

  • Aufeinander aufbauende Kapitel
  • Verwendung praktischer Beispiele
  • Übungsaufgaben
  • Anrede mit Sie
  • Für Autoren: Erstellung von Wissensprofilen zu jedem Kapitel

Ein paar Vorschläge, die ich gern in die Diskussion einbringen möchte:

  • Gestaltung der praktischen Beispiele:
    • ein Hauptprojekt (etwa: Erstellung einer datenbankgestützten Website mit Benutzerauthentifizierung), oder,
    • wie laut Inhaltsverzeichnis angedacht, jeweils praktische Beispiele für die Abschnitte
  • "Synergien" mit dem eher als Referenz gestaltetem Buch Websiteentwicklung: PHP, z.B. durch Verweise im Stil von "Mehr Informationen zu den verschiedenen Möglichkeiten, Strings zu definieren, finden Sie im Kapitel Ausgabe des PHP-Buches"
  • Den Aspekt der Sicherheit stärker beleuchten, da dieser in vielen im Netz vorhandenen Tutorials stiefmütterlich behandelt wird
  • Listings zum Download
  • Optisch: Auf die Fettung einzelner Worte verzichten, Hinweiskästen etablieren

Da die einzelnen Kapitel aufeinander aufbauen, müssen wir auch eine Lösung finden, dass trotzdem jedes Kapitel für sich bearbeitet werden kann. Ein Ansatz wurde ja schon mit dem Wissensprofil gemacht; aber vielleicht gibt es noch einen besseren Weg, die Abhängigkeiten aufzulösen? --Misericordia 14:36, 27. Mai 2010 (CEST)

Hallo, ich bin im Prinzip dafür, mir hat sich die Trennung zwischen diesem Buch und dem anderen PHP-Buch leider noch nicht erschlossen. Vielleicht kann ich ja kurz meine Sicht erklären:

  • wir sollten ein Lernbuch für PHP haben, was
  • in aller Ausführlichkeit auf Anfänger eingeht
  • "best practice" nutzt (Bennung von Variablen/Dokumentation/…)
  • Wert auf Sicherheit legt (Nutzung von hmtlspecialchars/PDO oder mysql_real_escape_string/Inputvalidierung/keine Nutzung von $_REQUEST/…)
  • valides HTML5 nutzt

Das andere Buch hat mehr Inhalt als dieses, ist allerdings überhaupt nicht anfängerfreundlich. Ich habe angefangen, daran etwas zu ändern, allerdings sieht es bei mir zeitlich überhaupt nicht gut aus. Aber prinzipiell stimme ich mit dir überein. --NeuerNutzer2009 15:43, 27. Mai 2010 (CEST)

Deine Punkte würde ich alle so unterschreiben, besonders Best Practices. Wenn der Leser das von Anfang an lernt, wird er selbst merken, wie nützlich sprechende Funktionsnamen & Co. sind. Zum Zwei-Bücher-Problem: Wie könnte man die beiden zu einem einzigen kombinieren? Den Praxisteil als Überbau und die jetzigen Kapitel quasi als Anhang? Was ich mir auch vorstellen könnte, wäre eine Art "Exkurs" zu einzelnen Bereichen (Variable Scope inkl. global und static, Array-Funktionen). --Misericordia 16:46, 27. Mai 2010 (CEST)
Tja, das kombinieren ist insofern schwierig, als das beide zwar die selben Anfängerthemen behandeln, vom Stil her aber ziemlich unterschiedlich sind. Ich habe schon bei den (wenigen) Sachen die ich am "anderen" Buch gemacht habe gemerkt, dass es praktisch auf ein Neuschreiben des Buches hinausläuft. Worüber wir uns erstmal einigen sollten:
  • ich ziehe das Syntaxhighlighting des anderen Buches vor, die Aufteilung dieses Buches (ich nenne es ab jetzt "praxis") in "Ausgabe" und "Darstellung" finde ich unnötig
  • mittelfristig sollte das Buch unter "PHP:" zu finden sein
  • die Installation eines Webservers/von PHP sollte in diesem Buch nicht behandelt werden, so etwas ist in einem Buch über Apache wesentlich besser aufgehoben (ein Verweis aud XAMPP/LAMPP usw. reicht vollkommen aus)
  • was die Zusammenführung angeht, würde ich fast vorschlagen, dieses Buch in das andere zu überführen, da hier weniger Inhalt vorhanden ist
  • was wir auf jeden Fall bedenken müssen (und weshalb ich keinen Inhalt gelöscht habe, auch wenn man ihn praktisch neu schreibt) ist das so ein Buch eine ziemliche Arbeit macht, und ich oder du, oder wir beide, im Verlauf der Arbeit die Lust daran verlieren. Du siehst an diesem Buch, das dann schnell ein größtenteils rotes Inhaltsverzeichnis übrig bleibt. Mein Vorschlag (und ursprünglicher Plan) wäre daher, sich zuerst auf die Grundlagen zu konzentrieren (was soll rein, in welcher Reihenfolge, welche Beispiele und Übungen). Der Aufbau einer Art "Webseitenframework" als Hauptprojekt finde ich gut. Hast du schon eine genauere Vorstellung? --NeuerNutzer2009 20:24, 27. Mai 2010 (CEST)

Nachtrag: man könnte auch die Struktur dieses Buches als Vorbile nehmen und versuchen, die anderen Seiten erstmal einfach "einzuhängen" --NeuerNutzer2009 20:28, 27. Mai 2010 (CEST)

Da hast du vollkommen Recht: Wir sollten zunächst so detailliert wie möglich das Konzept und eine Zusammenfassung für jedes Kapitel entwickeln, damit andere Autoren das Buch, wenn nötig, übernehmen oder Kapitel überspringen können. Was ich mir für den groben Aufbau mit Beispielprojekt überlegt habe:

  • Zu Beginn gibt es eine Projektbeschreibung, welche die Anforderungen der fiktiven Website nennt. Diese sollten möglichst alle Themen der PHP-Programmierung abdecken. Da das Erlernen von (X)HTML bzw. SQL nicht Bestandteil des Buches ist, werden Beispieldateien zum Download angeboten.
  • Jedes Kapitel führt zunächst mit einfachen Beispielen in den jeweiligen Bereich ein. Die sollten zwar umfangreicher erklärt werden als die aktuellen im PHP-Buch, aber nur die wichtigsten Dinge ansprechen (also etwa auf HEREDOC verzichten).
  • Anschließend wird die konkrete Anwendung für das Beispielprojekt implementiert.
  • Die Kapitel haben Links zur PHP-Dokumentation, zu vertiefenden Abschnitten im Buch und, wenn es sich anbietet, zu Texten über Eigenheiten/Best Practices in PHP, z.B. "Sprachkonstrukte vs. Funktionen". Natürlich nur, solange diese speziell für PHP gelten: Warum man seinen Code dokumentieren sollte, gilt für alle Sprachen gleich und könnte auch in einem Buch "Programmierung" oder "Software Design" zu finden sein. Dass der PHPDoc-Stil der geläufigste ist und wie man ihn verwendet, soll dagegen natürlich Thema sein.

Als Reihenfolge der (Haupt)kapitel schlage ich die (sehr ähnliche) der beiden Bücher vor, allerdings Funktionen so früh wie möglich, also:

  • Einführung in das Projekt
  • Erste Schritte mit PHP (Verweis auf XAMPP/LAMPP, Ausgabe mit echo, Einführung in Funktionen)
  • Skalare Variablen inkl. Casten und Debuggen mittels var_dump
  • Funktionen mit Parametern (sollen hier static und global behandelt werden?)
  • include/require
  • if/switch (z.B. in Kombination mit rand() oder als Front-Controller)
  • Arrays und die Benutzereingaben $_GET und $_POST (wie du oben geschrieben hast: Sicherheitsaspekte, Inputvalidierung, escapen, etc.)
  • Selbstständig Dinge in der PHP-Doku nachschlagen (wurde hier im Praxisbuch angeführt)
  • Arbeiten mit Dateisystem (bzw. Ressourcen im allgemeinen), Fehlerbehandlung und Konstanten (einfacher Logger)
  • Datenbankanbindung (PDO?) und SQL-Injections
  • Sessions und XSRF

Was meinst du dazu? Und noch eine andere Frage: Inwieweit sollen die String- und Arrayfunktionen vorgestellt werden? --Misericordia 13:14, 31. Mai 2010 (CEST)

Ich habe jetzt mal begonnen. Über Feedback wäre ich dankbar (insbesondere in der Frage PDO ja oder nein). --Misericordia 17:17, 14. Jul. 2010 (CEST)
Da bereits eine ausführliche, zu großen Teilen in deutsch verfasste, verständlich geschriebene und außerdem – da offen für jede Mitarbeit – ständig gewartete PHP-Referenz existiert, bin ich der Meinung, dass dieses Buch hier in den Band Websiteentwicklung aufgenommen werden sollte. Die veraltete, unvollständige und unaufgeräumte Referenz namens Websiteentwicklung: PHP sollte dann entsprechend gelöscht werden, nach dem alle brauchbaren Teile hierhin kopiert wurden.
zu "Synergien mit dem eher als Referenz gestaltetem Buch Websiteentwicklung: PHP [nutzen]": Davon würde ich auf Grund immer wieder neu erscheinender Versionen abraten. Es ist absolut nicht zielführend eine Parallel-Referenz zu php.net zu führen. Wer an einer PHP-Referenz mitarbeiten möchte, sollte sich lieber dort um einen Account für die Dokumentation bewerben!
zu "static und global": dies gehört in ein separates Kapitel zu OO-Programmierung, nicht in ein allgemeines über Funktionen (merke Funktionen != Methoden) --Feeela 22:36, 20. Okt. 2011 (CEST)
Also bist du eher dafür, alle praktischen Teile hierher zu kopieren und dann Websiteentwicklung: PHP zu löschen, anstatt umgekehrt?
"static und global" gibt es auch speziell in Funktionen: [1]. Von global ist natürlich wie auch von globale Variablen im allgemeinen abzuraten, static kann jedoch manchmal ganz nützlich sein, z.B. um die Zahl der Funktionsaufrufe in einer Baumtraversierung zu zählen. --Misericordia 17:00, 21. Okt. 2011 (CEST)
Ja, ich bin dafür "alle praktischen Teile hierher zu kopieren und dann Websiteentwicklung: PHP zu löschen".
Zu static und global – da hast du recht, das hatte ich lediglich wohl gerade nicht im Kopf, obwohl selber schon zu Genüge eingesetzt. Und selbst global wird wohl immer wieder benötigt werden, derzeit zum Beispiel noch für die Plugin-Entwicklung für diesen Code-Haufen namens Wordpress.
Im Endeffekt wäre es mir lieber, hier eine gut geschriebene, praxisnahe und mit vielen Beispielen versehene Einleitung zu PHP zu lesen. Für die Erläuterung der einzelnen Funktionen sollte so oft es geht auf das offizielle PHP-Manual verwiesen werden. Wie dies in Hinblick auf ein gedrucktes Buch gut machbar ist weiß ich nicht. Allerdings kenne ich persönlich keinen Programmierer, der ein Papier-Buch zum Erlernen von PHP genutzt hätte. Die meisten Funktionen werden mir eh' durch das Auto-Vervollständigen-Feature meiner IDE erklärt. Bestimmte Arbeitsabläufe, Standards und hilfreiche Hinweise jedoch stehen oft nicht so deutlich in der Referenz – dies würde ich hier erwarten. Eine Liste mit zu beantwortenden Fragen findet sich zum Beispiel auf SO. --Feeela 22:02, 21. Okt. 2011 (CEST)
Mir fällt gerade noch auf, dass hier nirgendwo Design Patterns erläutert werden. Je früher man diese nutzt, desto einfacher hat man es später beim programmieren (und zwar nicht nur in PHP) --Feeela 22:51, 21. Okt. 2011 (CEST)