[Powered by Google Translate] [PHP sintakse] [Tommy MacWilliam] [Harvard University] [Tas ir CS50.] [CS50.TV] Šajā video, mēs ieviest PHP - viena no valodām, mēs būsim lietot CS50 kā mēs pāreju uz interneta attīstību. PHP nozīmē PHP hiperteksta procesoru, vai PHP hiperteksta Procesors hiperteksta procesoru, un es ņemšu apstāties tur. PHP ir rekursīvs akronīms, kas, manuprāt, ir ļoti laba. Tātad, pieņemsim rakstīt "hello world", PHP, kas būs nedaudz savādāka, nekā "Hello World", kas C, ka mēs esam ieradušies uzzināt un mīlestību. Tā vietā, lai izveidotu failu ar nosaukumu hello.c, mēs izveidot hello.php. Visi mūsu PHP koda tiks iekļauti starp . Ja mums ir kāds PHP kodu, kas atrodas ārpus šīm norobežojošā, tā neizpildīs. Mēs varam būt, jo daudzi no šiem PHP blokiem kā mēs vēlamies iekšpusē vienu PHP failu. PHP tur nav galvenā funkcija nepieciešams. Tā vietā, mūsu PHP kods tiks palaist, lai tas parādās mūsu PHP failu. Gan C, un PHP ir "printf" funkciju outputting datus. Bet PHP, mums nevajag # jāiekļauj visi header failus, piemēram, standardIO.h. Tas ir tāpēc, PHP, mums nebūs apkopotu mūsu kodu. Kad mēs wrote C kodu mūsu darbplūsmu tendence būt atverot viens vai vairāki. c vai. h failus, mainot tos, kas apkopo tos, un darbojas iegūto bināro. Pārbaudiet sastādītāji video, lai iegūtu vairāk informācijas par šo procesu. Atšķirībā no C, PHP ir interpretējams - nevis apkopota - valoda. Tas nozīmē, ka PHP kodu mēs rakstām tiks palaist caur speciālu programmu, ko sauc tulks, kas, savukārt, izpildīt mūsu kodu. Palaist savu PHP kodu, mēs nosūtīsim to pa to PHP tulks, kas tiks galā ar tā izpildi, nevis apkopojot to mašīnu kodu. Paskatīsimies tulku darbībā. Mēs atvērt termināla un palaist PHP komandu seko ceļu uz PHP failu, mēs gribētu, lai palaistu. Mēs teiksim, "php hello.php". Un tur mēs ejam. Tur ir mūsu PHP programmas izejas. Mums nav nepieciešams, lai apkopotu mūsu PHP failu vispār. Tā vietā, mums bija cita programma - PHP tulks - izpildīt sourcecode, ka mēs rakstījām. PHP var darīt daudz vairāk nekā vienkārši printf. Let 's uzrakstīt dažas sarežģītākas PHP programmas. Sintakse konstrukcijas - piemēram, ja cits, savukārt, lai, un slēdzis - ir tas pats, kas PHP un C. Tāpat kā C, katrs no šiem konstrukcijas izmanto bikšturi, lai norobežotu savu ķermeni, un tāpat kā C, katra līnija mēs rakstām jābeidzas ar semikolu; Tomēr, mainīgie tiek apstrādāti mazliet savādāk PHP. Pirmkārt, visi PHP mainīgie ir jāsāk ar dolāra zīmi. Šķiet mazliet dīvaini sākumā, bet jūs pierastu pie tā. Otrkārt, PHP ir brīvi-drukāti valoda kas nozīmē, jums nav nepieciešams, lai skaidri uzskaitīt veids ir mainīgs, kad jūs to izveidotu. Ja C jūs nepieciešams teikt, int x = 5; vai char y = ''; PHP, mēs varam vienkārši teikt, $ x = 5; un $ y = '';. Tas pats attiecas uz funkcijām. Nevis sakot int f () {ķermenis mūsu funkcija} PHP mēs gatavojamies teikt funkciju f () {ķermenis mūsu funkcijas}. Mums nevajag, lai skaidri norādītu atgriešanās veidu mūsu funkcijas f. Funkcijas PHP arī nav jāatgriežas tāda paša veida katru reizi, kad tie tiek izpildīti. Piemēram, mēs varētu uzrakstīt funkciju, kas atgriež false par kļūdu un cita veida, ja tas izdodas. Tas var arī palīdzēt mums rakstīt vairāk vispārīgas funkcijas. Piemēram, mēs varētu uzrakstīt vienu add funkciju kas var atgriezt skaitli, ja 2 veseli skaitļi ir doti vai peldēt, ja 2 pludiņiem ir dota. C, mēs gribētu nepieciešams rakstīt 2 atsevišķas funkcijas, lai to paveiktu. Kamēr C mēs izmantojam norādes par paaugstinājumu un stīgas, mēs nevarēsim izmantot norādes PHP. Tā vietā, gan bloki un stīgas ir iebūvēts veidiem PHP. Viņi būvētas labi valodā. Lai izveidotu masīva PHP, mēs varam teikt, $ = Array (1, 2, 3); vai vairāk vienkārši $ = [1, 2, 3];. Mēs varam indekss šajā masīvā, izmantojot to pašu sintaksi, ka mēs esam pieraduši no C. Iegūt pirmo elementu mēs teiksim, $ [0]. PHP arī ir iebūvēts atbalsts asociatīvo masīvu. Asociatīvās masīvi ir tāpat kā hash tabulas datu struktūru mēs jau esam redzējuši - tie karte taustiņu līdz vērtībai. Pieņemsim to apskatīt, piemēram. Mēs varam teikt, $ darbinieki = ["instruktora" => "Dāvids", "TF" => "Tommy"];. Lūk, man ir asociatīvo masīvu ar 2 atslēgām - instruktors un tf. Dubultās bultiņas vai vienāds-lielāks nekā, tiek izmantota, lai atdalītu ar atslēgu un tās attiecīgo vērtību. Tātad, par $ darbinieku ["TF"] vērtība ir virkne "Tommy". Vērtības asociatīvā masīva - daudz, tāpat kā jebkurš cits masīvs - var būt jebkura veida. Piemēram, mēs varētu teikt, $ staff = ["instruktors" => "Dāvids", "TFS" => ["Tommy", "Rob"]];. Tagad par "TFS" vērtība ir masīvs. Tas nozīmē, ka iekšā vienu asociatīvā masīva vērtības var būt dažāda veida. PHP masīvi arī nav noteikta garuma, lai mēs varam pievienot vai noņemt elementus no masīva. Teiksim, mums ir vienkāršs masīvs, piemēram, $ = [1, 2, 3];. Lai pievienotu jaunu elementu šajā masīvā, mēs varam teikt, $ [] = 4;. Tagad mūsu masīvs sastāv no četriem elementiem - [1, 2, 3, 4]. Atgādināt, ka, ja mēs vēlējāmies darīt kaut kas līdzīgs šim C, mēs ir jāpiešķir pilnīgi jaunu masīvs, kopēt saturu mūsu pirmā masīva uz to, un pēc tam noteikt pēdējo elementu jaunā masīva uz mūsu jauno vērtību. Tas ir daudz vieglāk PHP. Ja mūsu masīvs ir asociatīvā masīva, mēs varam vienkārši definēt jaunu atslēgu, lai izveidotu elementu ja tas vēl neeksistē. Ja mums ir mūsu iepriekšējo masīvs - $ darbinieki - mēs varam teikt, $ personāls ["kopējais"] = 3;. Tagad mums ir jauna atslēga ar vērtību 3. Lai iegūtu elementu skaitu masīvā, mēs varam izmantot "Count" funkciju. Ja mēs sakām, skaits ($), kas būs vērtība ir 4. PHP, mēs varam veidot virknes, izmantojot dubultās vai viena citātus, lai abi šie mainīgie ir virknes. $ S1 = "string"; $ s2 = 'cita string ";. Kāda ir atšķirība starp šiem diviem atšķirība? Nu, tas ir diezgan kopējā vēlaties iekļaut vērtība mainīgā iekšpusē virkni. Viens veids, kā to izdarīt, būtu izmantot PHP dot operatoram, kas concatenates stīgas. Mēs varētu darīt kaut kas līdzīgs šim - $ N = 5, $ i = 'n ir "$ n;.. Šeit mūsu n mainīgais ir vesels skaitlis. Bet, kad mēs saķēdēt to ar auklu, PHP automātiski konvertēt to uz virkni par mums. Vai arī mēs varam vienkārši izmantot dubultās pēdiņas likt mainīgo vērā virkni pati. Mēs varam teikt, $ s = "n ir $ n";. Tagad no s $ vērtība būs "n ir 5 '. Ja mēs izmantojam vienu pēdiņām, nevis, kā tas s $ = 'n ir $ n'; s vērtība būs "n ir $ n ';. N vērtība netiks aizvietota, ja mēs izmantojam vienu pēdiņām, bet tas būs, ja mēs izmantojam dubultās pēdiņas. Ja mēs vēlamies izmantot dubultās pēdiņas iekļaut vērtību masīva virkni, mums būs nepieciešams iekļaut cirtaini lencēm ap masīvu, piemēram, šo - $ S = "{$ personāls ['total']}";. Let 's tagad to apskatīt nelielu fragmentu C, un pārvērst to PHP. Lūk, mēs esam izveidot funkciju, kas izdrukā burtus virkni, viena rakstzīme katrā rindiņā. Darīsim to pašu PHP. Pirmkārt, mums būs nepieciešams mūsu PHP atdalītājus. Kad mēs veidojam mūsu funkcija, mums nav nepieciešams norādīt savu atgriešanās veidu vai tās argumentu veidu. Mūsu s mainīgs ir arī jāsāk ar dolāra zīmi. PHP strlen funkcija dod mums garumu virknes, tāpat kā C ir strlen dod mums garumu virknes. Saskaņā ar kapuci, lai gan, šīs funkcijas ir patiešām nedaudz savādāka tā kā virkne ir iebūvēts tipa PHP. Mūsu "par" cilpa sintakse ir tas pats. PHP, mēs varam arī izmantot masīvu apzīmējumu, lai piekļūtu rakstzīmes virknē. Mēs tagad var izmantot drukāšanas funkciju, lai izdrukātu katru burtu virknes. Ar PHP drukāšanas funkciju, mums nav jāuztraucas par vietturi - kā% d vai% c - ja mēs gribam izdrukāt mainīgais, kas nav virkne. Tā vietā, mēs varam vienkārši iet mainīgo jebkura tipa drukas funkciju, , un tā tiks konvertēta uz virkni un parādīt. Un tas arī viss! Let 's tagad palaist savu failu ar' php print.php ". Un tur ir izeja mēs redzējām no mūsu C programmas. PHP arī atbalsta konstrukciju sauc par "foreach" cilpa. Par "foreach" cilpa ir tāpat kā "par" cilpas, bet tā piebilst mazliet sintaktisko cukura, lai padarītu lietas vieglāk lasāmu. Lūk, mēs esam radot jaunu masīvu sauc par "$ masīvs". Tagad mēs varam teikt, foreach ($ masīvs kā $ numuru), un mēs varam izdrukāt $ numuru. Kad mēs palaist šo failu - php foreach.php--mēs varam redzēt katru numuru savā rindā. Kad mēs rakstījām C kodu, tas bija bieži noder, lai organizētu savu kodu atsevišķos failos. PHP, mēs varam darīt to pašu. Pieņemsim, ka mums ir dažas funkcijas failu ar nosaukumu math.php. Ja es vēlos izmantot šo funkciju citā PHP failu, piemēram, calculator.php, Es varu izmantot PHP require_once () funkciju. Require_once ir tāpat kā # ir. Lietojot ceļu uz failu, tas būs būtiski kopēt un ielīmēt saturu Šīs lietas par pašreizējo failu. Require_once nodrošina, ka katrs fails ir iekļauts pašreizējā failā tikai vienu reizi, kas var būt noderīgi, ja jums ir liels krājums PHP failu nepieciešama otra. Pieņemsim to apskatīt, piemēram. Šeit mums ir kolekcija funkcijas, kas man patīk, lai izmantotu citā failā. Pieņemsim to apskatīt, kā mēs varam izmantot tos. Par 3 līnijas, mēs esam nepieciešama math.php. Par "__DIR__" ir īpaša pastāvīga pārstāv pašreizējā direktorijā kopš math.php un calculator.php atrodas vienā un tajā pašā direktorijā. Pēc tam, kad mēs pieprasām math.php, mēs varam izmantot funkcijas  kā tad, ja mēs esam noteikti tos calculator.php. Let 's palaist to ar "php calculator.php". Lieliski! Tas ir tas, lai mūsu ievads PHP sintaksi. Lai uzzinātu vairāk, izbraukšana PHP.net. PHP ir daudz iebūvētu funkciju, un par laimi tā dokumentācija ir tiešām liels. Mans vārds ir Tommy, un tas ir CS50. [CS50.TV] ... Kronšteins, es esmu ārā no istabas. Damn it! Tas ir pēdējais video, kur es varu izmantot lielas vārdus kodu.