Comment commencer à programmer en PHP à partir de zéro (vous-même). Pourquoi beaucoup de gens échouent? Expérience personnelle ... essais et erreurs

Bonne journée!

Probablement, chacun de nous, ayant regardé des films sur les hackers et les programmeurs sympas, aimerait au moins comprendre un peu à ce sujet. Et je noterai que non, non, et ils me posent des questions similaires (même si je peux programmer, mais je suis loin d'être un programmeur professionnel. Et pour les gens éloignés de la sphère informatique, cela ne s'explique pas du tout ...) .

En général, il existe maintenant un certain nombre de cours de formation, de livres et d'articles sur ce sujet sur Internet. Cependant, quand j'ai moi-même essayé (apprendre le langage avec eux) à partir des premières lignes de code "bonjour le monde!" en PHP pour passer à quelque chose de plus sérieux et applicable dans la vie - rien n'a fonctionné! Comme s'il y avait un vide ou un vide dans ces livres: il n'est pas clair comment passer des bases et des connaissances de certaines fonctions à quelque chose de plus ...

Au fil du temps, j'ai réussi à comprendre PHP au niveau de l'écriture de mon propre CMS simple (le CMS est un moteur pour le site)  et un article m'a aidé avec cela (malheureusement, cette ressource n'existe plus sur le réseau, cependant, je suis très reconnaissant à cet auteur pour ce "coup de pied" "dans la direction souhaitée).

Avec cet article et ma vision en tête, je vais esquisser cette note pour ceux qui veulent vraiment commencer à programmer en PHP, mais qui échouent. En général, j'ai ma propre opinion très radicale sur ce point de vue, donc ici vous ne trouverez pas de conseils sur les livres et les cours - juste un aperçu de ce qu'il faut faire exactement en fonction de votre expérience ...

*

Où commencer la programmation (en PHP)

ÉTAPE 1 - passe-temps, désir de résoudre un problème

Le plus important est peut-être de «prendre feu» avec une tâche (sans cela, il est très difficile d'étudier quelque chose de nouveau). Par exemple, à un moment donné, j'avais vraiment besoin (TRÈS!) Pour qu'un script PHP puisse lire un certain fichier texte, et en couper quelques morceaux selon mon modèle. D'une part, tout semble simple, d'autre part, pour une personne qui n'a jamais écrit 2 lignes de code par elle-même, la tâche est extrêmement difficile!

J'ai dû acheter ce premier script ... Mais plus tard j'ai eu besoin d'un autre similaire (puis d'un autre). Et ici, ici, je me suis laissé emporter par PHP ... D'ailleurs, après quelques soirées il était déjà possible d'écrire de tels scripts tout seul, après avoir souffert pendant une heure ou deux ...

Eh bien, en général, en général, je tiens à noter que s'il n'y a pas d'intérêt pour la programmation, puis en commençant rapidement l'étude, en règle générale, ils se terminent rapidement. Et j'ai peur qu'aucun cours et aucun enseignant ne résoudra le problème.

Tant que vous ne commencez pas à taper le code vous-même et à voir ce qui est "affiché" pour vous, ce qu'il y a dans vos variables et comment les données y changent lorsque vous utilisez certaines fonctions, vous ne pouvez pas commencer à programmer (c'est purement mon avis!). Aucune quantité de livres «intelligents» ne vous aidera.

C'est bon de rêver!

À propos, de nombreux débutants (y compris moi-même une fois) ont une grosse erreur: ils passent beaucoup de temps à préparer, à télécharger divers cours et vidéos. Ensuite, ils regardent tout, l'étudient, l'écrivent dans des cahiers, etc. Mais ils ne font pas la chose la plus importante - ils ne commencent pas à taper le code eux-mêmes et regardent comment il est exécuté ...

Ok, maintenant plus proche de la pratique (je termine la philosophie).

ÉTAPE 2 - installation des outils Denwer, Open Server, Notepad ++, Total Commander. Début!

Vous n'avez pas à acheter d'hébergement pour écrire vos premiers scripts et expériences. Il est préférable d'utiliser un serveur Web local gratuit: Denwer ou Open Server (je recommande personnellement Open Server, et c'est là que je vous montre comment et quoi faire) . Soit dit en passant, si vous choisissez  Open Server , alors la version minimale suffira pour commencer (note: il n'y en a que plusieurs sur le site, avec des bibliothèques différentes).

Pour la numérotation directe du code (texte), il est pratique d'utiliser spécial. bloc-notes avec coloration syntaxique. Je suis impressionné par Notepad ++ à cet égard. Bloc-notes simple, léger, gratuit et pratique (beaucoup plus de fonctionnalités par rapport au bloc-notes Windows intégré).

Bonjour le monde! (Bloc-notes ++)

Eh bien, je recommanderais également d'utiliser une sorte de commandant. dans l'explorateur, il est très gênant de naviguer dans différents dossiers et d'ouvrir plusieurs fichiers à la fois (vous vous perdez et oubliez où se trouve). Je recommanderais de choisir Total Commander (un commandant très pratique et riche en fonctionnalités).

Premier scénario: préparation!

1) Après avoir téléchargé et installé OpenServer, vous devriez avoir un dossier du même nom à l'emplacement sélectionné sur le disque - dans mon cas, c'est "e: \ openserver5.2 \" . Ce dossier doit contenir le répertoire "domaines" - dans celui-ci, vous devez créer un dossier avec le nom de votre site (par exemple, "mon-site.ru" - exemple ci-dessous).

Rappelez-vous le nom de ce dossier, c'est ce dossier qu'il faudra saisir dans la barre d'adresse du navigateur lors de l'écriture des scripts.

OpenServer - exemple de création d'un "site" (local)

2) Ensuite, créez un fichier "index.php" dans le répertoire "my-site.ru" et entrez les lignes suivantes:

echo "Bonjour tout le monde!" ;

Bonjour le monde! Le premier "programme"!

Enregistrez le fichier.

Remarque: si quelqu'un travaille avec php pour la première fois, faites attention à la commande 'echo' - cela signifie tout afficher après cela entre guillemets.

3) Démarrez ensuite OpenServer (ou redémarrez-le s'il était en cours d'exécution). Fermez et rouvrez également vos navigateurs. Ceci est nécessaire pour qu'OpenServer puisse modifier certains fichiers dans votre Windows: afin que notre site créé "my-site.ru" s'ouvre dans votre navigateur.

OpenServer - démarre un serveur Web local

En général, si OpenServer a été lancé avec succès, une case à cocher verte doit être allumée dans votre barre d'état (s'il est rouge ou jaune, essayez de le redémarrer. Dans certains cas, vous devez l'exécuter en tant qu'administrateur. Dans tous les cas, la case rouge ne devrait plus fonctionner permettra ...) .

OpenServer - opérationnel

4) En fait, il reste à taper notre " mon-site.ru " (sans guillemets) dans la barre d'adresse du navigateur , et il affichera un message d'accueil à partir du fichier index.php créé (voir l'écran ci-dessous).

Travaux!

5) Notez que si dans le premier exemple nous avons immédiatement affiché une ligne de texte, alors dans l'exemple suivant j'ai légèrement changé le code. En règle générale, lors du développement de scripts, vous avez affaire à des variables qui peuvent contenir diverses données: chaînes, nombres, etc.

Créons une variable ("$ p") et mettons notre texte dedans. Voir l'exemple ci-dessous:

$ p = 'Bonjour le monde!';

echo $ p;

Première variable

Comme indiqué ci-dessous, le résultat sera le même! Ceux. le navigateur imprimera également notre chaîne. Cependant, le code est légèrement différent: maintenant le texte est contenu dans la variable "$ p", que nous sortons ...

Afficher les données d'une variable

6) Un autre exemple illustratif ci-dessous. Cette fois, j'ai créé deux variables "$ p" et "$ p2", puis j'ai concaténé ces chaînes et les ai placées dans la variable "$ p3". Notez que les lignes sont connectées à l'aide d'un simple point.

$ p = 'Bonjour le monde!';

$ p2 = 'C'est moi!';

$ p3 = $ p. $ p2;

echo $ p3;

Un autre exemple (deux variables)

Le résultat est prévisible ...

Travaux...

J'attire votre attention sur le fait qu'il est recommandé de conduire manuellement tous les exemples pour une compréhension et une maîtrise plus rapides.

ÉTAPE 3 - décomposer la tâche en ses composants. Débogage de chaque étape

C'est peut-être l'étape la plus importante pour démarrer la programmation, c'est pourquoi j'ai commencé cet article ...

Quelle que soit la difficulté de votre tâche à résoudre, elle peut être conditionnellement divisée en trois étapes:

  1. obtention des données initiales (saisie de données);
  2. transformation des données;
  3. sortie de données: à l'écran, ou simplement à une variable. (voir la capture d'écran ci-dessous: j'ai divisé conditionnellement l'un des exemples de l'article en ces trois étapes, afin de savoir de quoi il s'agit)

Quelles étapes le script peut-il être divisé en

En règle générale, les étapes d' acquisition et de transformation des données sont les plus difficiles  . Et de nombreux débutants ne savent pas comment écrire du code de 100 lignes sans se tromper ni se tromper.

En fait, après chaque ligne de code, vous pouvez voir ce que vous avez dans les variables. Et progressivement, en ajoutant une ligne de code à la fois, et en regardant comment les variables changent, amenez-les à la forme souhaitée (et résolvez le problème!). Pour cela, PHP a de merveilleuses fonctions "var_dump ($ p);" et "print_r ($ p);".

Et pour les débutants, je recommande de les utiliser tout le temps! Oui, juste comme ça, la programmation est parfois une chose tellement ennuyeuse ...

Je vais considérer un exemple ci-dessous.

Imaginez, vous ne savez pas ce que vous avez dans la variable "$ p3" (dans le code, dans l'exemple ci-dessous, vous voyez la ligne qui y est chargée, et en théorie elle devrait être là. Mais dans des problèmes réels plus complexes - cela ne se produit pas toujours, la variable peut contenir un désordre complet au lieu de la ligne requise ...).

Donc, pour voir ce qu'il y a dans la variable, il suffit d'insérer la commande "var_dump ($ p3);" après (et de sauvegarder le fichier).

Exemple de Var_dump

En conséquence, dans le navigateur (lorsque la page est actualisée), vous verrez que "string (31) ...." est affiché. Ceux.  var_dump vous a indiqué le type de données (chaîne - une chaîne) et la longueur de cette chaîne (31 - caractères). Ceci est très utile lors du débogage de programmes longs (scripts)!

ficelle (31)

Par exemple, avant "var_dump ($ p3);" j'ai assigné la valeur 1 à la variable $ p3. Le résultat est différent (voir ci-dessous).

Si vous ajoutez un nombre à la variable

Int (1)

Exemple: lecture d'un fichier texte et découpage de la première phrase

Tout ce que j'ai écrit ci-dessus serait bien expliqué avec un exemple. À titre d'exemple, j'ai pris une tâche simple: ouvrir un fichier texte, trouver le premier point (c'est-à-dire la fin d'une phrase) et tout couper du début du fichier à ce point.

D'une part, cela peut paraître difficile pour ceux qui n'ont jamais fait de PHP. D'autre part, en décomposant la tâche en ses composants et en utilisant le débogage (var_dump), vous pouvez écrire des choses encore plus complexes ...

Et donc, il est logique de diviser cette tâche en plusieurs étapes:

  1. lire un fichier texte dans une variable;
  2. trouver un point dans un fichier texte (c'est-à-dire connaître son numéro de série, par exemple, le 35e caractère);
  3. couper un morceau de chaîne: du tout premier caractère à un point (à son nombre ordinal).
  4. afficher le résultat à l'écran.

1) Lire un fichier dans une chaîne

En tant que fichier texte - j'ai pris le texte de cet article et l'ai mis dans le fichier "text.txt", que j'ai copié dans le dossier "e: \ openserver5.2 \ domaines \ mon-site.ru \" (c'est-à-dire, placez-le à côté de avec "index.php").

Ensuite, vous devez trouver une fonction pour résoudre le premier composant: lire le fichier dans une variable. C'est là que "Google" aide beaucoup: une requête comme "PHP lisant un fichier" fait son travail et aide à trouver la fonction  file_get_contents () - c'est ce que nous utilisons!

Au fait, à cet égard, je recommande le répertoire //php.net (une aide formidable!).

$ p = fichier_get_contents ('text.txt'); // lit le fichier dans une variable

var_dump ($ p);

Nous lisons le fichier dans une variable

En conséquence, si tout est entré correctement, nous verrons le contenu de la variable "$ p": elle contiendra un long texte (ligne). Si ce n'est pas le cas, une erreur a été commise quelque part ...

chaîne (1278)

En fait, ce sont nos données initiales. Nous devons maintenant trouver le premier point (".") Dans l'article.

2) Trouver le symbole du point

En général, PHP a beaucoup de fonctions pour travailler avec des chaînes. Pour trouver le premier point de cet exemple, j'ai décidé d'utiliser " strpos (); ". Ci-dessous, je ne donne pas le texte complet du code du script, cependant, faites attention à la fonction elle-même et à la variable que j'ai ajoutée à var_dump (celle dans laquelle le numéro ordinal du point doit apparaître, c'est-à-dire "$ t", et la variable "$ p "- nous avons déjà débogué dans la première étape, il contient le texte).

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

où: $ p - la variable dans laquelle nous recherchons le symbole souhaité;

'.' - celui que nous recherchons.

Recherche de points

223 est un symbole, c'est un point. Nous l'avons trouvée!

3) Couper la ligne au point

Pour couper les chaînes, PHP a une fonction comme substr (). C'est très simple à utiliser, je vais vous montrer un exemple:

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

Où:

$ p - la chaîne à partir de laquelle nous allons couper;

0 - caractère ordinal du début (le début de la pièce souhaitée);

$ t est un caractère de fin ordinal (fin du bloc souhaité). Dans notre exemple, c'est le point que nous avons trouvé.

En conséquence, le code complet ressemblera à ceci:

$ p = fichier_get_contents ('text.txt'); // lit le fichier dans une variable

$ t = strpos ($ p, '.'); // cherche le premier point de la ligne $ p

$ s = substr ($ p, 0, $ t); // coupe la chaîne du 0ème caractère au point

var_dump ($ s);

Coupez la ligne

Notez que nous avons également changé la variable dans "var_dump ($ s);" après cette étape  . ... Ainsi, nous voyons que notre chaîne est devenue petite, seulement 223 caractères. Nous avons pratiquement résolu le problème, il ne reste plus grand-chose ...

Couper!

4) Le problème est résolu!

En général, en remplaçant "var_dump" par "echo" - nous obtenons un exemple résolu. La première phrase du fichier texte est maintenant affichée dans le navigateur lors de l'ouverture de "my-site.ru".

Le script est prêt!

Notez que "echo" n'imprime pas les détails du type de données. Vous ne voyez qu'une ligne ...

La proposition a été coupée

ÉTAPE 4 - nouveau défi ...

Comme vous pouvez l'imaginer, la tâche de l'exemple ci-dessus n'est qu'une goutte dans l'océan! Bien sûr, cela pourrait être résolu en une seule ligne et de manière plus élégante (tout ce qui est montré ci-dessus n'est qu'un exemple pour montrer l'essence et comment vous pouvez vous déplacer pour créer un script avec des centaines de lignes et qui résout des problèmes beaucoup plus complexes).

Bien sûr, vous pouvez rechercher non seulement un point, mais également des séquences de certains symboles, images, balises, etc. Vous pouvez lire non seulement le fichier (c'est-à-dire en obtenir les données initiales), mais également les pages d'autres sites, lire l'URL actuelle de l'utilisateur, obtenir des données à partir du formulaire que l'utilisateur remplit, etc.

Ainsi, en divisant une grande tâche en plusieurs moyennes, et les moyennes en plusieurs petites, et les petites en lignes de code et fonctions spécifiques (dont chacune vous passerez manuellement en revue et déboguerez), vous pouvez résoudre même de très gros problèmes. Oui, même s'il est tordu et oblique au début, mais l'essentiel est que vous le fassiez vous-même, et vous aurez intérêt à atteindre un certain niveau d'apprentissage.

De plus, à chaque nouvelle ligne, votre expérience, votre vitesse de développement et vos compétences seront optimisées. Et si oui, j'ai peut-être écrit ces lignes pour une raison ...

Alors, définissez de nouvelles tâches et allez-y: recherchez les fonctions étape par étape, changez les variables, résolvez les petits problèmes étape par étape. L'essentiel est de ne pas être accroché à des livres et à des cours de formation - tant que vous ne commencez pas à le faire vous-même, vous n'apprendrez pas ...

Ce dont ils ne parlent pas dans la publicité pour les livres et les cours

Ils promettent généralement de vous enseigner la programmation en une semaine ou un mois (maximum 2), promettent de gros salaires et un statut élevé. Cependant, ils oublient complètement d'ajouter quelques choses importantes, que je dirai ci-dessous ...

1) fatigue oculaire lourde

Assis toute la journée et parcourir le code, le modifier, etc. est loin d'être la même chose que de regarder un film toute la journée, de se détendre sur une chaise. Ne me croyez pas - essayez au moins une demi-journée pour éditer de manière réfléchie un document Word ou Excel (à peu près comparable).

2) Le besoin d'apprendre constamment

De nos jours, dans de nombreuses professions, il faut toujours apprendre, mais les programmeurs - dix fois plus! En général, en général, la sphère informatique progresse chaque année à pas de géant, il suffit de suivre le rythme (rappelez-vous, il y a environ 10 ans, Internet a commencé à n'apparaître que dans les villes, et maintenant même dans les villages, on parle de bitcoins ...) ...

3) Travail sédentaire

Si dans de nombreux domaines, vous pouvez passer une partie de votre journée de travail quelque part à "marcher", alors le lieu de travail du programmeur est uniquement au PC, et nulle part ailleurs ... Ce mode de vie, néanmoins, avec le temps commence à affecter la santé: retour, mains, épaules, yeux ... - à la fin de la journée, ils commencent à être très fatigués.

4) Les salaires des programmeurs ordinaires ne sont pas toujours élevés

Jusqu'à ce que vous acquériez de l'expérience, vous ne recevrez probablement pas beaucoup plus que dans d'autres domaines d'activité. A mon avis, l'ère des salaires trop élevés dans ce domaine est en train de passer (passée?). Cependant, le travail de bons spécialistes dans ce domaine est bien rémunéré!

5) C'est ennuyeux de résoudre les problèmes des autres ...

Si vous vous intéressez à la programmation et à la "traduction" de votre idée en réalité, cela ne veut pas du tout dire qu'il sera intéressant de résoudre les problèmes des autres - ce n'est pas du tout ça! Parfois, fouiller dans le code devient si ennuyeux et gris ... que même un "hurlement" (je pense que tout le monde ne comprendra pas ces lignes) .

PS : Devez-vous quitter votre emploi actuel et essayer de devenir programmeur?

Une question très populaire ... Surtout dans le sillage des salaires très élevés de certaines catégories de programmeurs.

Tout jeter tout de suite - certainement pas (du moins, mon point de vue). Quoi que ce soit, et quoi que vous décidiez, de faire de l'exercice efficacement, de charger le cerveau et d'apprendre quelque chose de nouveau - une personne n'est capable de pas plus de 2 à 2,5 heures par jour (c'est vraiment le cas, vous pouvez vérifier par vous-même - même un week-end peut faire plus). Donc, pour commencer à apprendre votre nouveau métier - il est tout à fait possible de se tailler une heure le matin ou le soir à la fin de la journée de travail, quelque part pour «voler» une partie de la journée.

Si vous réussissez, vous acquerrez de l'expérience, etc. - vous pouvez essayer de prendre des vacances et trouver un emploi de stagiaire (peut-être à mi-temps), voir si vous aimez tout et vous entraînez ...

Aussi, il ne sera pas superflu d'avoir un "oreiller" financier pour un jour de pluie, sinon on ne sait jamais, du coup un nouvel emploi ne répondra pas aux attentes. Au moins, cette approche ne vous conduira pas dans une situation de vie difficile si quelque chose ne va pas ...

*

Bon, là-dessus je termine mon "manuel". Si vous avez des ajouts sur le sujet ou des critiques, ils sont les bienvenus (les commentaires sont ouverts).

Bonne chance!