1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Dezvoltare Web] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Acest lucru este CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> În acest film, vom afla despre utilizarea PHP pentru dezvoltare web. 5 00:00:11,000 --> 00:00:14,000 PHP este un limbaj de programare, care poate fi utilizat pentru a implementa 6 00:00:14,000 --> 00:00:17,000 site-uri pe un server web. 7 00:00:17,000 --> 00:00:21,000 Un server web este în esență o mașină dedicat pentru a furniza conținut 8 00:00:21,000 --> 00:00:24,000 care pot fi accesate prin intermediul internetului. 9 00:00:24,000 --> 00:00:30,000 Când navigați la o pagină web cum ar fi Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 codul în fișier numit home.php care trăiește pe un server web Facebook undeva 11 00:00:35,000 --> 00:00:38,000 vor fi executate pe acel server. 12 00:00:38,000 --> 00:00:41,000 Acest cod va genera probabil o anumită ieșire 13 00:00:41,000 --> 00:00:43,000 care la rândul lor vor fi transmise de la serverul 14 00:00:43,000 --> 00:00:45,000 pentru browser-ul web. 15 00:00:45,000 --> 00:00:49,000 Vom folosi aparatul CS50 ca un server web. 16 00:00:49,000 --> 00:00:51,000 Mașina dvs., probabil, nu va fi aproape la fel de puternic ca și mașinile 17 00:00:51,000 --> 00:00:57,000 într-un centru de date pe Facebook, dar vei avea nici o problemă folosind-o pentru dezvoltare web. 18 00:00:57,000 --> 00:01:05,000 >> Când ne-am naviga la o adresă URL ca http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 am configura aparatul printr-o aplicație numită serverul Apache HTTP 20 00:01:10,000 --> 00:01:19,000 pentru a căuta un fișier numit hello.php in interiorul casei / jharvard / vhosts / localhosts / html implicit. 21 00:01:19,000 --> 00:01:23,000 În cazul în care există acel fișier atunci Apache va folosi interpret PHP 22 00:01:23,000 --> 00:01:27,000 pentru a executa cod PHP în hello.php. 23 00:01:27,000 --> 00:01:31,000 În cazul în care fișierul nu există atunci Apache va arunca o eroare nu a fost găsit 24 00:01:31,000 --> 00:01:36,000 sau o eroare 404, pe care le-ați văzut, probabil, în timp ce navigați pe Web. 25 00:01:36,000 --> 00:01:40,000 >> Să aruncăm o privire la hello.php. 26 00:01:40,000 --> 00:01:45,000 Putem vedea aici că hello.php generează o linie de semnal de ieșire. 27 00:01:45,000 --> 00:01:51,000 Când am fugit hello.php la linia de comandă, prin intermediul php hello.php 28 00:01:51,000 --> 00:01:54,000 că producția a fost tipărit la terminal. 29 00:01:54,000 --> 00:01:58,000 Acum, când am acces la acest dosar prin intermediul unui URL în browser-ul web 30 00:01:58,000 --> 00:02:01,000 producția sa va fi trimis la browser-ul web, 31 00:02:01,000 --> 00:02:09,000 astfel încât poziția de URL-ul, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 putem vedea de ieșire în browser-ul nostru de web. 33 00:02:12,000 --> 00:02:17,000 >> Să încercați să adăugați un alt printf la programul nostru hello world. 34 00:02:17,000 --> 00:02:23,000 Bine, să mergem înapoi la browser-ul web și să vedem ce avem. 35 00:02:23,000 --> 00:02:25,000 Interesant. 36 00:02:25,000 --> 00:02:28,000 Mai degrabă decât de imprimare o altă linie pe o linie proprie, ca și cum ați fi văzut 37 00:02:28,000 --> 00:02:32,000 în terminal, se pare ca acesta a fost smushed pe aceeași linie 38 00:02:32,000 --> 00:02:36,000 ca și celelalte printf, așa că poate noi linii nu funcționează în PHP. 39 00:02:36,000 --> 00:02:38,000 Nu chiar. 40 00:02:38,000 --> 00:02:41,000 Amintiți-vă că HTML este de obicei folosit pentru a crea pagini web 41 00:02:41,000 --> 00:02:44,000 care pot fi afișate de către browsere web. 42 00:02:44,000 --> 00:02:49,000 Nu numai ca este șirul de salut de la php HTML nu este valabil, 43 00:02:49,000 --> 00:02:53,000 dar amintesc că nu putem folosi caracterul \ n, în HTML 44 00:02:53,000 --> 00:02:55,000 pentru a crea o linie de pauză. 45 00:02:55,000 --> 00:03:01,000 În loc de pur și simplu scoate un let șir de ieșire HTML valid. 46 00:03:01,000 --> 00:03:04,000 Prin utilizarea punctul tag-uri, fiecare dintre apelurile noastre printf 47 00:03:04,000 --> 00:03:07,000 va fi afișat pe propria sa linie, 48 00:03:07,000 --> 00:03:11,000 Deci, acum, când vom vizita URL-ul indică spre valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 vom vedea de ieșire pe care o căutați. 51 00:03:19,000 --> 00:03:22,000 >> Acum, dacă privim sursa acestei pagini 52 00:03:22,000 --> 00:03:25,000 putem vedea că suntem acum în căutarea la HTML valid, 53 00:03:25,000 --> 00:03:28,000 pe care am creat de la PHP. 54 00:03:28,000 --> 00:03:31,000 Punerea toate din HTML noastre în interiorul apeluri printf 55 00:03:31,000 --> 00:03:34,000 este, desigur, mergi la a lua foarte enervant. 56 00:03:34,000 --> 00:03:38,000 Din fericire, putem amesteca cu ușurință HTML și PHP 57 00:03:38,000 --> 00:03:41,000 în același fișier php.. 58 00:03:41,000 --> 00:03:47,000 Amintiți-vă, toate din codul nostru PHP trebuie să fie închise în 00:03:49,000 și?>. 60 00:03:49,000 --> 00:03:52,000 Orice lucru care nu este inclus în aceste delimitatori 61 00:03:52,000 --> 00:03:55,000 va fi pur și simplu trimis ca ieșire la browser-ul 62 00:03:55,000 --> 00:03:57,000 mai degrabă decât să fie executat. 63 00:03:57,000 --> 00:04:01,000 Asta înseamnă că putem face ceva de genul asta. 64 00:04:01,000 --> 00:04:05,000 Putem scrie pur și simplu HTML în interiorul fișier php noastre. 65 00:04:05,000 --> 00:04:11,000 și apoi introduceți blocuri PHP ori de câte ori ne-am dori un cod PHP pentru a fi executat. 66 00:04:11,000 --> 00:04:15,000 Aici definim câteva variabile în partea de sus a fișierului, 67 00:04:15,000 --> 00:04:19,000 și mai târziu le imprima interiorul HTML noastre. 68 00:04:19,000 --> 00:04:27,000 Acum, dacă vom vizita acest URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 putem vedea PHP noastră evaluat în interiorul HTML noastre. 70 00:04:33,000 --> 00:04:36,000 >> Acum, haideți să aruncăm o privire la modul în care putem trece de date 71 00:04:36,000 --> 00:04:39,000 între diversele noastre pagini PHP. 72 00:04:39,000 --> 00:04:51,000 Mai degrabă decât a spune 73 00:04:51,000 --> 00:04:58,000 putem spune pur și simplu 00:05:01,000 și?>. 75 00:05:01,000 --> 00:05:03,000 Să aruncăm acum o privire la modul în care putem trece de date 76 00:05:03,000 --> 00:05:06,000 între diversele noastre pagini PHP. 77 00:05:06,000 --> 00:05:11,000 O modalitate de a face asta este de a codifica informații în adresa URL a unei pagini. 78 00:05:11,000 --> 00:05:14,000 Atunci când navigarea pe Web, este posibil să fi observat că unele URL-uri 79 00:05:14,000 --> 00:05:20,000 conțin o? urmată de un șir care conține ampersand și semne egale. 80 00:05:20,000 --> 00:05:23,000 Această parte a URL-ul este cunoscut ca șir de interogare, 81 00:05:23,000 --> 00:05:29,000 și acest lucru vă permite să treacă în mod eficient argumente pentru script PHP. 82 00:05:29,000 --> 00:05:34,000 Șir de interogare este format din perechi de chei de valoare, la fel ca un tabel hash. 83 00:05:34,000 --> 00:05:38,000 Un semn egal separă o cheie și valoarea corespunzătoare 84 00:05:38,000 --> 00:05:41,000 în timp ce ampersand separa de perechi. 85 00:05:41,000 --> 00:06:05,000 O adresă URL care arata ca http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 are 2 perechi de valori-cheie din șirul de interogare. 87 00:06:09,000 --> 00:06:12,000 Foo cheie hărți pentru bara de valoare, 88 00:06:12,000 --> 00:06:16,000 și Baz cheie hărți la QUX valoare. 89 00:06:16,000 --> 00:06:23,000 Putem accesa cu ușurință aceste perechi de valori-cheie, folosind o variabilă special în PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Este un tablou asociativ 92 00:06:32,000 --> 00:06:36,000 care este populat automat cu date șir de interogare. 93 00:06:36,000 --> 00:06:46,000 Asta înseamnă că, având acest URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 va fi egală cu bara șir. 95 00:06:49,000 --> 00:06:56,000 >> Să aruncăm o privire la get.php pentru a vedea $ _GET în acțiune. 96 00:06:56,000 --> 00:07:00,000 Aici folosim o functie numita var_dump, 97 00:07:00,000 --> 00:07:03,000 care atunci când se administrează o matrice sau alte variabile 98 00:07:03,000 --> 00:07:05,000 se va imprima pentru noi. 99 00:07:05,000 --> 00:07:12,000 Acum, în cazul în care pur și simplu ne-am acces http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 atunci vom vedea o serie gol pentru că nu au furnizat un șir de interogare. 101 00:07:17,000 --> 00:07:29,000 Dacă facem oferi un șir de interogare prin http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 atunci putem vedea că $ _GET variabila va conține 103 00:07:34,000 --> 00:07:37,000 perechi de valori-cheie șir de interogare a lui. 104 00:07:37,000 --> 00:07:42,000 Dar ce se întâmplă dacă nu vrem să pună datele noastre în interiorul URL-ul unei pagini? 105 00:07:42,000 --> 00:07:46,000 Pentru cantități mari de date, acest lucru poate duce la unele URL-uri destul de urâte 106 00:07:46,000 --> 00:07:49,000 care sunt de gând să facă strălucitoare site-ul arata lame nostru. 107 00:07:49,000 --> 00:07:52,000 Putem pune în locul șir de interogare în corp 108 00:07:52,000 --> 00:07:57,000 a cererilor HTTP, mai degrabă decât URL cererea lui. 109 00:07:57,000 --> 00:08:02,000 Apoi, putem folosi PHP $ _POST variabile 110 00:08:02,000 --> 00:08:05,000 pentru a accesa perechile cheie-valoare. 111 00:08:05,000 --> 00:08:10,000 O modalitate de a face acest lucru este prin intermediul unui formular HTML. 112 00:08:10,000 --> 00:08:13,000 Aici avem un formular HTML simplu. 113 00:08:13,000 --> 00:08:17,000 Observați aici că atributul metoda a acestui formular este post. 114 00:08:17,000 --> 00:08:21,000 Acest lucru spune browser-ului de a pune perechi de valori-cheie ale formularului 115 00:08:21,000 --> 00:08:25,000 în corpul cererii, nu adresa URL. 116 00:08:25,000 --> 00:08:28,000 >> Dacă ar fi să utilizați valoarea primi pentru acest atribut 117 00:08:28,000 --> 00:08:32,000 apoi perechi de valori-cheie din formular va merge în locul în șir de interogare, 118 00:08:32,000 --> 00:08:36,000 așa că am putea să le acceseze prin $ _GET din nou. 119 00:08:36,000 --> 00:08:42,000 Atributul acțiune a formularului spune browser-ului în cazul în care pentru a trimite datele. 120 00:08:42,000 --> 00:08:46,000 Aici 2 elemente noastre de intrare au atribute de nume. 121 00:08:46,000 --> 00:08:51,000 Valoarea de atributele nume va servi ca cheile în datele noastre, 122 00:08:51,000 --> 00:08:56,000 iar valorile intrărilor text vor deveni valori ale acestor chei. 123 00:08:56,000 --> 00:08:59,000 Acum, haideți să aruncăm o privire la post.php, 124 00:08:59,000 --> 00:09:03,000 fișierul pe care acest formular este depunerea la. 125 00:09:03,000 --> 00:09:10,000 La fel cum am făcut înainte, suntem pur și simplu afișarea conținutului $ _POST variabila. 126 00:09:10,000 --> 00:09:18,000 >> Să navigați la forma cu http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Acum, când ne trimiteți formularul, putem vedea că datele din form.php 128 00:09:23,000 --> 00:09:30,000 este trecut la post.php fără adăugarea unui șir de interogare la URL-ul. 129 00:09:30,000 --> 00:09:35,000 Acum, ne-am văzut de 2 moduri diferite de a trece de date între pagini PHP, 130 00:09:35,000 --> 00:09:37,000 obține și post. 131 00:09:37,000 --> 00:09:41,000 În exemplele noastre, am folosit 2 tipuri diferite de cereri HTTP. 132 00:09:41,000 --> 00:09:45,000 După cum s-ar putea aștepta, o cerere GET a fost folosit atunci când ne-am populat 133 00:09:45,000 --> 00:09:51,000 $ _GET Din URL-ul, și o cerere de post a fost utilizat 134 00:09:51,000 --> 00:09:55,000 când ne-am populat $ _POST. 135 00:09:55,000 --> 00:09:59,000 În proiectarea de aplicații web este o regulă bună de degetul mare de a utiliza cereri get 136 00:09:59,000 --> 00:10:03,000 atunci când aplicația va citi doar date, și cererile de post- 137 00:10:03,000 --> 00:10:05,000 atunci când aplicația va scrie date. 138 00:10:05,000 --> 00:10:09,000 De exemplu, o interogare de căutare va citi datele din aplicația, 139 00:10:09,000 --> 00:10:12,000 astfel încât o cerere GET are sens. 140 00:10:12,000 --> 00:10:17,000 Pe de altă parte, aplicația va scrie date prin ceva de genul un formular de inregistrare, 141 00:10:17,000 --> 00:10:22,000 astfel încât o cerere de mesaj ar face mai mult sens, și că este o trecere în revistă a unora dintre tehnicile 142 00:10:22,000 --> 00:10:26,000 vom folosi în CS50 pentru a crea site-uri web folosind PHP. 143 00:10:26,000 --> 00:10:30,000 >> Numele meu este Tommy, iar acest lucru este CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]