Franzi: Wie lernt ihr PHP?

Hallo!
Ich wollte mal fragen, wie ihr PHP lernt, bzw. gelernt habt.
Ich habe mich bis jetzt vor allem mit HTML, CSS und JS beschäftigt und vor kurzer Zeit angefangen mich mit PHP auseinander zusetzen.
Das Problem dabei ist, dass ich das Gefühl habe, dass die Zahl der Funktionen etc. von PHP einfach riesig und unüberschaubar sind. Dagegen sind ja HTML, CSS und JS eigentlich Kindergarten. So fühlt es sich für mich jedenfalls an.
Also, wie habt ihr das gemacht?
Vielen Dank für eure Hilfe!
Gruß & Kuss Franzi ;-)

  1. langsam....
    habe mir ein Tutorial geschnappt und das durchgemacht. Und dann versuche ich hier immer was mitzulesen und aufzuschnappen....

    Wird schon werden.
    Sg Stefan

  2. Hallo Franzi.

    Ich wollte mal fragen, wie ihr PHP lernt, bzw. gelernt habt.

    Da bist du nicht die erste:

    PHP lernen
    Php programmieren lernen
    Fragen eines Änfängers (Muss ich heut zu Tage PHP lernen?)

    Einen schönen Mittwoch noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    debian/rules
  3. Hallo Franzi,

    Ich wollte mal fragen, wie ihr PHP lernt, bzw. gelernt habt.

    wenn Du – unter anderem durch Javascript – schon weisst, wie Programmieren überhaupt funktioniert, dann lese Dich in die Basics ein: Syntax, Variablen, Kontrollstrukturen.

    Wenn Du eher Systematiker bist: Nimm Dir dann ein Kapitel Deiner Wahl (Arrays, SimpleXML bei php5, MySql etc.) und schreibe kleine Testfunktionen.

    Wenn Du eher Pragmatiker bist: Such Dir ein kleines Projekt aus und fange einfach an. Sieh zu, dass Du nicht gleich ein komplettes CMS, Forum oder Framework schreiben willst, da ist schon mancher Profi überfordert.

    Mein erstes Progrämmchen: Ein Seitenzähler mittels einer Textdatei (Ehrlich ;-) ).

    Mein zweites Progrämmchen: Ein simples Gästebuch mit MySQL.

    … und danach in die vollen.

    Jahre später: Design Patterns, Security, UnitTests, Caching, Webservices etc. etc. …

    Gruß
    Olaf

  4. Moin!

    Das Problem dabei ist, dass ich das Gefühl habe, dass die Zahl der Funktionen etc. von PHP einfach riesig und unüberschaubar sind. Dagegen sind ja HTML, CSS und JS eigentlich Kindergarten. So fühlt es sich für mich jedenfalls an.

    Ignoriere die ganzen Funktionen. Jede Sprache hat unendlich viele - rechne einfach noch die Gesamtheit der selbst definierten Funktionen mit dazu. Niemand hat die PHP-Funktionen auswendig alle drauf. Wenn ich eine Funktion benötige, schaue ich bei http://www.php.net nach, was es in dem Bereich so gibt. Insbesondere bei Funktionen, die ich selten benötige, beispielsweise für Arrays.

    Wichtig ist, dass du programmieren kannst. Also ein Problem abstrakt in Einzelschritte zerlegen, für eine Programmiersprache handhabbar und damit in Code schreibbar machen kannst. Welche Sprache dann für das Codieren benutzt wird, ist dann eigentlich unerheblich.

    Denn im Zweifel hat PHP dann doch keine passende Funktion, so dass du dir eine selbst schreiben mußt. Oder du entdeckst, dass deine selbstgeschriebene Funktion doch schon als Standardfunktion in PHP existiert. Sowas passiert selbst erfahrenen Programmierern noch.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
  5. Hallo Franzi,

    so, so JavaScript ist also Kindergarten ;-)
    Dem, kann ich nich so ganz folgen, schaue Die mal den Source von einem Webeditor an, oder ein paar AJAX-Bibliotheken.

    JavaScript hat die Beschränkung im Client, ist auf das Window-Objekt ausgelegt so fehlen z.B. jegliche Dateifunktionen.

    Meine Anfangsschwierigkeiten mit php waren, das ich den JS-Syntax kannte es aber in PHP etwas anders heist.

    Ansonten finde ich das Sven es sehr gut beschrieben hat, es geht nicht primär um die Sprache, sondern wie kreativ bin ich in der Lösungsfindung.

    Liebe Grüße,

    Bernd

    PS: Ich würde mich relativ schnell damit beschäftigen,
    wie ich recht einfach mein PHP/mySQL Framework sicherer machen.

  6. Hi,

    Dagegen sind ja HTML, CSS und JS eigentlich Kindergarten.

    nur weil Du die Möglichkeiten noch nicht erkannt hast. Im Gegensatz zu PHP ist JavaScript _wirklich_ objektorientiert[1] und bietet entsprechende Möglichkeiten. PHP ist einfach nur schlecht konzipiert und daher unübersichtlich, außerdem läuft es im Gegensatz zu den von Dir genannten Techniken serverseitig, ist aber darüber hinaus dermaßen Pipifax, dass es schon schwierig wird, damit _richtig_ zu entwickeln, also beispielsweise mit einem brauchbaren Exception-Handling.

    Und zur Komplexi- sowie Komplizität von HTML und CSS sage ich mal nichts ;-)

    Also, wie habt ihr das gemacht?

    Ich habe das Programmieren sowie den Einsatz serverseitiger Techniken anhand anderer Mechanismen und Sprachen gelernt, die einem Fehler auch mitteilen, anstatt in schönster Microsoft-Manier zu versuchen, das "Beste" draus zu machen (also das, was ein ordentlicher Programmierer garantiert nicht will, ohne es explizit vorzuschreiben). Danach war es leicht, den Dialekt "PHP" zu erlernen und mit Hilfe eines Wörterbuchs ("Dokumentation") Romane und Oden zu verfassen, die den geneigten Leser ("Interpreter") zu Wohlgefallen stimmen.

    Cheatah

    [1] Und falls Du bereits mit OOP Erfahrung hast: Vermutlich anders, als Du es bisher kennst, aber deswegen nicht schlechter.

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      [..] PHP ist einfach nur schlecht konzipiert und daher unübersichtlich, [..] ist aber darüber hinaus dermaßen Pipifax, dass es schon schwierig wird, damit _richtig_ zu entwickeln, also beispielsweise mit einem brauchbaren Exception-Handling.

      nur aus Interesse: Würdest Du das für php5 genau so sagen?

      Ich fluche zwar immer noch über inkonsistente Funktionsbezeichner, fehlende Namespaces, überflüssige Funktionsaliases und manches mehr, finde aber, dass php5 einen riesen Schritt in Richtung oo-Sprache gemacht hat. Von den oo-Features in php4 reden wir allerdings wirklich lieber nicht.

      Es mag schon sein, dass es Scriptsprachen gibt, die wesentlich konsistenter als php konzipiert sind, aber leider ist deren Nutzung bei deutschen Providern – Stichwort: ruby on rails – doch sehr beschränkt.

      Gruß
      Olaf

      1. Hi,

        [..] PHP ist einfach nur schlecht konzipiert und daher unübersichtlich, [..] ist aber darüber hinaus dermaßen Pipifax, dass es schon schwierig wird, damit _richtig_ zu entwickeln, also beispielsweise mit einem brauchbaren Exception-Handling.
        nur aus Interesse: Würdest Du das für php5 genau so sagen?

        das Konzept von PHP5 ist das selbe wie das von jeder vorherigen PHP-Version. Was die Objektorientierung betrifft kann man über PHP5 zumindest sagen, dass eine solche Programmierung möglich ist - dennoch ist die Sprache noch lange nicht objektorientiert. Zumindest gibt es AFAIK noch kein array(...).join(...) oder ähnliches.

        Ich fluche zwar immer noch über inkonsistente Funktionsbezeichner, fehlende Namespaces, überflüssige Funktionsaliases und manches mehr,

        Unterschiedliche Konventionen bei der Reihenfolge der Argumente. _Besonders_ bei Funktionen, die eigentlich Methoden hätten sein müssen.

        finde aber, dass php5 einen riesen Schritt in Richtung oo-Sprache gemacht hat.

        Ohne Zweifel. Ich finde allerdings auch, dass der IE 7 einen Riesenschritt in Richtung CSS-Unterstützung gemacht hat, die trotzdem nach wie vor lausig ist. Besser heißt noch lange nicht gut.

        Von den oo-Features in php4 reden wir allerdings wirklich lieber nicht.

        Korrekt :-)

        Es mag schon sein, dass es Scriptsprachen gibt, die wesentlich konsistenter als php konzipiert sind, aber leider ist deren Nutzung bei deutschen Providern – Stichwort: ruby on rails – doch sehr beschränkt.

        Jepp. PHP (zzgl. DB) halte ich inzwischen für ebenso verpflichtend wie CGI oder Konfigurationsmöglichkeiten z.B. per .htaccess, aber ein Provider, der nicht mindestens Python zulässt, käme für mich nicht in Frage.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo,

          das Konzept von PHP5 ist das selbe wie das von jeder vorherigen PHP-Version. Was die Objektorientierung betrifft kann man über PHP5 zumindest sagen, dass eine solche Programmierung möglich ist - dennoch ist die Sprache noch lange nicht objektorientiert. Zumindest gibt es AFAIK noch kein array(...).join(...) oder ähnliches.

          Da pflichte ich Dir bei. Da ein Großteil der internen Funktionalität (Arrays, Strings etc.) noch rein funktionsbasiert ist, hat man teilweise ein fürchterliches Durcheinander von Funktions- und Methodenaufrufen.

          Unterschiedliche Konventionen bei der Reihenfolge der Argumente. _Besonders_ bei Funktionen, die eigentlich Methoden hätten sein müssen.

          Oh ja. Ich bin froh, dass meine IDE mir die Reihenfolge verrät. Ich schreibe schon seit Jahren php, aber manche Parameterreihenfolgen _kann_ ich mir einfach nicht merken.

          Mal eine Frage: Ein Kunde kommt zu Dir und möchte eine Website mit einem kleinen Redaktionssystem, Kontaktformular und ach ja, einer Bildergalerie. Welche Sprachen / welche Frameworks / welche Systeme verwendest Du?

          Gruß
          Olaf

          P.S.: Ja, ich finde den „->“-Operator hässlich! Bloss weil der blöde dot für Stringconcat reserviert ist, grummel grummel …

          1. Hi,

            Da pflichte ich Dir bei. Da ein Großteil der internen Funktionalität (Arrays, Strings etc.) noch rein funktionsbasiert ist, hat man teilweise ein fürchterliches Durcheinander von Funktions- und Methodenaufrufen.

            und Variablendeklarationen, weil PHP mit Referenzen nicht vernünftig umgehen kann.

            Oh ja. Ich bin froh, dass meine IDE mir die Reihenfolge verrät. Ich schreibe schon seit Jahren php, aber manche Parameterreihenfolgen _kann_ ich mir einfach nicht merken.

            Ich schaue lieber gleich in der Doku nach, weil ich mir schon wegen der Typen oft genug nicht sicher bin. Interessehalber: Welche IDE benutzt Du?

            Mal eine Frage: Ein Kunde kommt zu Dir und möchte eine Website mit einem kleinen Redaktionssystem, Kontaktformular und ach ja, einer Bildergalerie. Welche Sprachen / welche Frameworks / welche Systeme verwendest Du?

            Das hängt vom Einzelfall ab, auch z.B. von seinen Systemumgebungen oder der Software, die er sonst im Einsatz hat. Mit Frameworks habe ich allerdings ein Problem: Ich schreibe sie lieber selbst ... :-) (Nein, natürlich nicht immer. Aber gerade z.B. bei Redaktionssystemen ist mir einfach noch nichts wirklich Nutzbringendes untergekommen.)

            P.S.: Ja, ich finde den „->“-Operator hässlich! Bloss weil der blöde dot für Stringconcat reserviert ist, grummel grummel …

            Ich finde auch, man hätte den Fehler von Larry Wall nicht zu wiederholen brauchen ... aber wie gesagt: PHP ist einfach mies konzipiert. Die Verbreitung hat IMHO ähnliche Gründe wie die von Windows und des IE.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi Cheatah,

              Ich schaue lieber gleich in der Doku nach, weil ich mir schon wegen der Typen oft genug nicht sicher bin. Interessehalber: Welche IDE benutzt Du?

              ich benutze zur Zeit Zend Studio – das Programm ist zwar buggy und hat noch viele Macken, dennoch beschleunigt es meine Arbeit gegenüber einem reinen Texteditor erheblich. Und das ist erst einmal die Hauptsache.

              Das hängt vom Einzelfall ab, auch z.B. von seinen Systemumgebungen oder der Software, die er sonst im Einsatz hat. Mit Frameworks habe ich allerdings ein Problem: Ich schreibe sie lieber selbst ... :-) (Nein, natürlich nicht immer. Aber gerade z.B. bei Redaktionssystemen ist mir einfach noch nichts wirklich Nutzbringendes untergekommen.)

              Das mit den Frameworks kenne ich sehr gut, bin ich auch gerade dabei, wann auch unter php5, denn

              · man bekommt, was man programmiert – manchmal sogar das, was man will ;-)
              · man lernt eine Menge
              · vielleicht kann es noch einmal als Referenz oder Codebeispiel herhalten

              Deinem Kommentar zu den Redaktionssystemen finde ich schon fast lustig. Es gibt ungefähr drei Googol CMS-Systeme für php. Selbst wenn man den Schrott aussortiert und dann die wieder dazu nimmt, die zwar Schrott sind, aber bekannt, bleibt nur ein großer Haufen „Mach Deine persönliche Homepage online selber“-Systeme übrig. Ich versuche gerade ein System zu schreiben, das komplexe Daten verwaltet und beliebig konfigurierbar ist. Das gestaltet sich aber als gar nicht so einfach, vor allem, wenn man alles alleine macht und keinen hat, der einem ab und zu Feedback gibt.

              Ich finde auch, man hätte den Fehler von Larry Wall nicht zu wiederholen brauchen ...

              Am schönsten gefällt mir das Wikipedia-Zitat „Er gewann zweimal den IOCCC-Wettbewerb für den undurchsichtigsten C-Quelltext, [..]“

              Gruß
              Olaf

        2. echo $begrüßung;

          das Konzept von PHP5 ist das selbe wie das von jeder vorherigen PHP-Version. Was die Objektorientierung betrifft kann man über PHP5 zumindest sagen, dass eine solche Programmierung möglich ist - dennoch ist die Sprache noch lange nicht objektorientiert. Zumindest gibt es AFAIK noch kein array(...).join(...) oder ähnliches.

          Hmmm, ich wollte jetzt eben mit den Standard PHP Library (SPL) Functions antworten und da speziell mit ArrayObject, aber ausgerechnet ".join(...) oder ähnliches" gibt es da nicht, dafür ein paar Sortiermethoden. Deswegen lass ich das mit der Anwort mal lieber bleiben.

          echo "$verabschiedung $name";

  7. Ich wollte mal fragen, wie ihr PHP lernt, bzw. gelernt habt.

    Zur Einführung habe ich diese Seite angeschaut: http://www.schattenbaum.net/php

    Ich finde diese wirklich gut, auch wenn sie etwas zu wenig weit geht. Übrigens, frei nach dem Motto: "Von Frauen für Frauen" ;-)

    MFG Jenny