Come iniziare a programmare in PHP da zero (te stesso). Perché molte persone falliscono? Esperienza personale ... tentativi ed errori

Buona giornata!

Probabilmente, ognuno di noi, dopo aver visto film su hacker e programmatori fantastici, vorrebbe capire almeno un po 'di questo argomento. E noterò che no, no, e mi pongono domande simili (sebbene io sappia programmare, sono tutt'altro che un programmatore professionista. E per le persone lontane dalla sfera IT, questo non può essere spiegato affatto ...) .

In generale, ora ci sono diversi corsi di formazione, libri e articoli su questo argomento su Internet. Tuttavia, quando ho provato io stesso (imparando la lingua da loro) dalle prime righe di codice "ciao mondo!" in PHP per passare a qualcosa di più serio e applicabile nella vita - niente ha funzionato! Come se in questi libri ci fosse un certo vuoto o vuoto: non è chiaro come passare dalle basi e dalla conoscenza di alcune funzioni a qualcosa di più ...

Nel tempo, sono riuscito a capire PHP al livello di scrivere il mio semplice CMS (CMS è un motore per il sito)  e un articolo mi ha aiutato in questo (sfortunatamente quella risorsa non esiste più sulla rete, tuttavia, sono molto grato a quell'autore per questo "kick "nella direzione desiderata).

Con quell'articolo e la mia visione in mente, abbozzerò questa nota per coloro che vogliono davvero iniziare a programmare in PHP, ma stanno fallendo. In generale, ho la mia opinione molto radicale su questo punto di vista, quindi qui non troverai consigli su libri e corsi - solo uno sguardo a cosa esattamente fare in base alla tua esperienza ...

*

Da dove iniziare a programmare (in PHP)

FASE 1 - hobby, desiderio di risolvere qualche problema

Forse la cosa più importante è "prendere fuoco" con qualche compito (senza questo, è molto difficile studiare qualcosa di nuovo). Ad esempio, una volta avevo davvero bisogno (MOLTO!) In modo che uno script PHP potesse leggere un certo file di testo e ritagliarne alcuni pezzi secondo il mio modello. Da un lato tutto sembra semplice, dall'altro, per una persona che non ha mai scritto 2 righe di codice da solo, il compito è estremamente difficile!

Ho dovuto comprare questo primo copione ... Ma in seguito mi serviva un altro simile (e poi un altro). E qui, qui, mi sono lasciato trasportare da PHP ... A proposito, dopo alcune sere era già possibile scrivere tali script da solo, dopo aver sofferto per un'ora o due ...

Bene, in generale, in generale, voglio notare che se non c'è interesse per la programmazione, quindi avviare rapidamente lo studio, di regola, rapidamente e finire. E temo che nessun corso e nessun insegnante lo risolveranno.

Finché non inizi a digitare il codice da solo e vedi cosa viene visualizzato, cosa c'è nelle tue variabili e come cambiano i dati in esse quando usi alcune funzioni, non puoi iniziare a programmare (questa è puramente la mia opinione!). Nessuna quantità di libri "intelligenti" ti aiuterà.

È bello sognare!

A proposito, molti principianti (incluso me stesso una volta) hanno un grosso errore: passano molto tempo a prepararsi, scaricando vari corsi e video. Poi guardano tutto, lo studiano, lo annotano su quaderni, ecc. Ma non fanno la cosa più importante: non iniziano a digitare il codice da soli e guardano come viene eseguito ...

Ok, ora più vicino alla pratica (sto finendo la filosofia).

FASE 2 - installazione degli strumenti Denwer, Open Server, Notepad ++, Total Commander. Inizio!

Per scrivere i tuoi primi script ed esperimenti, non devi acquistare hosting. È molto meglio usare un server web locale gratuito: Denwer o Open Server (personalmente raccomando Open Server, ed è qui che ti mostro come e cosa fare) . A proposito, se scegli  Open Server , la versione minima sarà sufficiente per iniziare (nota: ce ne sono solo molti sul sito, con diverse librerie).

Per la composizione diretta del codice (testo) è conveniente usare speciale. blocco note con evidenziazione della sintassi. Sono impressionato da Notepad ++ a questo proposito. Blocco note semplice, leggero, gratuito e conveniente (molte più funzionalità rispetto al blocco note integrato di Windows).

Ciao mondo! (Blocco note ++)

Bene, consiglierei anche di usare una sorta di comandante. è molto scomodo navigare attraverso diverse cartelle in Explorer e aprire più file contemporaneamente (ti perdi e dimentichi cosa si trova dove). Consiglierei di scegliere Total Commander (un comandante molto comodo e ricco di funzionalità).

Primo copione: preparazione!

1) Dopo aver scaricato e installato OpenServer, dovresti avere una cartella con lo stesso nome nella posizione selezionata sul disco - nel mio caso è "e: \ openserver5.2 \" . Questa cartella dovrebbe contenere la directory "domini" - in essa devi creare una cartella con il nome del tuo sito (ad esempio, "mio-sito.ru" - esempio sotto).

Ricorda il nome di questa cartella, è questa cartella che dovrà essere digitata nella barra degli indirizzi del browser durante la scrittura degli script.

OpenServer - esempio di creazione di un "sito" (locale)

2) Successivamente, crea un file "index.php" nella directory "my-site.ru" e inserisci le seguenti righe al suo interno:

echo "Hello World!" ;

Ciao mondo! Il primo "programma"!

Salva il file.

Nota: se qualcuno sta lavorando con php per la prima volta, fai attenzione al comando "echo": significa visualizzare tutto ciò che segue tra virgolette.

3) Quindi avvia OpenServer (o riavvialo se lo avevi in ​​esecuzione). Chiudi e riapri anche i tuoi browser. Questo è necessario affinché OpenServer possa modificare alcuni file nel tuo Windows: in modo che il nostro sito creato "my-site.ru" si apra nel tuo browser.

OpenServer: avvia un server web locale

In generale, se OpenServer è stato avviato con successo, dovrebbe essere accesa una casella verde nel tuo vassoio (se è rossa o gialla, prova a riavviarlo di nuovo. In alcuni casi, è necessario eseguirlo come amministratore. In ogni caso, la casella rossa non funziona più permetterà ...) .

OpenServer: attivo e funzionante

4) In realtà, resta da digitare il nostro " my-site.ru " (senza virgolette) nella barra degli indirizzi del browser , e mostrerà un saluto dal file index.php creato (vedi la schermata sotto).

Lavori!

5) Nota che se nel primo esempio abbiamo visualizzato immediatamente una riga di testo, nel prossimo esempio ho leggermente modificato il codice. Di norma, quando si sviluppano script, si ha a che fare con variabili che possono contenere vari dati: stringhe, numeri, ecc.

Creiamo una variabile ("$ p") e inseriamo il nostro testo. Vedi esempio sotto:

$ p = 'Hello World!';

echo $ p;

Prima variabile

Come mostrato di seguito, il risultato sarà lo stesso! Quelli. il browser stamperà anche la nostra stringa. Tuttavia, il codice è leggermente diverso: ora il testo è contenuto nella variabile "$ p", che produciamo ...

Visualizzazione dei dati da una variabile

6) Un altro esempio illustrativo di seguito. Questa volta, ho creato due variabili "$ p" e "$ p2", quindi ho concatenato quelle stringhe e le ho inserite nella variabile "$ p3". Notare che le linee sono collegate usando un semplice punto.

$ p = 'Hello World!';

$ p2 = 'Sono io!';

$ p3 = $ p. $ p2;

echo $ p3;

Un altro esempio (due variabili)

Il risultato è prevedibile ...

Lavori...

Attiro la vostra attenzione sul fatto che si consiglia di guidare manualmente in tutti gli esempi per una comprensione e una padronanza più rapide.

FASE 3: scomposizione dell'attività nei suoi componenti. Debug di ogni passaggio

Forse questo è il passo più importante per iniziare a programmare, per il gusto di farlo ho iniziato questo articolo ...

Non importa quanto sia difficile il tuo compito che vuoi risolvere, può essere suddiviso condizionatamente in tre fasi:

  1. ottenere i dati iniziali (data entry);
  2. trasformazione dei dati;
  3. output dei dati: sullo schermo o solo su una variabile. (vedi lo screenshot qui sotto: ho suddiviso condizionalmente uno degli esempi dell'articolo in questi tre passaggi, in modo che sia chiaro di cosa si tratta)

In quali fasi può essere suddiviso lo script

Di norma, le fasi di acquisizione e trasformazione dei dati sono le più difficili  . E molti principianti non hanno idea di come scrivere codice di 100 righe senza essere confusi o sbagliati.

Infatti, dopo ogni riga di codice, puoi vedere cosa hai nelle variabili. E gradualmente, aggiungendo una riga di codice alla volta e osservando come cambiano le variabili, portarle nella forma desiderata (e risolvere il problema!). Per questo, PHP ha meravigliose funzioni "var_dump ($ p);" e "print_r ($ p);".

E per i principianti, consiglio di usarli sempre! Sì, proprio così, la programmazione a volte è una cosa così noiosa ...

Prenderò in considerazione un esempio di seguito.

Immagina di non sapere cosa hai nella variabile "$ p3" (nel codice, nell'esempio sotto, vedi la riga che è caricata al suo interno, e in teoria dovrebbe essere lì. Ma in problemi reali più complessi - questo non sempre accade, la variabile può contenere un pasticcio completo invece della riga richiesta ...).

Quindi, per vedere cosa c'è nella variabile, basta inserire il comando "var_dump ($ p3);" dopo (e salvare il file).

Esempio di Var_dump

Di conseguenza, nel browser (quando la pagina viene aggiornata), vedrai che "string (31) ...." viene visualizzato. Quelli.  var_dump ti ha detto il tipo di dati (stringa - una stringa) e la lunghezza di questa stringa (31 caratteri). Questo è molto utile quando si esegue il debug di programmi lunghi (script)!

stringa (31)

Ad esempio, prima di "var_dump ($ p3);" ho impostato $ p3 su 1. Il risultato è diverso (vedi sotto).

Se aggiungi un numero alla variabile

Int (1)

Esempio: leggere un file di testo e ritagliare la prima frase

Tutto quello che ho scritto sopra sarebbe ben spiegato con un esempio. Ad esempio, ho svolto un compito semplice: aprire un file di testo, trovare il primo punto (cioè la fine di una frase) e tagliare tutto dall'inizio del file a questo punto.

Da un lato, può sembrare difficile per qualcuno che non ha mai fatto PHP. D'altra parte, dividendo l'attività in componenti e usando il debug (var_dump), puoi scrivere cose ancora più complesse ...

E quindi, è logico suddividere questo compito in più fasi:

  1. leggere un file di testo in una variabile;
  2. trova un punto in un file di testo (cioè trova il suo numero di serie, ad esempio, il 35 ° carattere);
  3. tagliare un pezzo di stringa: dal primo carattere a un punto (al suo numero ordinale).
  4. visualizzare il risultato sullo schermo.

1) Leggere un file in una stringa

Come file di testo - ho preso il testo di questo articolo e l'ho inserito nel file "text.txt", che ho copiato nella cartella "e: \ openserver5.2 \ domains \ my-site.ru \" (ovvero, mettilo accanto a con "index.php").

Successivamente, è necessario trovare una funzione per risolvere il primo componente: leggere il file in una variabile. È qui che "Google" aiuta molto: una query come "PHP che legge un file" fa il suo lavoro e aiuta a trovare la funzione  file_get_contents () - e usala !

A proposito, a questo proposito, consiglio la directory //php.net (un ottimo aiuto!).

$ p = file_get_contents ('text.txt'); // legge il file in una variabile

var_dump ($ p);

Leggiamo il file in una variabile

Di conseguenza, se tutto è inserito correttamente, vedremo il contenuto della variabile "$ p": conterrà un lungo testo (riga). Se non è così, è stato commesso un errore da qualche parte ...

stringa (1278)

In effetti, questi sono i nostri dati iniziali. Ora dobbiamo trovare il primo punto (".") Nell'articolo.

2) Trova il simbolo del punto

In generale, PHP ha molte funzioni per lavorare con le stringhe. Per trovare il primo punto in questo esempio, ho deciso di utilizzare " strpos (); ". Di seguito non fornisco il testo completo del codice dello script, tuttavia, faccio attenzione alla funzione stessa ea quale variabile ho aggiunto a var_dump (quella in cui dovrebbe comparire il numero ordinale del punto, cioè "$ t", e la variabile "$ p "- abbiamo già eseguito il debug nel primo passaggio, contiene il testo).

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

dove: $ p - la variabile in cui stiamo cercando il simbolo desiderato;

"." - quello che stiamo cercando.

Ricerca punti

223 è un simbolo, questo è un punto. L'abbiamo trovata!

3) Taglia la linea al punto

Per tagliare le stringhe, PHP ha una funzione come substr (). È molto semplice da usare, ti mostro con un esempio:

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

Dove:

$ p - la stringa da cui taglieremo;

0 - carattere ordinale dell'inizio (l'inizio del brano desiderato);

$ t è un carattere finale ordinale (fine del blocco desiderato). Nel nostro esempio, questo è il punto che abbiamo trovato.

Di conseguenza, il codice completo sarà simile a questo:

$ p = file_get_contents ('text.txt'); // legge il file in una variabile

$ t = strpos ($ p, '.'); // cerca il primo punto nella riga $ p

$ s = substr ($ p, 0, $ t); // taglia la stringa dallo 0 ° carattere al punto

var_dump ($ s);

Taglia la linea

Nota che abbiamo anche cambiato la variabile in "var_dump ($ s);" dopo questo passaggio  . ... Quindi, vediamo che la nostra stringa è diventata piccola, solo 223 caratteri. Abbiamo praticamente risolto il problema, non è rimasto molto ...

Tagliato fuori!

4) Il problema è risolto!

In generale, sostituendo "var_dump" con "echo" - otteniamo un esempio risolto. Ora la prima frase del file di testo viene visualizzata nel browser quando si apre "my-site.ru".

Lo script è pronto!

Notare che "echo" non stampa i dettagli del tipo di dati. Vedi solo una riga ...

La proposta è stata tagliata

FASE 4 - nuova sfida ...

Come puoi immaginare, il compito nell'esempio sopra è solo una goccia nell'oceano! Certo, potrebbe essere risolto in una riga e in modi più eleganti (tutto ciò che è mostrato sopra è solo un esempio per mostrare l'essenza e come ci si può muovere per creare una sceneggiatura con centinaia di righe e che risolva problemi molto più complessi).

Naturalmente, puoi cercare non solo un punto, ma anche sequenze di determinati simboli, immagini, tag, ecc. Puoi leggere non solo il file (ovvero ottenere i dati iniziali da esso), ma anche le pagine di altri siti, leggere l'URL corrente dell'utente, ottenere dati dal modulo che l'utente compila, ecc.

Pertanto, dividendo un compito grande in diversi compiti medi e quelli medi in diversi piccoli e quelli piccoli in righe di codice e funzioni specifiche (ognuna delle quali esaminerai manualmente ed eseguirai il debug), puoi risolvere anche problemi molto grandi. Sì, anche se all'inizio è storto e obliquo, ma la cosa principale è che lo farai da solo e avrai interesse a raggiungere un certo livello di apprendimento.

Inoltre, con ogni nuova linea, la tua esperienza, velocità di sviluppo e abilità saranno pompate. E se è così, forse ho scritto queste righe per un motivo ...

Quindi, imposta nuovi compiti e vai avanti: cerca le funzioni passo dopo passo, cambia variabili, risolvi piccoli problemi passo dopo passo. La cosa principale è non rimanere impiccati sui libri e sui corsi di formazione: finché non inizi a farlo da solo, non imparerai ...

Di cosa non parlano nella pubblicità di libri e corsi

Di solito promettono di insegnarti a programmare in una settimana o un mese (massimo 2), promettono grandi stipendi e uno status elevato. Tuttavia, dimenticano completamente di aggiungere alcune cose importanti, che dirò di seguito ...

1) Forte affaticamento degli occhi

Stare seduti tutto il giorno e leggere il codice, modificarlo, ecc. - questo è ben lungi dall'essere lo stesso che guardare un film tutto il giorno, rilassarsi su una sedia. Non credetemi: prova almeno mezza giornata a modificare in modo ponderato un documento Word o Excel (più o meno comparabile).

2) La necessità di imparare costantemente

Oggigiorno in molte professioni devi sempre imparare, ma i programmatori - dieci volte di più! In generale, in generale, la sfera IT fa passi da gigante ogni anno a passi da gigante, basta starci dietro (ricorda, 10 anni fa Internet ha cominciato ad apparire solo nelle città, e ora anche nei villaggi si parla di bitcoin ...) ...

3) Lavoro sedentario

Se in molte aree puoi trascorrere parte della tua giornata lavorativa da qualche parte "camminando", allora il posto di lavoro del programmatore è solo al PC, e da nessun'altra parte ... Questo stile di vita, tuttavia, nel tempo inizia a influire sulla salute: schiena, mani, spalle, occhi ... - alla fine della giornata iniziano a stancarsi molto.

4) Gli stipendi dei programmatori ordinari non sono sempre alti

Finché non acquisisci esperienza, molto probabilmente, non riceverai molto di più rispetto ad altre aree di attività. Secondo me sta passando (passata?) L'era degli stipendi troppo alti in questo settore. Tuttavia, il lavoro di buoni specialisti in questo settore è ben pagato!

5) È noioso risolvere i problemi degli altri ...

Se sei interessato a programmare e "tradurre" la tua idea in realtà, questo non significa affatto che sarà interessante risolvere i problemi degli altri - non è affatto questo! A volte, scavare nel codice diventa così noioso e grigio ... che persino "ulula" (penso, queste righe non saranno comprese da tutti) .

PS : dovresti lasciare il tuo attuale lavoro e provare a diventare un programmatore?

Una domanda molto gettonata ... Soprattutto sulla scia degli stipendi molto alti di alcune categorie di programmatori.

Smettere tutto in una volta non lo è assolutamente (almeno, il mio punto di vista). Qualunque cosa sia, e qualunque cosa tu decida, per esercitare in modo efficace, caricare il cervello e imparare qualcosa di nuovo - una persona è in grado di non più di 2-2,5 ore al giorno (è davvero così, puoi controllare tu stesso - anche durante un fine settimana può fare di più). Quindi, per iniziare a imparare il tuo nuovo mestiere, è del tutto possibile ritagliarsi un'ora al mattino o alla sera alla fine della giornata lavorativa, da qualche parte per "rubare" parte della giornata libera.

Se ci riesci, acquisirai esperienza, ecc. - puoi provare a prenderti una vacanza e trovare un lavoro come stagista (forse a metà tempo), vedere se ti piace tutto e allenarti ...

Inoltre, non sarà superfluo avere un "cuscino" finanziario per una giornata di pioggia, altrimenti non si sa mai, all'improvviso un nuovo lavoro non soddisferà le aspettative. Almeno, questo approccio non ti porterà in una situazione di vita difficile se qualcosa va storto ...

*

Ebbene, su questo finisco il mio "manuale". Se hai aggiunte sull'argomento o critiche, sono benvenute (i commenti sono aperti).

Ti auguro il meglio!