[Powered by Google Translate] [PHP süntaks] [Tommy MacWilliam] [Harvard University] [See on CS50.] [CS50.TV] Selles videos, me tutvustada PHP - ühes keeltest, saadame kasutades CS50 kui me minna veebi arengut. PHP tähistab PHP Hypertext Protsessor, või PHP Hypertext Protsessor Hypertext Protsessor, ja ma peatuda. PHP on rekursiivne lühend, mis minu arvates on tõesti fantastiline. Niisiis, oletame, kirjutage "tere" PHP, mis on veidi teistsugune kui "tere" C, et oleme jõudnud teavad ja armastavad. Selle asemel, et luua fail nimega hello.c, loome hello.php. Kõik meie PHP kood sisalduva vahel . Kui meil on PHP kood, mis paikneb väljaspool neid piirajaid, siis ei käivitunud. Me ei ole nii palju neid PHP plokkide kui me tahame sees ühe PHP faili. PHP ei ole vaja võtta põhifunktsiooni. Selle asemel, meie PHP kood käivitatakse järjekorras tundub meie PHP faili. Nii C ja PHP on "printf" funktsiooni kirjutamine andmed. Kuid PHP, me ei pea # sisalda header faile nagu standardIO.h. Ongi, sest PHP me ei saa koostada meie kood. Kui me kirjutas C kood meie töökorraldust kaldunud olema avamine üks või rohkem. c või. h failid, et neid muuta, koostada nende ja töötab tulemusena binaarne. Tutvu Koostajad video lisateavet selle protsessi. Erinevalt C, PHP on tõlgendanud - mitte koostada - keel. See tähendab, et PHP kood me kirjutame hakkab läbi spetsiaalse programmi nimega tõlk, mis omakorda täidab meie kood. Et käivitada oma PHP-koodi, saadame ta mööda PHP tõlk, mis tegeleb selle täitmist, mitte kompileerimisel et masin koodi. Vaatame, tõlk huviorbiidis. Me avada terminal ja käivitada PHP käsk järgneb tee PHP fail tahaksime juhtida. Me ütleme: "php hello.php". Ja seal me läheme. Seal toodang meie PHP programm. Me ei pea koostama oma PHP faili üldse. Selle asemel oli meil teine ​​programm - PHP tõlk - täita lähtekoodi, et me kirjutas. PHP võib teha palju rohkem kui lihtsalt printf. Olgem kirjutada mõned keerulisemad PHP programme. Süntaks konstruktsioonidest - näiteks siis, kui teine, kuigi jaoks ning lüliti - on sama PHP ja C. Just nagu C, kusjuures selliseid konstruktsioone kasutab traksid piiritleda oma keha, ja just nagu C, iga rida me kirjutame peab lõppema semikooloniga; aga muutujaid käsitleda veidi erinevalt PHP. Esiteks, kõik muutujad PHP peab algama dollari märk. Tundub natuke imelik alguses, kuid sa harjud sellega. Teiseks PHP on lõdvalt-tipitud keel mis tähendab, et sa ei pea selgesõnaliselt loetleda tüüpi muutuja, kui sa luua. Kui C sa pead ütlema int x = 5; või char y = ""; PHP saame lihtsalt öelda, $ x = 5; ja $ y = "". Sama kehtib ka funktsioone. Selle asemel, et öelda, int f () {keha meie funktsioon} PHP me öelda funktsioon f () {keha meie funktsioon}. Meil ei ole vaja selgesõnaliselt tüübi tagastamise meie funktsioon f. Funktsioonid PHP ka ei pea tagastama sama liiki iga kord, kui nad hukatakse. Näiteks võiksime kirjutada funktsioon, mis tagastab false on viga ja teine ​​tüüp, kui see õnnestub. See aitab meil kirjutada üldisem funktsioone. Näiteks me võiks kirjutada ühe add funktsioon et saab tagasi täisarv kui 2 täisarvud on antud või float kui 2 ujukite esitatud. In C, olime vaja kirjutada 2 eraldi ülesandeid teha. Kuigi C kasutame me suunanäitajaks raise ja stringid, me ei saa kasutada viiteid PHP. Selle asemel, mõlemad massiivid ja stringid on sisse ehitatud PHP. Nad on ehitatud õigus keelde. Et luua massiivi PHP saame öelda, $ A = array (1, 2, 3); või lihtsalt $ a = [1, 2, 3];. Me ei indeks seda massiivi sama süntaks, et me oleme harjunud alates C. Et saada esimene element ütleme, $ [0]. PHP on ka sisseehitatud toetus assotsiatiivne massiivid. Assotsiatiivne massiivid on nagu hash tabel andmestruktuur me oleme juba näinud - nad map võti väärtus. Võtame pilk näiteks. Me ei saa öelda, $ personal = ["õpetaja" => "David", "TF" => "Tommy"]. Mul on siin assotsiatiivne massiiv 2 võtmega - õpetaja ja tf. Topeltnooleks või võrdne-suurem-kui, eraldamiseks kasutatakse võtme ja väärtusega. Niisiis, väärtus $ personal ["TF"] on string "Tommy". Väärtused assotsiatiivne massiiv - palju nagu iga teine ​​massiiv - võib olla mistahes tüüpi. Näiteks võib öelda, $ staff = ["õpetaja" => "David", "TFS" => ["Tommy", "Rob"]]. Nüüd väärtus "TFS" on massiiv. See tähendab, et väärtused sees üks assotsiatiivne massiiv olla erinevad. PHP massiivid ka ei ole fikseeritud pikkusega, nii et me saame lisada või eemaldada elemente massiivi. Oletame, et meil on lihtne massiivi näiteks $ a = [1, 2, 3];. Uue elemendi see massiiv, me ei saa öelda, $ [] = 4;. Nüüd meie massiiv koosneb neljast osast - [1, 2, 3, 4]. Tuletame meelde, et kui me tahame teha midagi sellist C, oleks meil eraldada terve uue massiivi, kopeerida sisu meie esimene massiiv sinna, ja seadke viimane element uue massiivi meie uus väärtus. See on palju lihtsam, PHP. Kui meie massiiv on assotsiatiivne massiiv, saame lihtsalt määrata uus võti luua element kui seda ei ole olemas veel. Kui meil varem array - $ personal - saame öelda $ personal ["kokku"] = 3;. Nüüd on meil uus võti väärtusega 3. Et saada elementide arvu massiiv, saame kasutada "count" funktsiooni. Kui me ütleme, count ($ a);, mis on väärtus 4. PHP, saame luua stringid kahekordse või ülakoma, nii mõlemad muutujad on stringid. $ S1 = "string", $ s2 = "teine ​​string". Mis on erinevus nende kahe vahel? Noh, see on üsna ühised soovite lisada väärtus muutuja sees string. Üks viis seda teha oleks kasutada PHP dot operaator, mis concatenates stringe. Me võiks teha midagi sellist - $ N = 5, $ s = "n". $ N;. Siin meie n muutuja on täisarv. Aga kui me concatenate see string, PHP automaatselt teisendada see string meie jaoks. Või saame kasutada lihtsalt jutumärgid panna muutuja arvesse string ise. Me ei saa öelda, $ s = "n on $ n". Nüüd väärtus $ s on "n on 5". Kui me kasutame ülakoma asemel, kui $ s = 'n $ n "; väärtus s on "n on $ n". N väärtus ei tohi asendada, kui me kasutame ühe hinnapakkumisi, kuid see saab olema, kui me kasutame jutumärgid. Kui me tahame kasutada jutumärkide lisada väärtust massiivi string, me vajame lisada looksulg ümber massiiv, nagu see - $ S = "{$ personal ['kokku']}". Olgem nüüd pilk väikese koodijupi C ja seda tõlkida PHP. Siin me luua funktsioon, mis prindib välja tähed string, üks märk rea kohta. Teeme sama asja PHP. Esiteks, me peame meie PHP piirajaid. Kui me loome funktsiooni, meil ei ole vaja kindlaks määrata selle tagastamise tüüpi või liiki tema argument. Meie s muutuja tuleb alustada ka dollari märk. PHP strlen funktsioon annab meile pikkusega string, nagu C on strlen annab meile pikkusega string. Kapoti all küll, need funktsioonid on tegelikult natuke teistsugune alates string on sisseehitatud kirjuta PHP. Süntaks meie "kohta" loop on sama. PHP, saame kasutada ka hulga märke pääseda tähemärki string. Nüüd on võimalik kasutada printimise funktsiooni välja printida iga kirja string. Mis PHP print funktsiooni, me ei pea muretsema kohahoidjate - nagu% d või% c - kui me tahame välja trükkida muutuja, mis ei ole string. Selle asemel, me lihtsalt edasi muutuja tahes tüüpi väljatrükki, ja see teisendatakse string ja kuvada. Ja ongi kõik! Olgem nüüd joosta meie fail "php print.php". Ja seal on väljund nägime meie C programm. PHP toetab ka ehitada nn "foreach" loop. "Foreach" loop on nagu "poolt" loop, kuid see lisab natuke süntaktiline suhkur teha asju paremini arusaadavaks. Siin me luua uus massiiv nimega "$ massiiv. Nüüd saame öelda, foreach ($ array $ number), ja me saame välja printida $ number. Kui võtame seda faili - php foreach.php--näeme iga number on oma rida. Kui me kirjutas C kood, see oli sageli kasulik korraldada oma koodi eraldi faili. PHP, saame teha sama asja. Oletame, et meil on mõned funktsioonid faili nimega math.php. Kui ma tahan kasutada neid funktsioone teises PHP fail, nagu calculator.php, Oskan kasutada PHP require_once () funktsiooni. Require_once on nagu # include. Kui antud faili asukoht, siis põhiliselt kopeeri ja kleebi sisu selle faili praeguse faili. Require_once tagab, et iga fail on kaasatud aktiivse faili ainult korra, mis võib olla kasulik, kui teil on suur kollektsioon PHP failid vajavad teineteist. Võtame pilk näiteks. Siin on kogumik ülesandeid, et tahaks kasutada teise faili. Võtame vaadata, kuidas me saame neid kasutada. On line 3, oleme nõudes math.php. "__DIR__ On spetsiaalne pidev esindavad kataloogi alates math.php ja calculator.php asuvad samas kataloogis. Pärast nõuame math.php saame kasutada funktsioone  kui me oleme defineerinud neid calculator.php. Lähme sõitma seda "php calculator.php". Suurepärane! Ongi meie sissejuhatuses PHP süntaks. Et rohkem teada, vaadake PHP.net. PHP on palju sisseehitatud funktsioone, ja õnneks selle dokumentatsioon on tõesti suur. Minu nimi on Tommy, ja see on CS50. [CS50.TV] ... Sulg, ma olen välja tuba. Kurat! See on viimane video, kus ma kasutan suuri sõnu kood.