Johannes Pekkendorf: Wie lerne ich am besten PHP?

Guten Tag

Könnt ihr mir vielleicht Tipps geben, wie ich am besten und recht schnell PHP lernen kann. Wäre es klug, direkt mit der Programmierung eines Forums anzufangen, oder sollte ich mich erst langsam im Schwierigkeitsgrad steigern? Wie gesagt, ich habe nicht allzu viel Zeit. Wie lange würde es für mich als Einsteiger dauern, ein Forum (was nicht sehr kompliziert sein muss) zu programmieren? Ich habe gute Kenntnisse in HTML und JavaScript, auch welche in Perl/CGI.

Freundliche Grüße,
Johannes

  1. Hi

    Könnt ihr mir vielleicht Tipps geben, wie ich am besten und recht schnell PHP lernen kann. Wäre es klug, direkt mit der Programmierung eines Forums anzufangen, oder sollte ich mich erst langsam im Schwierigkeitsgrad steigern?

    Das kommt sehr stark darauf an, was du kannst. Wenn du das Programmablaufschema runterbeten kannst, dann ist das ganze eine Sache von höchstens 4 Wochen, wenn du aber auch in Perl nicht all zu viel kannst, wird's schwer.

    Wie gesagt, ich habe nicht allzu viel Zeit. Wie lange würde es für mich als Einsteiger dauern, ein Forum (was nicht sehr kompliziert sein muss) zu programmieren? Ich habe gute Kenntnisse in HTML und JavaScript, auch welche in Perl/CGI.

    Einen Monat minimum. Ich habe vor circa einem halben Jahr angefangen und  schreibe erst jetzt mein "erstes" Forum(!= Board). Das geht jedoch erstaunlich schnell, da mir die Abläufe, die gemacht werden müssen klar sind. Wenn du weißt was du willst, ist es kein Problem, mit dem Werkzeug (der Sprache) umzugehen. Umgekehrt weißt du nicht, wie man ein Forum bastelt, wenn du die Syntax von PHP kennst.

    Fabian

    1. Danke an euch alle, für die zahlreichen Beiträge und nützlichen Links. Ein Buch über PHP habe ich schon gelesen, habe also schon einen guten Schritt hin zur Programmierung eines Forums getan.

      Wenn du weißt was du willst, ist es kein Problem, mit dem Werkzeug (der Sprache) umzugehen.

      Das wäre mein nächstes Problem. Könnt ihr mich beraten, wie ich so ein Forum am besten programmiere? Ist es also besser, die Daten in einer Textdatei zu speichern oder soll ich MYSQL verwenden? Welche der beiden Möglichkeiten ist die einfachere? Soll ich die Daten alle in einer Datei schreiben, soll ich nur eine PHP-Datei für alle Funktionen verwenden, usw....

      Ich wäre sehr dankbar, wenn ihr mir auch da weiterhelfen würdet.

      Johannes Pekkendorf

      1. Hi!

        Danke an euch alle, für die zahlreichen Beiträge und nützlichen Links. Ein Buch über PHP habe ich schon gelesen, habe also schon einen guten Schritt hin zur Programmierung eines Forums getan.

        Aha ;-) Wichtige Info! Trotzdem rate ich Dir die von mir oben gennannten ([pref:t=37490&m=205353]) Kapitel des Manuals mal anzusehen(falls noch nicht geschehen), dauert nicht sehr lange, aber dabei lernst Du sicher nochmal ne ganze Menge dazu.

        Wenn du weißt was du willst, ist es kein Problem, mit dem Werkzeug (der Sprache) umzugehen.

        Das wäre mein nächstes Problem. Könnt ihr mich beraten, wie ich so ein Forum am besten programmiere? Ist es also besser, die Daten in einer Textdatei zu speichern oder soll ich MYSQL verwenden? Welche der beiden Möglichkeiten ist die einfachere? Soll ich die Daten alle in einer Datei schreiben, soll ich nur eine PHP-Datei für alle Funktionen verwenden, usw....

        IMHO ist PHP die einfachere Variante, aber das ist Ansichtssache. Ich habe Dir oben in meinem Posting ebenfalls einen Link zu einem Featured Arikel gepostet der an einem kompletten Beispiel den Aufbau eines MySQL basierten Forums mit Threadstruktur wie diesem hier erklärt. Den kann ich nur empfehlen!

        Grüße
        Andreas

  2. Hallo Johannes!

    Es wäre gut zu wissen was du willst.

    Ich lese, dass du PHP lernen willst.
    Ich höre heraus, dass du ein Forum willst.

    Um ein Forum zu haben, muß es ja nicht gleich komplett
    selbstprogrammiert sein. (siehe http://alex.ilosuna.org/forum.html oder Archiv)
    Gerade, wenn man erst anfängt.

    Wenn du PHP _lernen_ willst, schnapp dir ein Projekt, setze dir Ziele (besser erst kleine) und fang an!

    friedlich grüßt
    Michael

  3. Hallo Johannes,

    wenn ich etwas Neues lernen möchte, hole ich mir am liebsten eines dieser Einsteigerbücher. Man kann dann nett die Übungsbeispiele nachprogrammieren (schnelle Erfolge) und erhält Einblick in die Grundstrukturen. Mit anderen Worten: man ist "auf dem richtigen Gleis" und kann sich je nach Interessenlage die weiteren benötigen Gebiete selber aneignen, gerade wenn schon Programmierkenntnisse vorhanden sind (oder über SelfHtml und dieses Forum...) Bei JavaScript und php hat es ganz gut so geklappt. Wichtig ist wohl, daß man das Erlernte direkt in einem konkreten Projekt anwenden muß.

    Schönen Abend
    Susanne

  4. Sup!

    *SCNR*

    Das hattet ihr doch von mir erwartet - oder?

    ;-)

    Gruesse,

    Bio

    --
    Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
    1. Hi Bio!

      Das hattet ihr doch von mir erwartet - oder?

      Ich glaube Dir nicht, ich habe das Gefühl das Du ganz tief im inneren schon zum PHP-Anhänger geworden bist, das nur noch nicht wahrhaben willst...
      *g*

      Grüße
      Andreas

      PS: Ich weiß das ich Recht habe, schreib was Du willst um Dein Gewissen zu beruhigen ;-)

      1. Sup!

        Ich glaube Dir nicht, ich habe das Gefühl das Du ganz tief im inneren schon zum PHP-Anhänger geworden bist, das nur noch nicht wahrhaben willst...

        Naaaa... vielleicht lerne ich es bei Gelegenheit, um PHP-Anfänger fundiert zur Schnecke machen zu können, obwohl ich es nicht mag, wie z.B. Java, was ich im Moment lerne.

        PS: Ich weiß das ich Recht habe, schreib was Du willst um Dein Gewissen zu beruhigen ;-)

        Ja, hmmm.... mal sehen... fällt mir nix ein! Ehrlich! ;-)

        Gruesse,

        Bio

        --
        Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
        1. Hi Bio,

          z.B. Java, was ich im Moment lerne.

          Du meinst sicher JavaScript ;-)

          Viele Grüße
          Mathias Bigge

          1. Sup!

            Du meinst sicher JavaScript ;-)

            Sicher. Noch 'ne Kippe? ;-)

            Gruesse,

            Bio

            --
            Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
    2. Hi,

      was bedeutet eigentlich "bio" ?

      biggest i???? online?

      *eiknw*
      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      1. Sup!

        biggest i???? online?

        bold irony outburst?
        big intro opener?
        brute illuminati overlord?

        Naja, ganz sicher ist:

        Die Antwort auf deine Frage findest du im Archiv.

        *ggg*

        Gruesse,

        Bio

        --
        Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
        1. Hallo Bio,

          <img src="/images/02.gif" border="0" alt="">

          Um es jetzt ein für alle mal Klarzustellen:

          </archiv/2000_2/t14060.htm#a71678>

          (ich habe ewig gebraucht, das zu finden...)

          Christian
          [scnr]

          --
          Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
        2. Hi,

          Naja, ganz sicher ist:

          <img src="/images/02.gif" border="0" alt="">

          dachte es mir

          Bist in Ordnung!

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
    3. Hi Bio,

      Das hattet ihr doch von mir erwartet - oder?

      Nein, für mich war's ne echte Überraschung, Dein Einstieg ins knappe Provo-Posting-Wesen. Vielleicht ein Genre, in dem ich auch mitmischen möchte.

      Übrigens: Ich habe PHP in meiner Firma aus Sicherheitsgründen agbeschaltet *g*

      Viele Grüße
      Mathias Bigge

      --
      http://www.selfaktuell.teamone.de/tippstricks/index.htm
      Backen ohne Mehl, Programiieren ohne PHP
      1. Sup!

        Nein, für mich war's ne echte Überraschung, Dein Einstieg ins knappe Provo-Posting-Wesen. Vielleicht ein Genre, in dem ich auch mitmischen möchte.

        Übrigens: Ich habe PHP in meiner Firma aus Sicherheitsgründen agbeschaltet *g*

        Hehe... vielleicht sollten wir eine unheilige Allianz gründen? Mattes & Bio Provocation Inc. - Specialists in raising virtual civil commotion - since 2003 (man beachte die 23!!!)...

        Gruesse,

        Bio

        --
        Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
        1. morgens ;-)

          Mattes & Bio Provocation Inc. - Specialists in raising virtual civil commotion - since 2003 (man beachte die 23!!!)...

          Wow, ich habe extra auch PHP abschalten müssen, um die "23" zu sehen. Echt klasse, was du hier an verborgenen Zeichen in dein posting eingebauzt hast.

          Mich interessiert nur, wie man das mit "PHP abschalten" auch auf anderen Rechnern machen kann. Probeweise hab ich mal den (undokumentierten) port 65423 disabled. Das ging nicht bzw. war wirkungslos. Daraufhin hab ich auch noch port 6667 disabled (leider der port, über den die meisten Chats laufen), und da gings plötzlich.
          Hm.
          Ich wußte ja, daß PHP was mit den ports anstellt (nachlesabar bei http://ports.php.net/  -  funktioniert aber nur zwischen 6.20 Uhr und 13.41 Uhr tagsüber). Das Problem war bisher, daß PHP ja auch eine (verborgene) dialer-Funktion hat. Wenn eine PHP-Seite aufgerufen wird, wird normalerweise eben der undokumentierte port 65423 angesteuert und gleichzeitig als port 80 maskiert. Merkwürdig, daß das noch niemandem hier im Forum aufgefallen ist ...

          ernsthafte Grüße aus Berlin

          Christoph S.

    4. Das GAR NICHT ist nicht so verkehrt :-)))

      Ich habe PHP am Anfang (vor einem halben Jahr) auch mal ausprobiert,
      es ist zu lahm und hat unzureichende Funktionen. Ich mach's lieber in C, da brummt der Server.

      Ich halte PHP für so eine Art Spielzeugs um den Leuten einzureden, sie könnten "einfach" programmieren.

      PHP setzt auf der CGI-Schnittstelle auf und klemmt da einen etwas merkwürdigen Interpreter dran, das gibt elende Laufzeiten. Ich halte es für sinnvoller, dannn gleich das CGI zu nehmen und Ruhe ist. Die Herumquälerei mit HTML, XML, Java udgS ist schon schlimm genug.

      In C habe ich "richtige" Stringfunktionen, vernünftige Datentypen und einen funktionierenden Compiler. Ich kann den Server voll ausfahren und brauche mich nicht mit irgendwelchen Absurditäten eines zusätzlichen Interpreters herumzuschlagen.

      Die eine Woche, die ich in PHP investiert habe, war für das Tier, das auf dem Ofen schnurrt ...

      Joe

      (der gerade sein erstes Internetprojekt zum Laufen bekommen hat)

      1. Moin Moin !

        In C habe ich "richtige" Stringfunktionen,

        *ROTFL*

        vernünftige Datentypen

        Ich schmeiß mich weg!

        C kennt ja noch nicht mal einen String-Typ, geschweige denn Arrays! Alles, was nicht integer-artig, struct oder bitmap ist, muß über Pointer gepfuscht werden. Arrays werden nur über Pointer emuliert.

        Einmal ein zu kurzes malloc() und schon ist alles im Eimer!

        und brauche mich nicht mit irgendwelchen Absurditäten eines zusätzlichen Interpreters herumzuschlagen.

        Das nun wirklich nicht. Dafür hat "static" bei Variablen eine völlig andere Bedeutung als bei Funktionen, der Precompiler macht die wildesten Ersetzungen, und über den Rest schweige ich jetzt lieber. C ist IMHO nichts weiter als ein kräftig überdrehter Macro-Assembler.

        Ich habe nichts gegen C, ich schreibe gelegentlich sogar in C, auch Web-Anwendungen. Und ja, sie sind schneller und kleiner als ein gleichwertiges Script samt Interpreter. Aber ich brauche (ohne eigene C-Libraries zu haben) wesentlich länger für ein C-CGI als für ein Perl-CGI. Und ich weiß auch ganz genau, daß diese C-Programme nur auf Größe optimiert sind, und wahrscheinlich noch eine ganze Menge Macken haben, die ein Angreifer ausnutzen könnte. Aber wenn man nur eine Diskette für Betriebssystem, Webserver, CGIs und ein paar Anwendungen hat, ist Perl nun einmal ungeeignet. Gut, daß der Webserver im "sicheren" LAN steht, umgeben von Leuten, die zu 95% noch nie etwas von TCP/IP gehört haben.

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        Mein "Lieblings-Forums-Bug": http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2
  5. Hallo!

    Ein Forum ist sicher nicht die beste Anwendung um daran eine Programmiersprache zu erlernen.

    Hier mal ein paar Links die Du Dir bookmarken solltest:
    Das offizielle PHP Manual: http://www.php3.de/manual/de/
    PHP-FAQ, beantwortet viele Fragen: http://www.php-faq.de/
    MySQL(Datenbank)-Doku: [http://de.mysql.com/documentation/mysql/bychapter/]

    Für den einfachen Einstieg empfehle ich folgende Seiten:
    Tu Dir den Gefallen und lies Dich als erstes mal in das oben verlinkte Manual ein. Das beschleunigt das ganze erheblich!

    Du solltest auf alle Fälle folgende Kapitel lesen:

    I. Einführung

    1. Einleitung
        2. Kleines Tutorial
        5. Sicherheit

    II. Sprachreferenz

    6. Grundlagen der Syntax
        7. Typen
        8. Variablen
        9. Konstanten
        10. Ausdrücke
        11. Operatoren
        12. Kontroll-Strukturen
        13. Funktionen

    Dann solltest Du einen Blick in

    IV. Funktionsreferenz

    werfen, um wenigstens ganz grob zu wissen was es in PHP so für Funktionen gibt und wo Du im Zweifel nachschlagen kannst.

    Dann hast Du die Voraussetzungen um die ersten Scripte zu schreiben, hierbei ist sicher folgende Seite sehr hilfreich, da sehr einfach und gut erklärt: http://www.schattenbaum.net/php/

    Dann solltest Du mal einen Blick in die oben verlinkten FAQ werfen um zu sehen welche Fragen dort beanwortet werden, und bei einem Problem solltest Du immer da erstmal nachgucken ob die Lösung nicht schon hier steht.

    Wenn Du später ein Datenbank-basiertes Forum schreiben willst mußt Du Dich auch in eine Datenbank einarbeiten, am einfachsten wohl mysql(siehe link oben).

    Mehr über MySQL und dessen Verwendung aus PHP erfährst Du unter http://www.little-idiot.de/mysql/, unter den mysql-Funktionen von PHP(http://www.php3.de/manual/de/ref.mysql.php), sowie in der oben verlinkten MySQL-Dokumentation unter

    • Kapitel 4 Einführung in MySQL: Ein MySQL-Tutorial
    • Kapitel 7 MySQL-Sprachreferenz

    Wenn Du dann damit soweit klar kommst, solltest Du mal Henryk Plötz' hervorragenden Artikel über ein "Threadbasiertes Forum mit PHP und MySQL" durcharbeiten:
    http://aktuell.de.selfhtml.org/artikel/phpasp/php-forum/index.htm

    Die meisten fangen nicht an wie oben beschrieben sondern legen direkt los - hab ich auch gemacht, aber am Ende hätte ich mir eine ganze Menge Zeit gespart, hätte ich schon etwas früher eine Blick ins Manual geworfen.

    Viele Grüße
    Andreas

    1. sorry, der MySQL-Link, diesmal anklickbar

      http://de.mysql.com/documentation/mysql/bychapter/

      :-)

      Grüße
      Andreas

      PS: Viel Erfolg!

  6. jo ich weiss das ist eigentlich keine direkte antwort auf die gestellte frage aber irgendwo im archiv bin ich mal auf einen eintrag gestoßen in dem  mal darüber diskutiert wurde das eine anleitung bzw. erklärung über allgemeine programmierlogik unabhängig von der sprache oder ob prozedural oder oo sehr brauchbar wäre.
    ich bei meiner recherche nach javascripttutorials auf folgenden link gestossen:

    http://www.highscore.de/downloads.html

    Allgemeine Grundlagen der Programmierung (63 KByte, Version 2.0)
    und viele weiter "onlinebücher"

    in sachen php habe ich mit folgenden sehr günstigen buch gute erfahrungen gemacht z.zt. gebraucht für 7 euro
    http://www.amazon.de/exec/obidos/ASIN/3828711103/qid%3D1045053035/302-3963128-4788837

    auch wenn die leserkritiken teilweise vernichtend sind so viele fehler hat das buch nicht wirklich und wenn du schon mit perl rumgemacht hast wirst du den paar druckfehlern schnell beikommen.

    ahoi