[Powered by Google Translate] [PHP sintaksa] [Tommy MacWilliam] [Sveučilište Harvard] [Ovo je CS50.] [CS50.TV] U ovom videu, mi ćemo uvesti PHP - jednom od jezika koji ćemo koristiti u CS50 kao što smo prijelaz na izradu web stranica. PHP se zalaže za PHP Hypertext procesor, ili PHP Hypertext procesor Hypertext procesor, i ja ću se tu zaustaviti. PHP je rekurzivna kratica, što mislim da je stvarno strašan. Dakle, neka je napisati 'Bok svijete' u PHP-u, koji će biti malo drugačija od 'Hello World' u C koje smo upoznali i ljubav. Umjesto stvaranja datoteke pod nazivom hello.c, izradit ćemo hello.php. Svi naši PHP koda će biti sadržana između . Ako imate bilo kakvih PHP kod koji se nalazi izvan tih Delimiters, neće izvršavati. Možemo imati što mnogi od tih blokova PHP kao što želimo unutar jednog PHP datoteci. U PHP-u nema potrebe za glavnu funkciju. Umjesto toga, naša PHP kod će se izvoditi u cilju da se pojavi u našem PHP datoteci. Oba C i PHP imati 'printf funkciju' izlaza za podatke. Ali u PHP, mi ne trebaju nikakve # uključiti zaglavlje datoteke poput standardIO.h. To je zato što u PHP nećemo biti sastavljanja naš kod. Kad smo pisali C kod našeg rada obično se otvara jednog ili više. ili c. h slika, mijenjajući, skupljajuci ih, i trčanje rezultirajući binarni. Pogledajte spot za sastavljače više informacija o ovom procesu. Za razliku od C, PHP je interpretiran - umjesto sastavio - jezik. To znači da PHP kod pišemo će se izvoditi kroz poseban program pod nazivom tumača, što će obavljati svoj kôd. Za pokretanje našu PHP kod, Poslat ćemo ga zajedno s PHP tumača koji će nositi njegovo izvršenje, umjesto da ga sastavljanja se strojni kod. Idemo vidjeti tumača u akciji. Mi ćemo otvoriti terminal i pokrenuti PHP naredbu nakon čega slijedi put u PHP datoteke bismo željeli pokrenuti. Mi ćemo reći, 'php hello.php'. I tamo idemo. Postoji izlaz našeg PHP programa. Nismo morati sastaviti našu PHP datoteku na sve. Umjesto toga, imali smo još jedan program - PHP tumač - izvršiti izvornog koda kako smo pisali. PHP može učiniti mnogo više nego jednostavno printf. Idemo pisati neke složenije PHP programa. Sintaksa za konstrukata - sviđa li, drugi, dok je, za te prekidač - je isto u PHP i C. Baš kao i C, svaki od tih konstrukata koristi aparatić se obilježiti svoje tijelo, i baš kao u C, svaka linija pišemo mora završiti sa zarezom; Međutim, varijable su obrađene malo drugačije u PHP-u. Prvo, sve varijable u PHP-u se mora početi s znak za dolar. Čini se malo čudno u početku, ali ćete se naviknuti na to. Drugo, PHP je labavo upisali jezik što znači da ne morate izričito navesti Vrsta varijable kada ga stvoriti. Gdje u C bi nam trebao reći int x = 5; ili char y = ""; u PHP-u možemo jednostavno reći $ x = 5; i $ y = "";. Isto vrijedi i za funkcije. Umjesto govoreći int f () {tijelo naše funkcije}, u PHP ćemo reći funkcije f () {tijelo naše funkcije}. Mi ne morate izričito navesti povratnu vrstu naše funkcije f. Funkcija u PHP i ne moraju vratiti istu vrstu svaki put kad su se pogubili. Na primjer, mogli bismo napisati funkciju koja vraća false na pogreške , a drugi tip, ako to uspije. To također može nam pomoći da pisati više generičkih funkcija. Na primjer, mogli bismo napisati jednu funkciju dodati koja može vratiti cijeli broj ako se 2 cijela broja dana ili plovak, ako su 2 lebdi dao. U C, mi bismo je potrebno napisati dvije odvojene funkcije za to. Dok u C koristimo naputke za povišicu i gudače, nećemo biti u mogućnosti koristiti pokazivače u PHP-u. Umjesto toga, oba polja i žice su ugrađene tipove u PHP-u. Oni su ugrađena u jeziku. Da biste stvorili niz u PHP-u možemo reći, $ = Array (1, 2, 3); ili jednostavnije $ = [1, 2, 3];. Možemo indeks u tom polju koristeći istu sintaksu da smo navikli od C. Da biste dobili prvi element mi ćemo reći, $ [0];. PHP također ima ugrađenu podršku za asocijativnih polja. Asocijativne matrice su baš kao i hash tablicu strukture podataka već smo vidjeli - su mapirali tipku na vrijednosti. Uzmimo pogled na primjer. Možemo reći, $ osoblje = ["Instruktor" => "David", "TF" => "Tommy"];. Evo, imam asocijativni niz s dvije tipke - instruktor i TF. Dvosmjernom strelicom, ili jednako-veće od, se koristi za odvajanje ključ i svoju odgovarajuću vrijednost. Dakle, vrijednost $ osoblja ["TF"] je string "Tommy". Vrijednosti asocijativni niz - baš kao i bilo koji drugi niz - može biti bilo koje vrste. Na primjer, mogli bismo reći, $ osoblje = ["Instruktor" => "David", "TFS" => ["Tommy", "Rob"]];. Sada vrijednost "TFS 'je niz. To znači da su vrijednosti unutar jednog asocijativni niz može biti različitih vrsta. PHP polja i nemaju fiksnu duljinu tako da možemo dodati ili ukloniti elemente iz niza. Recimo da imamo jednostavnu lepezu kao $ = [1, 2, 3];. Da biste dodali novi element na tom polju, možemo reći, $ [] = 4;. Sada naša polja sastoji se od četiri elementa - [1, 2, 3, 4]. Sjetite se da ako smo htjeli napraviti nešto ovako u C, morali bismo izdvojiti cijeli novi niz, kopirati sadržaj našeg prvog polja u nju, a zatim postavite zadnji element novog polja u našoj novoj vrijednosti. To je puno lakše u PHP-u. Ako je naša polja asocijativne matrice, možemo jednostavno definirati novi ključ za stvaranje element ako još uvijek ne postoji. Ako imamo niz ranije - $ osoblja - možemo reći $ osoblja ["ukupno"] = 3;. Sada imamo novi ključ sa vrijednosti 3. Da bi se dobio broj elemenata u niz, možemo koristiti 'brojati' funkciju. Ako kažemo, računaju ($);, koji će imati vrijednost od četiri. U PHP-u, možemo stvoriti konce koristeći dvostruke ili jedan citati, tako da obje ove varijable su nizovi. $ S1 = "string"; $ s2 = 'drugi string';. Koja je razlika između ta dva? Pa, to je prilično uobičajeno da želite uključiti vrijednost varijable unutar niza. Jedan od načina da to učinite bi se koristiti PHP-a dot operatora, koji concatenates žice. Mogli smo učiniti nešto poput ovoga - $ N = 5, $ s = 'n' $ n.;. Evo naš n varijabla cijeli. No, kad smo ga spojite s nizom, PHP automatski će ga pretvoriti u nizu za nas. Ili smo jednostavno koristiti dvostruke navodnike staviti varijablu u string. Možemo reći, $ s = "n $ n";. Sada vrijednost $ s biti "n je 5 '. Ako ćemo koristiti jednostruke navodnike umjesto da, kao u $ s = 'n $ n'; vrijednost s biti "n je $ n ';. Vrijednost n neće biti zamijenjen ako ćemo koristiti jednostruke navodnike, ali to će biti ako ćemo koristiti dvostruke navodnike. Ako želimo koristiti dvostruke navodnike uključiti vrijednost polja u nizu, ćemo morati uključiti vitičastim zagradama oko polja, kao što je ovaj - $ S = "{$ staff ['ukupno']}";. Idemo sada pogledati na malom isječku u C i to prevesti na PHP. Evo, mi smo stvaranje funkciju koja ispisuje slova u nizu, jedan znak po liniji. Idemo napraviti istu stvar u PHP. Prvo, mi ćemo morati naše PHP graničnika. Kad smo stvorili našu funkciju, ne trebate odrediti svoj povratak tip ili vrstu svog argumenta. Naša varijabla s također moraju početi s dolarskim znakom. PHP je strlen funkcija nam daje duljinu niza, baš kao i C je strlen nam daje duljinu niza. Ispod poklopca ipak, ove funkcije su zapravo malo drugačija jer niz je izgrađen-in putovanja u PHP-u. Sintaksa naše 'za' petlje je ista. U PHP-u, mi također može koristiti polje zapis za pristup likove nizu. Sada možete koristiti funkciju ispisa za ispis iz svakog slova u nizu. S PHP ispis funkcija, ne morate brinuti o rezerviranim mjestima - kao što je% d% ili c - kada želimo ispisati varijablu koja nije string. Umjesto toga, mi jednostavno može proći varijablu bilo koje vrste na funkciji ispisa, i to će se pretvoriti u niz i prikazuju. I to je to! Idemo sada pokrenuti našu datoteku s 'php print.php'. I tu je izlaz vidjeli smo iz naše C programu. PHP također podržava konstrukt pod nazivom 'foreach petlju'. The 'foreach petlje' je poput 'za' petlje, ali dodaje malo sintaktičkih šećera kako bi što više čitati. Evo, mi smo stvara novi niz pod nazivom '$ array'. Sada možemo reći, foreach ($ $ lepezu kao broj), i možemo ispisati $ broj. Kada smo pokrenuti ovu datoteku - php-foreach.php-vidimo svaki broj na svojoj liniji. Kad smo pisali C koda, to je često korisno organizirati naš kod u zasebne datoteke. U PHP-u, možemo učiniti istu stvar. Recimo da imamo nekoliko funkcija u datoteci pod nazivom math.php. Ako želim koristiti te funkcije u drugoj PHP datoteke, kao što su calculator.php, Ja mogu koristiti PHP-a require_once () funkcija. Require_once je baš kao # uključiti. Kada se daje put do datoteke, to će biti kopirajte i zalijepite sadržaj te datoteke u trenutnoj datoteci. Require_once osigurava da svaki file je uključena u trenutne datoteke samo jednom, što može biti korisno ako imate veliku kolekciju PHP datoteka za koje se međusobno. Uzmimo pogled na primjer. Ovdje imamo kolekciju funkcija koje bih želio koristiti u druge datoteke. Uzmimo pogledati kako možemo ih koristiti. Na liniji 3, mi smo zahtijevaju math.php. '__DIR__' Je posebna stalna predstavlja trenutnu imenik jer su math.php i calculator.php nalazi u istom direktoriju. Nakon što smo zahtijevaju math.php, možemo koristiti funkcije  kao da smo ih definirati u calculator.php. Da vidimo što je ovo s 'php calculator.php'. Sjajno! To je za naš uvod u PHP sintaksu. Da biste saznali više, pogledajte PHP.net. PHP ima puno izgrađen-in funkcija, i srećom njegova dokumentacija je stvarno super. Moje ime je Tommy, a to je CS50. [CS50.TV] Nosač ..., ja sam iz sobe. K vragu! Ovo je posljednja videa gdje sam koristiti velike riječi u kodu.