[Powered by Google Translate] [PHP Dezvoltare Web] [Tommy MacWilliam] [Acest lucru este CS50.] [CS50.TV] În acest film, vom afla despre utilizarea PHP pentru dezvoltare web. PHP este un limbaj de programare, care poate fi utilizat pentru a implementa site-uri pe un server web. Un server web este în esență o mașină dedicat pentru a furniza conținut care pot fi accesate prin intermediul internetului. Când navigați la o pagină web cum ar fi Facebook.com / home.php codul în fișier numit home.php care trăiește pe un server web Facebook undeva vor fi executate pe acel server. Acest cod va genera probabil o anumită ieșire care la rândul lor vor fi transmise de la serverul pentru browser-ul web. Vom folosi aparatul CS50 ca un server web. Mașina dvs., probabil, nu va fi aproape la fel de puternic ca și mașinile într-un centru de date pe Facebook, dar vei avea nici o problemă folosind-o pentru dezvoltare web. Când ne-am naviga la o adresă URL ca http://localhost/hello.php am configura aparatul printr-o aplicație numită serverul Apache HTTP pentru a căuta un fișier numit hello.php in interiorul casei / jharvard / vhosts / localhosts / html implicit. În cazul în care există acel fișier atunci Apache va folosi interpret PHP pentru a executa cod PHP în hello.php. În cazul în care fișierul nu există atunci Apache va arunca o eroare nu a fost găsit sau o eroare 404, pe care le-ați văzut, probabil, în timp ce navigați pe Web. Să aruncăm o privire la hello.php. Putem vedea aici că hello.php generează o linie de semnal de ieșire. Când am fugit hello.php la linia de comandă, prin intermediul php hello.php că producția a fost tipărit la terminal. Acum, când am acces la acest dosar prin intermediul unui URL în browser-ul web producția sa va fi trimis la browser-ul web, astfel încât poziția de URL-ul, http://localhost/hello.php, putem vedea de ieșire în browser-ul nostru de web. Să încercați să adăugați un alt printf la programul nostru hello world. Bine, să mergem înapoi la browser-ul web și să vedem ce avem. Interesant. Mai degrabă decât de imprimare o altă linie pe o linie proprie, ca și cum ați fi văzut în terminal, se pare ca acesta a fost smushed pe aceeași linie ca și celelalte printf, așa că poate noi linii nu funcționează în PHP. Nu chiar. Amintiți-vă că HTML este de obicei folosit pentru a crea pagini web care pot fi afișate de către browsere web. Nu numai ca este șirul de salut de la php HTML nu este valabil, dar amintesc că nu putem folosi caracterul \ n, în HTML pentru a crea o linie de pauză. În loc de pur și simplu scoate un let șir de ieșire HTML valid. Prin utilizarea punctul tag-uri, fiecare dintre apelurile noastre printf va fi afișat pe propria sa linie, Deci, acum, când vom vizita URL-ul indică spre valid.php http://localhost/valid.php vom vedea de ieșire pe care o căutați. Acum, dacă privim sursa acestei pagini putem vedea că suntem acum în căutarea la HTML valid, pe care am creat de la PHP. Punerea toate din HTML noastre în interiorul apeluri printf este, desigur, mergi la a lua foarte enervant. Din fericire, putem amesteca cu ușurință HTML și PHP în același fișier php.. Amintiți-vă, toate din codul nostru PHP trebuie să fie închise în . Orice lucru care nu este inclus în aceste delimitatori va fi pur și simplu trimis ca ieșire la browser-ul mai degrabă decât să fie executat. Asta înseamnă că putem face ceva de genul asta. Putem scrie pur și simplu HTML în interiorul fișier php noastre. și apoi introduceți blocuri PHP ori de câte ori ne-am dori un cod PHP pentru a fi executat. Aici definim câteva variabile în partea de sus a fișierului, și mai târziu le imprima interiorul HTML noastre. Acum, dacă vom vizita acest URL, http://localhost/mixed.php putem vedea PHP noastră evaluat în interiorul HTML noastre. Acum, haideți să aruncăm o privire la modul în care putem trece de date între diversele noastre pagini PHP. Mai degrabă decât a spune putem spune pur și simplu . Să aruncăm acum o privire la modul în care putem trece de date între diversele noastre pagini PHP. O modalitate de a face asta este de a codifica informații în adresa URL a unei pagini. Atunci când navigarea pe Web, este posibil să fi observat că unele URL-uri conțin o? urmată de un șir care conține ampersand și semne egale. Această parte a URL-ul este cunoscut ca șir de interogare, și acest lucru vă permite să treacă în mod eficient argumente pentru script PHP. Șir de interogare este format din perechi de chei de valoare, la fel ca un tabel hash. Un semn egal separă o cheie și valoarea corespunzătoare în timp ce ampersand separa de perechi. O adresă URL care arata ca http://localhost/get.php?foo=bar&baz=qux are 2 perechi de valori-cheie din șirul de interogare. Foo cheie hărți pentru bara de valoare, și Baz cheie hărți la QUX valoare. Putem accesa cu ușurință aceste perechi de valori-cheie, folosind o variabilă special în PHP, $ _GET. $ _GET Este un tablou asociativ care este populat automat cu date șir de interogare. Asta înseamnă că, având acest URL $ _GET ["foo"] va fi egală cu bara șir. Să aruncăm o privire la get.php pentru a vedea $ _GET în acțiune. Aici folosim o functie numita var_dump, care atunci când se administrează o matrice sau alte variabile se va imprima pentru noi. Acum, în cazul în care pur și simplu ne-am acces http://localhost/get.php atunci vom vedea o serie gol pentru că nu au furnizat un șir de interogare. Dacă facem oferi un șir de interogare prin http://localhost/get.php?foo=bar&baz=qux atunci putem vedea că $ _GET variabila va conține perechi de valori-cheie șir de interogare a lui. Dar ce se întâmplă dacă nu vrem să pună datele noastre în interiorul URL-ul unei pagini? Pentru cantități mari de date, acest lucru poate duce la unele URL-uri destul de urâte care sunt de gând să facă strălucitoare site-ul arata lame nostru. Putem pune în locul șir de interogare în corp a cererilor HTTP, mai degrabă decât URL cererea lui. Apoi, putem folosi PHP $ _POST variabile pentru a accesa perechile cheie-valoare. O modalitate de a face acest lucru este prin intermediul unui formular HTML. Aici avem un formular HTML simplu. Observați aici că atributul metoda a acestui formular este post. Acest lucru spune browser-ului de a pune perechi de valori-cheie ale formularului în corpul cererii, nu adresa URL. Dacă ar fi să utilizați valoarea primi pentru acest atribut apoi perechi de valori-cheie din formular va merge în locul în șir de interogare, așa că am putea să le acceseze prin $ _GET din nou. Atributul acțiune a formularului spune browser-ului în cazul în care pentru a trimite datele. Aici 2 elemente noastre de intrare au atribute de nume. Valoarea de atributele nume va servi ca cheile în datele noastre, iar valorile intrărilor text vor deveni valori ale acestor chei. Acum, haideți să aruncăm o privire la post.php, fișierul pe care acest formular este depunerea la. La fel cum am făcut înainte, suntem pur și simplu afișarea conținutului $ _POST variabila. Să navigați la forma cu http://localhost/form.php. Acum, când ne trimiteți formularul, putem vedea că datele din form.php este trecut la post.php fără adăugarea unui șir de interogare la URL-ul. Acum, ne-am văzut de 2 moduri diferite de a trece de date între pagini PHP, obține și post. În exemplele noastre, am folosit 2 tipuri diferite de cereri HTTP. După cum s-ar putea aștepta, o cerere GET a fost folosit atunci când ne-am populat $ _GET Din URL-ul, și o cerere de post a fost utilizat când ne-am populat $ _POST. În proiectarea de aplicații web este o regulă bună de degetul mare de a utiliza cereri get atunci când aplicația va citi doar date, și cererile de post- atunci când aplicația va scrie date. De exemplu, o interogare de căutare va citi datele din aplicația, astfel încât o cerere GET are sens. Pe de altă parte, aplicația va scrie date prin ceva de genul un formular de inregistrare, astfel încât o cerere de mesaj ar face mai mult sens, și că este o trecere în revistă a unora dintre tehnicile vom folosi în CS50 pentru a crea site-uri web folosind PHP. Numele meu este Tommy, iar acest lucru este CS50. [CS50.TV]