PHP wie am Besten lernen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP wie am Besten lernen?

    Hallo Leute,
    ich bin seit 1 bis 2 Monaten dabei PHP zu lernen und HTML Verständnis ist auch da.
    Ich habe mich jetzt durch verschiedene Online-Tutorials durchgearbeitet und ich denke Grundlagen sind geschaffen!
    Ich frage mich ob man bei diesen vorgegebenen Tutorials weniger lernt, als wenn man jetzt einfach selbst was schreibt.
    Ich möchte PHP weiterhin lernen, ohne dafür Geld auszugeben.
    Habt ihr da Empfehlungen, wie ich mich da weiter bilden kann?

    MFG

  • #2
    Also Tutorials bringen in der Tat nur etwas, wenn man wirklich versteht, was man da macht. Viele der verfügbaren Tutorials a la "Wie Programmiere ich ein Gästebuch" verleiten dazu, den Code einzu zusammen zu kopieren. Das ist nicht zielführend, dass erlebe ich hier immer wieder.

    Das Tutorial von Home ist da anders, da kann man schon eine ganze menge mitnehmen. Nichts desto trotz solltest und willst du dich dann bald an was eigenem Versuchen. Hier sollte der Lerneffekt im Vordergrund stehen.

    Ich halte es für sinnvoll ein nicht öffentliches Projekt zu starten. ZB. ne Datenbank für Dinge die man verleiht oder auch eine Digitale Version der eigenen Briefmarkensammlung. Hier weißt du dann ganz genau, was die (deine) Anforderungen sind. Und du bist auch niemandem irgendwas schuldig.

    Ansonsten finde ich ein gescheidtes Buch immer ganz hilfreich, wenn man was neues lernt. Aber der Markt für PHP ist da glaube ich etwas mau, daher ist die Webseite von Peter (s.o.) wohl auch sehr gut geeignet.

    Kommentar


    • #3
      Ja das verstehe ich. Ich habe bei den Tutorials auch immer darauf geachtet, das ich den Code verstehe, weil sonst ist es ja sinnlos! Ich habe mir den Code angeguckt und ihn dann versucht selber nachzuschreiben. Aber nicht auswendig gelernt, sondern überlegt was könnte logischer Weise jetzt kommen.

      Kommentar


      • #4
        Ich habe PHP anno dazumal auch über einzelne Tutorials gelernt und mir einfach aus allen das Wissen gezogen, das ich für ein akutes Problem brauchte.

        Irgendwann habe ich einfach mal wieder bei 0 angefangen und das bereits verlinkte Tutorial von Kropff gemacht und da hats dann erst richtig geklickt. Seitdem läufts wie von alleine. Kann ich also uneingeschränkt empfehlen.
        This is what happens when an unstoppable force meets an immovable object.

        Kommentar


        • #5
          Das Tutorial von 'Peter K.' finde ich auch sehr gut! Ich werde es mir merken.
          Allerdings habe ich im Moment nicht mehr soviel Lust auf Tut´s, mein neues Projekt wird ein Forum sein. Klar werde ich mir Beispiel-Scripts anschauen, aber ohne 'copy & past',
          ich werde es dann aus der logik herraus nachschreiben oder mir ein paar Funktionen anschauen. Ich brauche im Moment Praxis, ich habe mir in letzter Zeit sehr viel durchgelesen.

          Kommentar


          • #6
            Ein Forum halte ich für genau den falschen Ansatz. Das ist ein Projekt, welches du veröffentlichen musst. Dann kommst du irgendwann auf die Irrwitzige Idee, sämtliche Alphas und Betas zum Download anzubieten und nach einem Jahr ist das Projekt als ganzes gestorben. (Erfahrungswerte aus dem Forum)

            Einen Mehrwert bietet es weder dir noch anderen und somit fehlt dir ganz klar die Motivation dieses Projekt durchzuziehen.

            Ich kann nur nochmals empfehlen: mach was eigenen, was "nur" dir was bringt.

            * In Anführungszeichen, weil es besser ist, wenn du der einzige bist, dem es nützt, als wenn es niemandem nützt.

            Kommentar


            • #7
              Ich glaube ich muss im Moment auch erstmal gucken, wie sind Scripts überhaupt aufegbaut. Bis her habe ich ja nur die Grundlagen gelernt, aber nichts selbst geschrieben. Und genau das ist jetzt auch meine Aufgabe. Es hinzubekommen eigenständig Scripts zu schreiben. Dafür habe ich mir verschiedene standard-Scripts angeschaut, um sie dann logisch nachzuschreiben. Also nicht bloß auswendig lernen und stumpf aufschreiben. Nein, ich weiß denn auch was jede Zeile für einen Sinn hat. Oder gibts noch weiter Empfehlungen? Meint ihr ich bin auf dem richtigen Weg?
              Zuletzt geändert von Sunshen; 29.04.2012, 18:32.

              Kommentar


              • #8
                immer was eigenes

                ich kann mich hier klar den empfehlungen - was eigenes zu schreiben - anschliessen.

                nimm dir die beispiele die hier genannt wurden, oder denk dir aus was du verwalten oder managen willst.

                z.b. eine eigenes adressbuch deiner familie, aber bitte nicht auf nem offiziellen server.

                dann hast schon mal ein paar dinge die du eh lernen mußt:

                server zuhause aufsetzen, apache + php5, mysql, phpmyadmin einrichten und verstehen.

                dann die erste datenbank aufsetzen und dann die ersten testscripts zum laufen bringen.

                da haste locker ein paar tage zu tun:

                und bei fragen, hier oder ein ein forum zu linux, apache oder mysql wirst du finden.
                fotos :

                http://www.flickr.com/photos/rassloff/collections/

                Kommentar


                • #9
                  Zitat von Sunshen Beitrag anzeigen
                  Hallo Leute,
                  ich bin seit 1 bis 2 Monaten dabei PHP zu lernen und HTML Verständnis ist auch da.
                  Ich habe mich jetzt durch verschiedene Online-Tutorials durchgearbeitet und ich denke Grundlagen sind geschaffen!
                  Ich frage mich ob man bei diesen vorgegebenen Tutorials weniger lernt, als wenn man jetzt einfach selbst was schreibt.
                  Ich möchte PHP weiterhin lernen, ohne dafür Geld auszugeben.
                  Habt ihr da Empfehlungen, wie ich mich da weiter bilden kann?

                  MFG
                  Hallo,

                  ich finde die Dokumentation unter php.net sehr nützlich, insbesondere deshalb weil dort unter dem offiziellen Teil nahezu immer auch Benutzerbeiträge sind, die den Einsatz erläutern, den Einsatz von Funktionen in Klassen kapseln oder Alternativen aufzeigen, also kurz Beispiele aus dem realen leben liefern (was nicht heißt, dass es sich immer um die beste Lösung handelt, nur weil sie kreativ ist.)

                  Empfehlen möchte ich:
                  PHP Programming
                  PHP Cookbook - WikiContent

                  Das ist zwar auf Englisch, aber das sind etwa 99.999% der PHP-Quelltexte auf dieser Welt auch. (Sprich, an Englisch kommst Du ohnehin nicht vorbei.)

                  Ich möchte mich den anderen hier anschliessen, die empfohlen haben, ein eigenes Projekt als Übung durchzuführen. ("fetchmail" war einst ein solches Hobby-Projekt und wurde von dessen Entwickler ursprünglich nur für seinen eigenen Bedarf erschaffen, später jedoch hat er es veröffentlicht und war verblüfft von dessen Akzeptanz. Im Laufe der Jahre ist es immer größer und komplexer und eben auch besser geworden.)

                  Ein Tip vorweg:
                  GIT oder Mercurial installieren, denn die sind beide super einfach einzurichten und zu benutzen und so kann man vom ersten Tage an seinen Quelltext aufgeräumt halten und zu jedem beliebigen Zustand einer Datei (egal ob PHP, HTML, CSS oder JS oder Grafik oder was auch immer) den diese im Laufe der Zeit hatte zurückspringen. Daneben kann man am bestehenden Code weiterentwickeln ohne das Original zu ändern, und so hat man dann stets auch dann funktionierenden Code obwohl der in der Entwicklung gerade völlig "unbeabsichtigt" interagiert (oder eben gar nicht).

                  Die Zeit für GIT oder Mercurial ist jedenfalls nicht vergebens, denn dieses Wissen ist in allen Projekten stets willkommen, wenn nicht gar eine der Voraussetzungen zur Teilnahme.

                  Beim eigenen Projekt scheint es ratsam, sich eine Problemstellung aus seinem eigenen Leben zu nehmen, die man mittels einer Software gerne lösen möchte - so bleibt das Interesse am Projekt wach, was bei einem Versuch, die Super-App für Andere zu zu entwickeln wohl nicht immer der Fall sein dürfte.

                  Man kann sich jetzt natürlich ein Framework, eine Funktions- oder Klassen-Bibliothek besorgen, um damit schnell eine Anwendung "Basteln" zu können. Dies mag auch sinnvoll sein, denn bei den Frameworks (YII, cakePHP, symfony, Zend, ...) handelt es sich in der Regel um stabile Software, die wirklich einfach einzusetzen ist und bei denen Fehler relativ schnell durch andere beseitigt werden und man selbst muss sich nur die korrigierte Version besorgen.
                  (Ein PKW-Mechaniker sollte auch Auto fahren können, aber das allein macht ihn noch nicht zum Mechaniker. Es gibt aber nicht wenige gute Mechaniker, die vom Fahrer zum Tuner und später zum Mechaniker wurden.)

                  Das Argument aus der Praxis ist einfach aber zwiespältig: Mit einem bestehenden Framework ist ein gewaltiger Teil der benötigten Funktionalität für eine Anwendung bereits geschrieben, getestet und sofort einsatzbereit.
                  Während aber PHP als Programmiersprache (eigentlich eine Skriptsprache) aber schon immensen Umfang hat (wer hat schon alle existierenden Funktionen im Kopf und dann dazu noch alle die durch Module bereitgestellt werden können), so erfordert auch ein Framework das Kennen aller Module, Klassen, Funktionen, statischer Methodenaufrufe, Parameter, etc.

                  Ein mit einem Framework erfahrener Programmierer kann "sein liebstes" Framework sehr effizient und relativ schnell einsetzen - aber ein Neuling kann dies nicht.

                  Hier wage ich zu Behaupten, dass es einfacher ist, "Hello World!" in PHP direkt auszugeben als erst ein Framwork für eine MVC-Anwendung zu bemühen, wofür man über wesentlich mehr Wissen über dieses Framework verfügen muss als es bei reinem PHP der Fall wäre.

                  Als Grundaufgabe für einen Anfänger sehe ich einen Taschenrechner als ideal, denn so etwas kann man auf der Konsole realisieren ("1","plus",3","durch","2") und selbst als dynamische Website auf dem lokalen Webserver könnte man alle Werte in <input type="hidden"> speichern und müsste sich so noch nicht einmal mit den Besonderheiten von sessions auseinandersetzen, da die "Anwendung" dann so wie HTTP selbst stateless ist. Das HTML zur Darstellung ist ebenso einfach und erlaubt dem Neuling gleichermassen seinen Gestaltungswillen auch daran auszutoben, bis der Taschenrechner perfekt scheint und man das, was man geschaffen hat nun in einem anderen Rechner, zB. für IP-Netzwerk-Masken einbringen möchte.

                  Der wichtigste Schritt ist die erste "working solution". Wenn diese fertig ist und funktioniert, dann kann daraus alles werden - dann kommen zB. ein simples session basiertes Login (passwd in der Datei fest einprogrammiert) hinzu, um nur angemeldeten Benutzern die Wurzelziehung zu erlauben, danach das Lesen von Benutzerdaten und Passwörtern aus Dateien, später gar aus einer Datenbank, etc. pp. hinzu.

                  Sprich:
                  Man baue sich einen einfachen Roller.
                  Man baue Pedale an das Vorderrad.
                  Man baue Pedale an einem anderen Platz und einen Hinterantrieb an.
                  Man baue einen Hilfsmotor ein.
                  ...

                  Mir persönlich erscheint dies für den Neuling von mehr Erfolgen gekrönt als der Versuch, ein Framework einzusetzen und aber an dessen Eigenheiten zu zerschellen.

                  So, nun viel Spaß :-)

                  Liebe Grüße

                  little
                  Zuletzt geändert von little; 06.05.2012, 01:48.

                  Kommentar


                  • #10
                    Danke für die ausführliche Hilfestellung! Das ist auf jeden Fall ein Denkanstoß für mich. Ich habe auch die ganzen Tutorials satt, auch wenn sie gut sind. Da schreibe ich einfach was nach und frage mich hinterher, ob ich dadurch jetzt so viel gelernt habe. Ich habe den Eindruck, das ich nicht weiter komme und in den Grundlagen fest hänge. Da kommt die Idee was Eigenes zu schreiben genau richtig! Genau das werde ich jetzt auch machen, ich glaube das hat einen großen Lerneffekt. Und ich werde mir auch etwas Nützliches für mich suchen.

                    Kommentar

                    Lädt...
                    X