Să învățăm corect PHP și MySQL. Experiența personală ca dovadă: limbajul de programare PHP este principalul de pe Internet Lecții de programare în PHP

1. Fă-ți prieteni cu cartea de referință PHP

Dacă sunteți nou în PHP, atunci este timpul să consultați minunata carte de referință PHP. Referința PHP este incredibil de cuprinzătoare și conține comentarii foarte utile la fiecare articol. Înainte de a pune întrebări sau de a încerca să rezolvi singur o problemă, economisește-ți ceva timp și mergi la cartea de referință. Răspunsurile la întrebările dvs. se află deja într-un articol util de pe site-ul PHP.net.
În acest caz, vă recomandăm să căutați singur cărți de referință în limba rusă, de preferință php pentru începători. Ne vom bucura dacă veți oferi link-uri către cărți de referință utile în comentariile articolului (rețineți doar că aceasta este o traducere a articolului).

2. Activați raportarea erorilor

6. Indentați și utilizați spații în codul dvs. pentru lizibilitate

Dacă nu utilizați indentare sau spații albe în codul dvs., rezultatul va arăta ca un tablou Jackson Pollack. Asigurați-vă că codul dvs. poate fi citit și căutat, deoarece aproape sigur îl veți face modificări în viitor. IDE-urile și editorii de text moderni pot indenta automat codul.

7. Stratificați codul

Nivelarea aplicațiilor dvs. nu este altceva decât separarea diferitelor componente ale codului în părți. În viitor, acest lucru vă va oferi posibilitatea de a schimba cu ușurință codul.

8. Folosiți întotdeauna

Deseori programatorii încearcă să folosească abrevieri în instrucțiunile PHP. Iată cum se face de obicei:

<% echo "Hello world"; %>

ecou „Bună lume”;

<% echo "Hello world" ; %>

Deși acest lucru salvează câteva caractere, toate aceste metode sunt depășite și neoficiale. Respectați standardul, deoarece aceasta este garantată a fi acceptată de toate versiunile viitoare.

9. Folosiți titluri semnificative, consistente

Numirea nu este doar pentru propria ta plăcere. Nu este nimic mai rău decât a trebui să treci prin convențiile fără sens ale altui programator. Ajută-te pe tine și pe alții folosind nume semnificative pentru clasele și proprietățile tale.

10. Comentează, comentează, comentează

Pe lângă utilizarea spațiilor și indentarea pentru a separa codul, va trebui să utilizați și comentarii inline pentru a adnota codul. Vă veți mulțumi mai târziu când va trebui să vă întoarceți și să căutați ceva în cod sau dacă pur și simplu nu vă amintiți ce a făcut o anumită funcție. Acest lucru este util și pentru cei care trebuie să vă revizuiască codul.

11. Instalați MAMP/WAMP

MySQL este cel mai popular tip de bază de date folosit cu PHP (deși nu singurul). Dacă trebuie să configurați un mediu local pentru dezvoltarea și testarea aplicațiilor PHP pe computer, luați în considerare instalarea MAMP (Mac) sau WAMP (Windows). Instalarea MySQL pe propriul computer poate fi un proces obositor și ambele pachete software conțin MySQL. Inteligent si simplu.

12. Setați limite pentru scripturile dvs

Stabilirea unei limite de timp pentru scripturile PHP este un lucru foarte important. Există momente în care scripturile se defectează și, atunci când se întâmplă acest lucru, va trebui să utilizați proprietatea set_time_limit pentru a evita buclele nesfârșite și expirarea timpului de conexiune la baza de date. Set_time_limit setează o limită de timp pentru numărul maxim de secunde în care scriptul este executat (implicit este 30). După acest timp, apare o eroare fatală.

13. Folosiți obiecte (sau POO)

Programarea orientată pe obiecte (OOP) folosește obiecte pentru a reprezenta componentele aplicației. OOP nu este doar o modalitate de a vă împărți codul în secțiuni logice separate, ci reduce, de asemenea, cantitatea de repetare a codului și face mult mai ușoară modificarea acestuia în viitor.

14. Înțelegeți diferența dintre ghilimele simple și duble

Utilizarea ghilimelelor simple în șiruri este mai eficientă, deoarece analizatorul nu trebuie să verifice codul căutând caractere speciale și alte lucruri pe care ghilimelele duble le permit. Acolo unde este posibil, încercați să utilizați întotdeauna ghilimele simple.

Obiecție: De fapt, acest lucru nu este neapărat adevărat. Testele de referință arată că atunci când se testează șiruri fără variabile, există unele beneficii de performanță atunci când se utilizează ghilimele duble.

15. Nu pune phpinfo() în Webroot-ul tău

Phpinfo este un lucru minunat. Pur și simplu creând un fișier PHP care are:

iar instalându-l undeva pe server, poți afla imediat totul despre mediul serverului tău. Cu toate acestea, mulți începători vor plasa un fișier care conține phpinfo() în webroot-ul serverului. Aceasta este o practică extrem de nesigură și, dacă mintea curioasă a cuiva obține acces, ar putea să vă distrugă serverul. Asigurați-vă că phpinfo() este într-un loc sigur și, ca măsură suplimentară de precauție, eliminați-l după ce ați terminat.

16. Niciodată, niciodată să nu ai încredere în utilizatorii tăi.

Dacă aplicația dvs. are locuri în care utilizatorii să se conecteze, ar trebui să presupuneți întotdeauna că cineva va încerca să introducă un cod discutabil. (Nu sugerăm că utilizatorii dvs. sunt oameni răi. Este doar de bun simț.) O modalitate excelentă de a vă proteja site-ul de hackeri este să vă inițializați întotdeauna variabilele pentru a vă proteja site-ul de atacurile XSS. PHP.net are un exemplu de formular închis corect cu variabile inițializate:

if (utilizator_corect ($_POST [ „utilizator” ] , $_POST [ „parolă” ] ) (

$login = adevărat ;

dacă ($login) (

forward_to_secure_environment () ;

17. Păstrați parolele criptate

Mulți începători PHP aruncă adesea date sensibile, cum ar fi parolele, într-o bază de date, fără a utiliza criptarea. Luați în considerare utilizarea MD5 pentru a vă cripta parolele înainte de a vă elibera baza de date de parole.

echo md5 ("parola mea"); // redă -

echo md5 ("myPassword"); // redă -

Obiecție: Cu toate acestea, rețineți că hashurile MD5 au fost compromise de mult timp. Desigur, sunt mai siguri decât nu, dar cu ajutorul unei „tabele spectrale” uriașe, hackerii vă pot recupera hash-ul. Pentru o și mai mare siguranță, luați în considerare adăugarea de sare (interferență de zgomot alb). O „sare” este de obicei un set suplimentar de caractere pe care îl adăugați unui șir de utilizator.

18. Utilizați instrumente de vizualizare a bazei de date

Dacă vi se pare dificil să planificați și să modificați bazele de date pentru aplicațiile dvs. PHP, ați putea lua în considerare utilizarea unui instrument de vizualizare a bazelor de date. Utilizatorii MySQL pot lucra cu DBDesigner și MySQL Workbench pentru a-și proiecta vizual bazele de date.

19. Folosiți tampon de ieșire

Bufferingul de ieșire este o modalitate simplă de a îmbunătăți considerabil calitatea și viteza scriptului dvs. PHP. Fără tamponare de ieșire, scriptul dvs. va afișa codul HTML pe pagină pe măsură ce este procesat - în bucăți. Adăugarea de buffering de ieșire permite PHP să stocheze HTML ca variabilă și să-l trimită către browser într-o singură bucată.

Pentru a activa funcția de buffering de ieșire, pur și simplu adăugați ob_start() astfel la începutul fișierului.

Obiecție: Deși nu este obligatoriu, este în general considerată o bună practică să atașați funcția „ob_end_flush();” spre finalul documentului. P.S. Doriți să comprimați și HTML? Doar schimbați „ob_start();” în „ob_start(‘ob_gzhandler’)”;

XHTML

fără titlu

fără titlu



20. Protejați-vă scriptul de atacurile de injectare SQL

Dacă nu scapi de caractere utilizate în șirurile SQL, codul tău este vulnerabil la un atac de injecție SQL. Puteți evita acest lucru folosind fie funcția mysql_real_escape_string, fie instrucțiuni SQL pregătite.

Iată un exemplu de mysql_real_escape_string în acțiune:

$nume utilizator = mysql_real_escape_string($GET[„nume utilizator”]);

$nume utilizator = mysql_real_escape_string ($GET [ "nume utilizator" ] ) ;

Și o declarație pregătită:

21. Încercați un ORM

Dacă scrieți PHP orientat pe obiecte, puteți utiliza OR-mapping (ORM). ORM vă permite să transformați date între baze de date relaționale și limbaje de programare orientate pe obiecte. Pe scurt, un ORM vă permite să lucrați cu baze de date în același mod în care lucrați cu clase și obiecte în PHP.

Există multe biblioteci ORM pentru PHP, cum ar fi Propel, iar ORM este construit în cadre PHP, cum ar fi CakePHP.

22. Memorați în cache paginile gestionate de baze de date

Memorarea în cache a paginilor PHP bazate pe baze de date este o idee excelentă pentru a îmbunătăți viteza de încărcare și performanța scriptului. De fapt, nu este atât de greu să creezi și să recuperezi fișiere de conținut static folosind bunul nostru prieten ob_start(). Iată un exemplu luat de pe Snipe.net:

// SUPRA scriptului dvs. $cachefile = "cache/".basename($_SERVER["SCRIPT_URI"]); $cachetime = 120 * 60; // 2 ore // Serviți din cache dacă este mai mic decât $cachetime dacă (file_exists($cachefile) && (time() - $cachetime< filemtime($cachefile))) { include($cachefile); echo ""; ieșire; ) ob_start(); // pornește bufferul de ieșire // Scriptul dvs. PHP normal și conținutul HTML aici // INFERIOR scriptului dvs. $fp = fopen($cachefile, "w"); // deschideți fișierul cache pentru scrierea fwrite($fp, ob_get_contents() // salvează conținutul bufferului de ieșire în fișierul fclose($fp) // închide fișierul ob_end_flush();

// SUPRA scriptului dvs

$cachefile = "cache/" . nume de bază ($_SERVER [ "SCRIPT_URI" ] );

$cachetime = 120 * 60 ; // 2 ore

// Serviți din cache dacă este mai tânăr decât $cachetime

if (file_exists($cachefile) && (time() - $cachetime< filemtime ($cachefile ) ) ) {

include ($cachefile) ;

De la autor: Este necesar să cunoașteți limbajul de programare PHP? Dacă aveți de gând să aruncați în lotul dvs. cu crearea de site-uri web, va trebui. Chiar dacă chiar nu vrei! De ce este asta? Vom încerca să răspundem la toate „de ce” comune asociate cu acest limbaj în materialul nostru.

Soluția care „ține” Internetul împreună

Exact așa a descris PHP unul dintre prietenii mei, care creează resurse de internet de mai bine de un deceniu. Și are dreptate, probabil 200% la sută (sau poate mai mult).

Însăși istoria apariției acestei limbi sugerează că s-a născut pentru a „orbit” versiunea actuală a Rețelei cu care suntem atât de obișnuiți. Acesta este probabil motivul pentru care unii oameni încă nu își pot da seama de puterea, chiar și după ce au învățat elementele de bază ale programării PHP.

Demonstrarea rolului PHP în crearea Internetului este o sarcină ingrată. Aici, după cum se spune, susținătorii altor limbi de pe partea serverului pot începe să vorbească. Ei spun că „preprocesorul de hipertext” (cum înseamnă abrevierea PHP) și-a depășit deja utilitatea. Multe dintre funcțiile sale sunt implementate chiar și în...

Ei bine, să țipi și să-ți fluturi brațele, să-ți lăudești limbajul de programare, în care ești specializat, este o chestiune simplă. Dar cea mai bună „dovadă” care indică cererea pentru PHP este prevalența acestuia.

Următorul clasament al limbajelor software, întocmit de specialiștii TIOBE vara trecută, ne spune că PHP a fost constant în top de câțiva ani. Nu ai început încă să cauți un tutorial despre limbajul de programare PHP? Vei alerga în curând.

Dacă vă întrebați de ce Java a sărit atât de mult, atunci răspunsul este: datorită sistemului de operare mobil Android, aplicații pentru care sunt dezvoltate în acest limbaj.

Grebla proprie

La începutul anilor 2000, eram angajat în „cercetare” în domeniul programării. Am tot încercat să-mi dau seama la ce „partid” de dezvoltatori ar trebui să mă alătur, la ce disciplină ar trebui să-mi dedic viața studiului.

În principiu, nu am considerat PHP un limbaj de programare pentru începători. Părea prea confuz. Iată un alt lucru ASP.NET: un limbaj comercial bazat pe C#. O, ce castele în aer am construit atunci! Și existau toate condițiile preliminare pentru aceasta:

Tehnologia a fost dezvoltată de un astfel de „gigant al gândirii” precum Microsoft.

Disponibilitatea software-ului specializat - puternicul editor Visual Studio.

Documentație extinsă și bine descrisă.

Speranță într-un viitor „sănătos”.

ASP.NET, spre deosebire de PHP, a fost mult mai ușor pentru mine. Visual Studio a automatizat un număr mare de operațiuni de scripting pe server. De exemplu, datorită unui editor vizual excelent, crearea unei pagini web a durat doar câteva minute. Prin glisarea și plasarea controalelor și stilându-le în editor, puteți crea un site web în mai puțin de o oră!

Dar limbajul de programare PHP de la zero nu mi-a funcționat imediat. Sincer, am încercat să mă împrietenesc cu el (trebuia să trec cumva examenul). Dar când le studiam elementele de bază, mi s-a părut dur și chiar rece.

În general, am preluat ASP.NET. Am creat primul meu site web. Ei bine, totul pare să funcționeze în mediul de dezvoltare. Am verificat compatibilitatea între browsere în mai multe browsere populare. Cred că este timpul să „luptăm”. Ca să zic așa, arată-ți „creția” întregii țări (cel puțin). Aici s-au dovedit a fi „greblele”.

Încercările mele de a găsi găzduire cu suport ASP.NET pe RuNet nu au avut niciodată succes. Au existat, desigur, mai multe platforme plătite, dar prețurile pentru găzduirea unui site web pe acestea nu erau în mod clar prețuri „studenților”.

Cumva am găsit o opțiune de găzduire gratuită în Burzhunet (apropo, sponsorizată de Microsoft). Ei bine, am dat clic, m-am bucurat de amploarea gândurilor mele, dar lucrurile nu au mers mai departe. Și totul datorită faptului că majoritatea site-urilor erau deja realizate în PHP.

După ce vă decideți și înțelegeți cu siguranță că sunteți gata să învățați limbajul de programare PHP, căutați un tutorial pentru începători „pentru dvs.”. Principalul lucru este că înțelegeți ce vrea să transmită autorul publicației cititorilor săi. Pregătește-te imediat să plătești o sumă bună de bani pentru literatură de calitate.

Dar este mai bine să adoptați o abordare integrată - adăugați și una inteligentă. Acest lucru vă va permite să vă perfecționați imediat abilitățile cu exemple practice. Și sfatul meu pentru tine este să faci mai puțin cod de copiere-lipire! Voi explica de ce acum.

Când tastați singuri exemple de scripturi, vă veți obișnui rapid și vă veți aminti caracteristicile sintaxei PHP. În ceea ce privește literatura, alegeți un tutorial cu elementele de bază ale programării în PHP. Și este indicat ca autorul să posteze codul tuturor exemplelor date pe resursa sa pe Internet.

De asemenea, imediat înainte de a începe antrenamentul, descărcați și instalați Open Server. Acest pachet software include toate mediile de care aveți nevoie pentru a scrie și testa codul.

Ei bine, lasă-mă să-mi iau concediu pentru azi. Iertați (dacă este ceva) pentru prezentarea excesivă a conținutului articolului, dar acest lucru este necesar pentru a înțelege caracteristicile acestui limbaj (la urma urmei, este bazat pe server). Vă doresc să înțelegeți rapid elementele de bază ale limbajului de programare PHP și să începeți codarea reală!

Voi încerca să scriu recomandări în formă liberă pentru primele câteva puncte.

În primul rând și cel mai important, pentru a învăța bine programarea PHP, trebuie să înveți bine programarea. Acesta este un lucru foarte important. Majoritatea oamenilor care scriu în PHP nu au nici cea mai mică idee despre programare. Chiar și despre lucruri de bază precum formatarea codului, depanare, profilare, tratarea erorilor, operațiuni cu fișiere. S-ar putea să observați că nu vorbesc despre OOP. Acesta este un subiect complet separat; OOP trebuie predat în mod specific. Din păcate, din 100 de oameni care spun că știu OOP, 90 sunt banali copii-pastori care au învățat sintaxa, dar nu înțeleg sensul obiectelor. Dar pentru a juca șah, nu este suficient să știi cum se mișcă piesele.

De asemenea, ar fi bine să vă răspundeți la întrebarea - de ce doriți să învățați programarea în PHP? Întrebarea nu este deloc inactivă. Mulți oameni amestecă o grămadă de concepte diferite în ea. De exemplu, CMS a fost deja menționat aici. și într-adevăr, dacă vorbim despre a face bani, atunci personalizarea Jumla și scrierea unor module de rahat pentru el sunt mult mai profitabile din punct de vedere financiar decât abilitatea de a scrie ceva de la zero. Pentru freelancing, oricum.

În general, PHP poate fi folosit în multe moduri diferite. Și pentru fiecare caz va fi propriul său limbaj.

  • Puteți crea un site web pentru oaspeți sau pentru cărți de vizită folosind PHP „dezobținut” - și nu este nimic rău sau rușinos în asta. Dimpotrivă, acesta este un plus al unui limbaj care este potrivit pentru astfel de scopuri, fără a trage câteva milioane de linii de cod de dragul unui site de cinci sute.
  • Puteți scrie un portal profesional, folosind ca bază unul dintre cadrele existente și îl puteți dezvolta.
  • Puteți scrie un proiect personalizat cu încărcare mare, pentru care va trebui să vă scrieți propriul cadru, folosind din nou PHP simplu.
  • Puteți, așa cum am menționat deja, să nituriți site-uri pe baza unui fel de CMS.

O mulțime de opțiuni! deci trebuie mai întâi să decizi ce vrei.

Au vorbit despre JS+CSS mai sus - nu asculta, este o prostie completă. Programarea front-end este un lucru complet separat, mult mai vizual decât abstract. Și, slavă Domnului, tot mai mulți angajatori încep să înțeleagă acest lucru. Deși, din nou, dacă sunteți freelance și sunteți un pasionat de toate meserii, atunci nu puteți trăi fără ea.

Dar dacă lucrați ca programator hardcore de server într-o echipă, atunci trebuie doar să aveți o înțelegere generală a HTML/JS/CSS (deoarece textele în aceste limbi sunt, de fapt, practic singurul rezultat al muncii PHP).

Dar ceea ce trebuie să știți bine din tehnologiile conexe este protocolul HTTP, structura sistemului de fișiere și lucrul cu linia de comandă în Linux.

Acum pentru restul

Mysql este încă piatra de temelie a stocării datelor pe web. Trebuie să cunoașteți și să înțelegeți îmbinările și indexurile

Cadrele sunt obligatorii. Aici, însă, există o problemă de alegere, dar nu există nicio diferență fundamentală între ele. Yii este o alegere bună.

Nu ai nevoie de Github, nu trebuie să-l știi. Trebuie să știi git.
Dar ceea ce este obligatoriu pentru un programator web este capacitatea de a folosi Google. Cel puțin la nivelul capacității de a copia și lipi un mesaj de eroare într-un formular de căutare sau de a scrie o întrebare „Ce este git” ;-)

Pentru că pentru a lucra într-o echipă trebuie să cunoști un sistem de control al versiunilor, iar git este un standard de facto. Înțelegeți principiul de funcționare și comenzile de bază - checkout, commit, push.

Cunoașterea HTML vă oferă o idee despre cum să creați site-uri web. Și chiar vă oferă posibilitatea de a dezvolta în mod independent resurse de internet. Cu toate acestea, utilizarea acestui limbaj de marcare este limitată din cauza naturii statice a paginilor create cu ajutorul acestuia. În special, este folosit în majoritatea cazurilor pentru dezvoltarea site-urilor web pentru cărți de vizită. Chestia este că, dacă trebuie să faceți modificări, trebuie să editați fiecare pagină separat, iar dacă resursa are câteva zeci sau sute de ele, un astfel de proces nu numai că va fi plictisitor, ci și întârziat în timp.

Pentru a optimiza administrarea site-ului, puteți utiliza PHP (un acronim pentru PHP: Hypertext Preprocessor), un limbaj de programare de scripting care vă permite să creați pagini web populate dinamic. Utilizarea sa face posibilă ca resursa să fie cu adevărat interactivă, iar procesul de gestionare a site-ului să fie simplu și mai puțin costisitor din punct de vedere al efortului. Cursul PHP online pentru începători de la WebShake vă ajută să stăpâniți elementele de bază ale unui limbaj de scripting de la zero, să învățați cum să creați resurse dinamice care sunt ușor de modificat și întreținut.

Materialele noastre text și tutorialele video sunt concepute pentru a fi ușor de înțeles pentru fiecare utilizator care dorește să învețe programarea web. Iar temele pentru acasă situate la sfârșitul fiecărui subiect vă vor permite să consolidați cunoștințele dobândite și să perfecționați aplicarea lor în practică.