So starten Sie die Programmierung in PHP von Grund auf (auf eigene Faust). Warum scheitern viele Menschen? Persönliche Erfahrung ... Versuch und Irrtum

Schönen Tag!

Wahrscheinlich möchte jeder von uns, der Filme über Hacker und coole Programmierer gesehen hat, zumindest ein wenig in dieser Angelegenheit verstehen. Und ich werde bemerken, dass nein, nein, und sie werfen mir ähnliche Fragen auf (obwohl ich weiß, wie man programmiert, aber ich bin weit entfernt von einem professionellen Programmierer. Und für Leute weit weg von der IT-Sphäre kann dies überhaupt nicht erklärt werden ...) .

Im Allgemeinen gibt es jetzt im Internet einige verschiedene Schulungen, Bücher und Artikel zu diesem Thema. Als ich jedoch selbst versuchte (die Sprache von ihnen zu lernen), aus den ersten Codezeilen "Hallo Welt!" in PHP zu etwas Ernsthafterem und Anwendbarem im Leben übergehen - nichts hat funktioniert! Als ob es in diesen Büchern eine Lücke oder Leere gibt: Es ist nicht klar, wie man von den Grundlagen und dem Wissen einiger Funktionen zu etwas mehr übergeht ...

Im Laufe der Zeit gelang es mir, PHP so zu verstehen, dass ich mein eigenes einfaches CMS schreiben konnte (CMS ist eine Engine für die Site),  und ein Artikel half mir dabei (leider existiert diese Ressource nicht mehr im Netzwerk, aber ich bin diesem Autor für diesen "Kick sehr dankbar "in die gewünschte Richtung).

Basierend auf diesem Artikel und meiner Vision werde ich diesen Hinweis für diejenigen skizzieren, die wirklich mit dem Programmieren in PHP beginnen möchten, aber scheitern. Im Allgemeinen habe ich meine eigene sehr radikale Meinung zu dieser Ansicht, daher finden Sie hier keine Ratschläge zu Büchern und Kursen - nur einen Blick darauf, was genau aufgrund Ihrer Erfahrung zu tun ist ...

* *

Wo soll ich mit der Programmierung beginnen (in PHP)

SCHRITT 1 - Hobby, Wunsch, ein Problem zu lösen

Vielleicht ist das Wichtigste, mit einer Aufgabe "Feuer zu fangen" (ohne diese ist es sehr schwierig, etwas Neues zu studieren). Zum Beispiel brauchte ich einmal wirklich (SEHR!), Damit ein PHP-Skript eine bestimmte Textdatei lesen und einige Teile gemäß meiner Vorlage herausschneiden konnte. Einerseits scheint alles einfach zu sein, andererseits ist die Aufgabe für eine Person, die noch nie zwei Codezeilen selbst geschrieben hat, äußerst schwierig!

Ich musste dieses erste Skript kaufen ... Aber später brauchte ich ein ähnliches (und dann ein anderes). Und hier, hier wurde ich von PHP mitgerissen ... Übrigens war es schon nach ein paar Abenden möglich, solche Skripte selbst zu schreiben, nachdem ich ein oder zwei Stunden gelitten hatte ...

Nun, im Allgemeinen, im Allgemeinen möchte ich darauf hinweisen, dass, wenn kein Interesse an der Programmierung besteht, das Studium schnell beginnt, sie in der Regel schnell beendet werden. Und ich befürchte, dass keine Kurse und Lehrer das Problem beheben werden.

Bis Sie den Code selbst eingeben und sehen, was für Sie "angezeigt" wird, was in Ihren Variablen enthalten ist und wie sich die Daten bei Verwendung einiger Funktionen in ihnen ändern, können Sie nicht mit der Programmierung beginnen (dies ist nur meine Meinung!). Keine Menge "intelligenter" Bücher wird Ihnen helfen.

Es ist gut zu träumen!

Übrigens haben viele Anfänger (einschließlich meiner selbst) einen großen Fehler: Sie verbringen viel Zeit damit, verschiedene Kurse und Videos vorzubereiten und herunterzuladen. Dann schauen sie sich alles an, studieren es, schreiben es in Notizbücher usw. Aber sie tun nicht das Wichtigste - sie beginnen nicht, den Code selbst einzugeben und beobachten, wie er ausgeführt wird ...

Okay, jetzt näher am Üben (ich beende die Philosophie).

SCHRITT 2 - Installieren der Tools Denwer, Open Server, Notepad ++ und Total Commander. Start!

Sie müssen kein Hosting kaufen, um Ihre ersten Skripte und Experimente zu schreiben. Es ist viel besser, einen kostenlosen lokalen Webserver zu verwenden: Denwer oder Open Server (ich persönlich empfehle Open Server, und hier zeige ich Ihnen, wie und was zu tun ist) . Wenn Sie sich für Open Server entscheiden , reicht übrigens  zunächst die Mindestversion aus (Hinweis: Es gibt nur einige davon auf der Site mit unterschiedlichen Bibliotheken).

Für die Direktwahl von Code (Text) ist es zweckmäßig, spezielle zu verwenden. Notizblock mit Syntaxhervorhebung. Notepad ++ beeindruckt mich in dieser Hinsicht. Einfacher, leichter, kostenloser und praktischer Notizblock (deutlich mehr Funktionen im Vergleich zum integrierten Windows-Notizblock).

Hallo Welt! (Editor ++)

Nun, ich würde auch empfehlen, eine Art Kommandant zu verwenden. Im Explorer ist es sehr unpraktisch, durch verschiedene Ordner zu navigieren und mehrere Dateien gleichzeitig zu öffnen (Sie gehen verloren und vergessen, was wo ist). Ich würde empfehlen, Total Commander zu wählen (ein sehr praktischer und funktionsreicher Commander).

Erstes Drehbuch: Vorbereitung!

1) Nach dem Herunterladen und Installieren von OpenServer sollte sich am ausgewählten Speicherort auf der Festplatte ein gleichnamiger Ordner befinden - in meinem Fall "e: \ openserver5.2 \" . Dieser Ordner sollte das Verzeichnis "Domains" enthalten. Darin müssen Sie einen Ordner mit dem Namen Ihrer Site erstellen (z. B. "my-site.ru" - Beispiel unten).

Denken Sie an den Namen dieses Ordners. Dieser Ordner muss beim Schreiben von Skripten in die Adressleiste des Browsers eingegeben werden.

OpenServer - Beispiel für die Erstellung einer "Site" (lokal)

2) Erstellen Sie als Nächstes eine Datei "index.php" im Verzeichnis "my-site.ru" und geben Sie die folgenden Zeilen ein:

Echo 'Hallo Welt!' ;;

Hallo Welt! Das erste "Programm"!

Speicher die Datei.

Hinweis: Wenn jemand zum ersten Mal mit PHP arbeitet, beachten Sie den Befehl 'Echo' - dies bedeutet, dass alles, was danach steht, in Anführungszeichen angezeigt wird.

3) Starten Sie dann OpenServer (oder starten Sie es neu, wenn Sie es ausgeführt haben). Schließen Sie auch Ihre Browser und öffnen Sie sie erneut. Dies ist erforderlich, damit OpenServer einige Dateien in Ihrem Windows ändern kann: Damit unsere erstellte Site "my-site.ru" in Ihrem Browser geöffnet wird.

OpenServer - Startet einen lokalen Webserver

Wenn OpenServer erfolgreich gestartet wurde, sollte im Allgemeinen ein grünes Kontrollkästchen in Ihrem Fach leuchten (wenn es rot oder gelb ist, starten Sie es erneut. In einigen Fällen müssen Sie es als Administrator ausführen. In jedem Fall sollte das rote Kontrollkästchen nicht weiter funktionieren wird erlauben ...) .

OpenServer - läuft

4) Tatsächlich bleibt es, unsere " my-site.ru " (ohne Anführungszeichen) in die Adressleiste des Browsers einzugeben , und es wird eine Begrüßung aus der erstellten Datei index.php angezeigt (siehe Bildschirm unten).

Funktioniert!

5) Bitte beachten Sie, dass ich im nächsten Beispiel den Code geringfügig geändert habe, wenn im ersten Beispiel sofort eine Textzeile angezeigt wurde. Bei der Entwicklung von Skripten handelt es sich in der Regel um Variablen , die verschiedene Daten enthalten können: Zeichenfolgen, Zahlen usw.

Lassen Sie uns eine Variable ("$ p") erstellen und unseren Text darin einfügen. Siehe Beispiel unten:

$ p = 'Hallo Welt!';

echo $ p;

Erste Variable

Wie unten gezeigt, ist das Ergebnis das gleiche! Jene. Der Browser druckt auch unsere Zeichenfolge. Der Code ist jedoch etwas anders: Jetzt ist der Text in der Variablen "$ p" enthalten, die wir ausgeben ...

Anzeigen von Daten aus einer Variablen

6) Ein weiteres veranschaulichendes Beispiel unten. Dieses Mal habe ich zwei Variablen "$ p" und "$ p2" erstellt, diese Zeichenfolgen dann verkettet und in die Variable "$ p3" eingefügt. Beachten Sie, dass die Linien mit einem einfachen Punkt verbunden sind.

$ p = 'Hallo Welt!';

$ p2 = 'Ich bin es!';

$ p3 = $ p. $ p2;

echo $ p3;

Ein weiteres Beispiel (zwei Variablen)

Das Ergebnis ist vorhersehbar ...

Funktioniert ...

Bitte beachten Sie, dass es empfohlen wird, alle Beispiele manuell einzugeben, um das Verständnis und das Mastering zu beschleunigen.

SCHRITT 3 - Aufteilen der Aufgabe in ihre Komponenten. Debuggen jedes Schritts

Vielleicht ist dies der wichtigste Schritt, um mit dem Programmieren zu beginnen. Deshalb habe ich diesen Artikel gestartet ...

Unabhängig davon, wie schwierig Ihre Aufgabe ist, die Sie lösen möchten, kann sie bedingt in drei Phasen unterteilt werden:

  1. Erhalten von Anfangsdaten (Dateneingabe);
  2. Datentransformation;
  3. Datenausgabe: auf den Bildschirm oder nur auf eine Variable. (Siehe den Screenshot unten: Ich habe eines der Beispiele des Artikels bedingt in diese drei Schritte unterteilt, damit klar ist, worum es geht.)

In welche Phasen kann das Skript unterteilt werden?

In der Regel verursachen die Phasen des Abrufens und Transformierens von Daten die größte Komplexität  . Und viele Anfänger haben keine Ahnung, wie sie 100-Zeilen-Code schreiben sollen, ohne verwirrt oder falsch zu sein.

Tatsächlich können Sie nach jeder Codezeile sehen, was Sie in den Variablen haben. Wenn Sie nach und nach eine Codezeile hinzufügen und untersuchen, wie sich die Variablen ändern, bringen Sie sie in die gewünschte Form (und lösen Sie das Problem!). Dafür hat PHP wunderbare Funktionen "var_dump ($ p);" und "print_r ($ p);".

Und für Anfänger empfehle ich, sie ständig zu verwenden! Ja, einfach so, Programmieren ist manchmal so langweilig ...

Ich werde unten ein Beispiel betrachten.

Stellen Sie sich vor, Sie wissen nicht, was Sie in der Variablen "$ p3" haben (im Code sehen Sie im folgenden Beispiel die Zeile, die in sie geladen wird, und theoretisch sollte sie dort sein. Aber bei komplexeren realen Problemen - Dies ist nicht immer der Fall. Die Variable enthält möglicherweise ein vollständiges Durcheinander anstelle der erforderlichen Zeile ...).

Um zu sehen, was in der Variablen enthalten ist, fügen Sie einfach den Befehl "var_dump ($ p3);" danach ein (und speichern die Datei).

Var_dump Beispiel

Infolgedessen wird im Browser (beim Aktualisieren der Seite) angezeigt, dass "Zeichenfolge (31) ...." angezeigt wird. Jene.  var_dump hat Ihnen den Datentyp (Zeichenfolge - Zeichenfolge) und die Länge dieser Zeichenfolge (31 Zeichen) mitgeteilt. Dies ist sehr nützlich beim Debuggen langer Programme (Skripte)!

Zeichenfolge (31)

Als Beispiel habe ich vor "var_dump ($ p3);" $ p3 auf 1 gesetzt. Das Ergebnis ist anders (siehe unten).

Wenn Sie der Variablen eine Zahl hinzufügen

Int (1)

Beispiel: Lesen einer Textdatei und Ausschneiden des ersten Satzes

Alles, was ich oben geschrieben habe, würde anhand eines Beispiels gut erklärt. Als Beispiel habe ich eine einfache Aufgabe übernommen: Öffnen Sie eine Textdatei, suchen Sie den ersten Punkt darin (d. H. Das Ende eines Satzes) und schneiden Sie alles vom Anfang der Datei bis zu diesem Punkt aus.

Einerseits kann es für jemanden schwierig erscheinen, der noch nie PHP gemacht hat. Auf der anderen Seite können Sie durch Aufteilen der Aufgabe in Komponenten und Debuggen (var_dump) noch komplexere Dinge schreiben ...

Daher ist es logisch, diese Aufgabe in mehrere Phasen zu unterteilen:

  1. Lesen Sie eine Textdatei in eine Variable.
  2. einen Punkt in einer Textdatei finden (d. h. seine Seriennummer herausfinden, zum Beispiel das 35. Zeichen);
  3. Schneiden Sie ein Stück Schnur ab: vom ersten Zeichen bis zu einem Punkt (bis zu seiner Ordnungszahl).
  4. Zeigen Sie das Ergebnis auf dem Bildschirm an.

1) Lesen einer Datei in eine Zeichenfolge

Als Textdatei - Ich habe den Text dieses Artikels genommen und in die Datei "text.txt" eingefügt, die ich in den Ordner "e: \ openserver5.2 \ domain \ my-site.ru \" kopiert habe (dh neben mit "index.php").

Als nächstes müssen Sie eine Funktion finden, um die erste Komponente zu lösen: das Einlesen der Datei in eine Variable. Hier hilft "Google" sehr: Eine Abfrage wie "PHP beim Lesen einer Datei" erledigt ihre Aufgabe und hilft, die Funktion file_get_contents () zu finden  - das verwenden wir!

Übrigens empfehle ich diesbezüglich das Verzeichnis //php.net (ein großartiger Helfer!).

$ p = file_get_contents ('text.txt'); // lese die Datei in eine Variable

var_dump ($ p);

Wir lesen die Datei in eine Variable

Wenn also alles richtig eingegeben wird, sehen wir den Inhalt der Variablen "$ p": Sie enthält einen langen Text (Zeile). Wenn dies bei Ihnen nicht der Fall ist, wurde irgendwo ein Fehler gemacht ...

Zeichenfolge (1278)

In der Tat sind dies unsere ersten Daten. Jetzt müssen wir den ersten Punkt (".") Im Artikel finden.

2) Punktsymbol suchen

Im Allgemeinen hat PHP viele Funktionen zum Arbeiten mit Strings. Um den ersten Punkt in diesem Beispiel zu finden, habe ich mich für " strpos (); " entschieden. Im Folgenden gebe ich nicht den vollständigen Text des Skriptcodes an. Achten Sie jedoch auf die Funktion selbst und auf die Variable, die ich zu var_dump hinzugefügt habe (diejenige, in der die Ordnungszahl des Punkts erscheinen soll, dh "$ t" und die Variable "$" p "- wir haben bereits im ersten Schritt debuggt, es enthält den Text).

$ t = strpos ($ p, '.');

Dabei gilt: $ p - die Variable, in der wir nach dem gewünschten Symbol suchen;

'.' - die, die wir suchen.

Punktsuche

223 ist ein Symbol, das ist ein Punkt. Wir haben sie gefunden!

3) Linie auf Punkt schneiden

Zum Trimmen von Strings hat PHP eine Funktion wie substr (). Es ist sehr einfach zu bedienen, ich zeige Ihnen ein Beispiel:

$ s = substr ($ p, 0, $ t);

Wo:

$ p - die Zeichenfolge, aus der wir schneiden werden;

0 - Ordnungszahl des Anfangs (der Anfang des gewünschten Stückes);

$ t ist ein ordinales Endzeichen (Ende des gewünschten Blocks). In unserem Beispiel ist dies der Punkt, den wir gefunden haben.

Infolgedessen sieht der vollständige Code folgendermaßen aus:

$ p = file_get_contents ('text.txt'); // lese die Datei in eine Variable

$ t = strpos ($ p, '.'); // Suche nach dem ersten Punkt in Zeile $ p

$ s = substr ($ p, 0, $ t); // schneide den String vom 0. Zeichen bis zum Punkt

var_dump ($ s);

Schneiden Sie die Linie ab

Beachten Sie, dass wir nach diesem Schritt auch die Variable in "var_dump ($ s);" geändert haben  . ... So sehen wir, dass unsere Zeichenfolge klein geworden ist, nur 223 Zeichen. Wir haben das Problem praktisch gelöst, es ist nicht mehr viel übrig ...

Abgeschnitten!

4) Das Problem ist gelöst!

Wenn Sie "var_dump" durch "echo" ersetzen, erhalten Sie im Allgemeinen ein gelöstes Beispiel. Jetzt wird beim Öffnen von "my-site.ru" der erste Satz aus der Textdatei im Browser angezeigt.

Das Skript ist fertig!

Beachten Sie, dass "echo" keine Datentypdetails druckt. Sie sehen nur eine Linie ...

Der Vorschlag wurde gekürzt

SCHRITT 4 - neue Herausforderung ...

Wie Sie sich vorstellen können, ist die Aufgabe im obigen Beispiel nur ein Tropfen auf den heißen Stein! Natürlich könnte es in einer Zeile und auf elegantere Weise gelöst werden (alles oben gezeigte ist nur ein Beispiel, um die Essenz zu zeigen und wie Sie ein Skript mit Hunderten von Zeilen erstellen können, das viel komplexere Probleme löst).

Natürlich können Sie nicht nur nach einem Punkt suchen, sondern auch nach Sequenzen bestimmter Symbole, Bilder, Tags usw. Sie können nicht nur die Datei lesen (d. H. Die ursprünglichen Daten daraus abrufen), sondern auch die Seiten anderer Websites, die aktuelle URL des Benutzers lesen, Daten aus dem vom Benutzer ausgefüllten Formular abrufen usw.

Wenn Sie also eine große Aufgabe in mehrere mittlere und die mittlere in mehrere kleine und die kleinen in Codezeilen und bestimmte Funktionen aufteilen (von denen Sie jede manuell durchlaufen und debuggen), können Sie selbst sehr große Probleme lösen. Ja, auch wenn es zunächst schief und schräg ist, aber die Hauptsache ist, dass Sie es selbst tun und ein Interesse daran haben, ein bestimmtes Lernniveau zu erreichen.

Darüber hinaus werden mit jeder neuen Linie Ihre Erfahrung, Ihre Entwicklungsgeschwindigkeit und Ihre Fähigkeiten verbessert. Und wenn ja, habe ich diese Zeilen vielleicht aus einem bestimmten Grund geschrieben ...

Stellen Sie also neue Aufgaben ein und fahren Sie fort: Suchen Sie Schritt für Schritt nach Funktionen, ändern Sie Variablen, lösen Sie Schritt für Schritt kleine Probleme. Die Hauptsache ist, sich nicht auf Bücher und Schulungen einzulassen - bis Sie anfangen, es selbst zu tun, werden Sie nicht lernen ...

Worüber sie in Anzeigen für Bücher und Kurse nicht sprechen

Sie versprechen normalerweise, Ihnen das Programmieren in einer Woche oder einem Monat (maximal 2) beizubringen, versprechen hohe Gehälter und einen hohen Status. Sie vergessen jedoch völlig, einige wichtige Dinge hinzuzufügen, die ich unten sagen werde ...

1) Starke Augenbelastung

Den ganzen Tag sitzen und den Code durchgehen, ihn bearbeiten usw. ist weit davon entfernt, den ganzen Tag einen Film zu schauen und sich auf einem Stuhl zu entspannen. Glauben Sie mir nicht - versuchen Sie mindestens einen halben Tag, ein Word- oder Excel-Dokument (ungefähr vergleichbar) sorgfältig zu bearbeiten.

2) Das Bedürfnis ständig zu lernen

Heutzutage muss man in vielen Berufen immer lernen, aber Programmierer - zehnmal mehr! Im Allgemeinen schreitet die IT-Sphäre jedes Jahr sprunghaft voran, halten Sie einfach Schritt (denken Sie daran, dass das Internet vor 10 Jahren nur in Städten auftauchte und jetzt sogar in Dörfern über Bitcoins gesprochen wird ...). ...

3) Sitzende Arbeit

Wenn Sie in vielen Bereichen einen Teil Ihres Arbeitstages irgendwo "zu Fuß" verbringen können, befindet sich der Arbeitsplatz des Programmierers nur am PC und nirgendwo anders ... Diese Lebensweise wirkt sich jedoch im Laufe der Zeit auf die Gesundheit aus: zurück, Hände, Schultern, Augen ... - am Ende des Tages werden sie sehr müde.

4) Die Gehälter gewöhnlicher Programmierer sind nicht immer hoch

Bis Sie Erfahrung sammeln, erhalten Sie höchstwahrscheinlich nicht viel mehr als in anderen Tätigkeitsbereichen. Meiner Meinung nach vergeht die Ära zu hoher Gehälter in diesem Bereich (vorbei?). Die Arbeit guter Spezialisten auf diesem Gebiet ist jedoch gut bezahlt!

5) Es ist langweilig, die Probleme anderer Leute zu lösen ...

Wenn Sie daran interessiert sind, Ihre Idee zu programmieren und in die Realität umzusetzen, bedeutet dies keineswegs, dass es interessant sein wird, die Probleme anderer zu lösen - das ist überhaupt nicht dasselbe! Manchmal wird das Eingraben in den Code so langweilig und grau ... dass sogar ein "Heulen" (ich denke, dass nicht jeder diese Zeilen verstehen wird) .

PS : Sollten Sie Ihren aktuellen Job kündigen und versuchen, Programmierer zu werden?

Eine sehr beliebte Frage ... Besonders nach sehr hohen Gehältern einiger Kategorien von Programmierern.

Alles auf einmal zu beenden ist definitiv nicht (zumindest aus meiner Sicht). Was auch immer es ist und was auch immer Sie sich entscheiden, um effektiv zu trainieren, das Gehirn zu belasten und etwas Neues zu lernen - eine Person kann nicht mehr als 2 bis 2,5 Stunden pro Tag (das ist wirklich so, Sie können es selbst überprüfen - sogar an einem Wochenende kann mehr). Um Ihr neues Handwerk zu erlernen, ist es durchaus möglich, morgens oder abends am Ende des Arbeitstages eine Stunde Zeit zu sparen, um einen Teil des freien Tages zu "stehlen".

Wenn Sie erfolgreich sind, werden Sie einige Erfahrungen usw. sammeln. - Sie können versuchen, Urlaub zu machen und einen Job als Praktikant zu bekommen (vielleicht zur Halbzeit), ob Sie alles mögen und trainieren ...

Es wird auch nicht überflüssig sein, ein finanzielles "Kissen" für einen regnerischen Tag zu haben, sonst weiß man nie, plötzlich entspricht ein neuer Job nicht den Erwartungen. Zumindest wird dieser Ansatz Sie nicht in eine schwierige Lebenssituation bringen, wenn etwas schief geht ...

* *

Nun, damit beende ich mein "Handbuch". Wenn Sie Ergänzungen zum Thema oder zur Kritik haben, sind diese willkommen (Kommentare sind offen).

Alles Gute!