1 00:00:00,000 --> 00:00:02,400 [Powered by Google Translate] [PHP sintaksė] 2 00:00:02,400 --> 00:00:04,400 [Tommy MacWilliam] [Harvardo universiteto] 3 00:00:04,400 --> 00:00:07,400 [Tai CS50.] [CS50.TV] 4 00:00:07,400 --> 00:00:10,080 >> Šiame vaizdo, mes jums pristatyti PHP - 5 00:00:10,080 --> 00:00:12,820 viena iš kalbų, mes naudoti ir CS50 6 00:00:12,820 --> 00:00:15,480 kaip mes pereiti prie interneto plėtrai. 7 00:00:15,480 --> 00:00:19,250 PHP reiškia PHP Hypertext procesorius, 8 00:00:19,250 --> 00:00:23,440 ar PHP Hypertext procesorius Hypertext procesorius, 9 00:00:23,440 --> 00:00:24,880 ir aš sustoti. 10 00:00:24,880 --> 00:00:29,280 PHP yra pakartotinė santrumpa, kuri, manau, yra tikrai nuostabus. 11 00:00:29,280 --> 00:00:32,020 >> Taigi, galime rašyti "hello world" PHP, 12 00:00:32,020 --> 00:00:37,240 kuris bus šiek tiek kitoks nei "hello world" In C ", kad mes ateiti pažinti ir mylėti. 13 00:00:37,240 --> 00:00:40,330 Užuot kūrę failą pavadinimu hello.c, 14 00:00:40,330 --> 00:00:42,990 mes sukursime hello.php. 15 00:00:42,990 --> 00:00:52,430 Visi mūsų PHP kodo bus pateikta tarp . 16 00:00:52,430 --> 00:00:56,160 Jei turite kokių nors PHP kodą, esantį 17 00:00:56,160 --> 00:00:59,140 už šių skirtukų, ji nebus atlikti. 18 00:00:59,140 --> 00:01:01,740 Mes galime turėti, nes daugelis iš šių PHP blokų 19 00:01:01,740 --> 00:01:05,090 kaip mes norime, viduje vienos PHP failą. 20 00:01:05,090 --> 00:01:09,000 PHP nėra jokio pagrindinio funkcijos poreikį. 21 00:01:09,000 --> 00:01:15,540 Vietoj to, mūsų PHP kodas bus vykdomas tokia tvarka, atrodo, mūsų PHP failą. 22 00:01:15,540 --> 00:01:20,970 Ir C ir PHP turi "printf" funkcija išvedė duomenis. 23 00:01:20,970 --> 00:01:27,270 Bet PHP, mums nereikia į # include jokių antraščių failus, pavyzdžiui, standardIO.h. 24 00:01:27,270 --> 00:01:31,830 Tai todėl, kad PHP mes negali būti rinkti savo kodą. 25 00:01:31,830 --> 00:01:35,560 Kai rašėme C kodą mūsų eigos linkę būti atverti 26 00:01:35,560 --> 00:01:39,560 vienas ar daugiau. C arba. h failus, juos keisti, rengiančioms juos, 27 00:01:39,560 --> 00:01:41,980 ir veikia gautą dvejetainis. 28 00:01:41,980 --> 00:01:45,800 Patikrinkite Kompiliatoriai vaizdo Daugiau informacijos apie šį procesą. 29 00:01:45,800 --> 00:01:51,480 >> Skirtingai nuo C, PHP yra interpretuojama - o ne surinkti - kalba. 30 00:01:51,480 --> 00:01:54,080 Tai reiškia, kad PHP kodas rašome 31 00:01:54,080 --> 00:01:57,360 bus paleisti per specialią programą, vadinamą vertėjas, 32 00:01:57,360 --> 00:02:00,440 o tai savo ruožtu vykdyti savo kodą. 33 00:02:00,440 --> 00:02:03,020 Norėdami paleisti savo PHP kodą, 34 00:02:03,020 --> 00:02:07,860 mes atsiųsime jį kartu PHP vertėjo, kuris atliks jo vykdymą, 35 00:02:07,860 --> 00:02:11,260 o ne sudarinėja, galėtų mašininį kodą. 36 00:02:11,260 --> 00:02:13,450 Pažiūrėkime, kaip veikia vertėją. 37 00:02:13,450 --> 00:02:17,010 Mes atverti terminalą ir paleisti PHP komandą 38 00:02:17,010 --> 00:02:21,130 po kelio į PHP failą Norėtume paleisti. 39 00:02:21,130 --> 00:02:25,690 Mes pasakyti, "php hello.php". 40 00:02:25,690 --> 00:02:30,200 Ir mes einame. Yra mūsų PHP programa išėjimas. 41 00:02:30,200 --> 00:02:33,460 Mes ne reikia surinkti mūsų PHP failą ne visiems. 42 00:02:33,460 --> 00:02:37,280 Vietoj to, mes turėjome kitą programą - PHP interpretatorius - 43 00:02:37,280 --> 00:02:40,070 vykdyti sourcecode kad mes parašė. 44 00:02:40,070 --> 00:02:43,280 >> PHP gali padaryti daug daugiau nei tiesiog printf. 45 00:02:43,280 --> 00:02:46,490 Leiskite rašyti šiek tiek daugiau sudėtingų PHP programas. 46 00:02:46,490 --> 00:02:52,240 Dėl konstrukcijų sintaksė - kaip, jei kitur, o už, ir jungiklis - 47 00:02:52,240 --> 00:02:55,440 yra tas pats PHP ir C. 48 00:02:55,440 --> 00:03:01,180 Tiesiog kaip ir C, kiekvienas iš šių konstruktų naudoja petnešos atriboti savo kūną, 49 00:03:01,180 --> 00:03:04,420 ir kaip C, kiekviena linija rašome 50 00:03:04,420 --> 00:03:06,830 turi baigtis kabliataškiu; 51 00:03:06,830 --> 00:03:10,700 Tačiau kintamieji yra tvarkomi šiek tiek skirtingai PHP. 52 00:03:10,700 --> 00:03:15,630 Pirma, visi PHP kintamieji turi prasidėti su dolerio ženklu. 53 00:03:15,630 --> 00:03:18,700 Atrodo, šiek tiek keista, per pirmąjį, tačiau jums priprasti prie jo. 54 00:03:18,700 --> 00:03:22,150 Antra, PHP yra laisvai įvedėte kalba 55 00:03:22,150 --> 00:03:24,570 o tai reiškia, jums nereikia būti aiškiai išvardyti 56 00:03:24,570 --> 00:03:27,640 iš kintamojo kurdami jį tipo. 57 00:03:27,640 --> 00:03:33,430 Jeigu C jums reikia pasakyti, int x = 5; 58 00:03:33,430 --> 00:03:38,650 arba char y = ''; 59 00:03:39,250 --> 00:03:44,790 PHP mes galime pasakyti $ x = 5; 60 00:03:44,790 --> 00:03:48,930 ir $ y = '';. 61 00:03:48,930 --> 00:03:52,360 Tas pats pasakytina ir funkcijas. 62 00:03:52,360 --> 00:04:01,290 Užuot sakydamas int f () {savo funkcijas kūnas} 63 00:04:01,290 --> 00:04:12,160 PHP mes ketiname pasakyti funkciją f () {savo funkcijas body}. 64 00:04:12,160 --> 00:04:17,579 Mums nereikia tiksliai nurodyti grąžinimo tipo mūsų funkcija f. 65 00:04:17,579 --> 00:04:22,070 Funkcijos PHP taip pat neturi grįžti tos pačios rūšies 66 00:04:22,070 --> 00:04:23,840 kiekvieną kartą, kai jie sudaromi. 67 00:04:23,840 --> 00:04:27,940 Pavyzdžiui, mes galime parašyti funkciją, kuri grąžina false klaidos 68 00:04:27,940 --> 00:04:29,750 ir kito tipo, jei pavyksta. 69 00:04:29,750 --> 00:04:33,060 >> Tai taip pat gali padėti mums parašyti daugiau bendrųjų funkcijų. 70 00:04:33,060 --> 00:04:35,710 Pavyzdžiui, mes galime parašyti vieną pridėti funkciją 71 00:04:35,710 --> 00:04:39,200 kad gali grįžti sveikasis skaičius, jei 2 sveikieji skaičiai pateikti 72 00:04:39,200 --> 00:04:41,250 arba plūdė jei 2 plūdės yra pateikta. 73 00:04:41,250 --> 00:04:45,530 In C, mes norime reikia parašyti 2 skirtingas funkcijas tai padaryti. 74 00:04:45,530 --> 00:04:49,230 Nors C mes naudojame Nukreipti pakelti ir styginiams, 75 00:04:49,230 --> 00:04:52,170 mes negalėsime naudoti rodykles PHP. 76 00:04:52,170 --> 00:04:58,030 Vietoj to, abi matricos ir juostelės yra built-in tipų PHP. 77 00:04:58,030 --> 00:04:59,660 Jie pastatytas tiesiai į tą kalbą. 78 00:04:59,660 --> 00:05:02,270 Norėdami sukurti PHP masyvas mes galime pasakyti, 79 00:05:02,270 --> 00:05:11,280 $ = Array (1, 2, 3); 80 00:05:11,280 --> 00:05:19,400 ar daugiau tiesiog $ = [1, 2, 3];. 81 00:05:19,400 --> 00:05:24,990 Mes galime puslapis į šio masyvo naudojant tą pačią sintaksę, kad mes įpratę nuo C 82 00:05:24,990 --> 00:05:31,780 Norėdami gauti pirmąjį elementą mes pasakyti, $ [0];. 83 00:05:31,780 --> 00:05:36,290 PHP taip pat turi įmontuotą paramą asociacijų matricos. 84 00:05:36,290 --> 00:05:41,460 Asociatyvūs matricos yra kaip maišos lentelės duomenų struktūros Mes jau matėme - 85 00:05:41,460 --> 00:05:44,060 suplanuotų raktas į vertę. 86 00:05:44,060 --> 00:05:46,070 >> Paimkime bent pavyzdžiui išvaizdą. 87 00:05:46,070 --> 00:06:14,740 Galime sakyti, $ darbuotojus = ["instruktorius" => "David", "TF" => "Tommy"];. 88 00:06:14,740 --> 00:06:21,020 Čia turiu masyvą su 2 raktais - instruktorius ir TF. 89 00:06:21,020 --> 00:06:24,910 Dviguba rodykle, arba lygi-daugiau-nei, 90 00:06:24,910 --> 00:06:29,660 Naudojamas atskirti raktą ir jo atitinkama verte. 91 00:06:29,660 --> 00:06:41,830 Taigi, $ darbuotojai ["TF"] reikšmė yra eilutė "Tommy". 92 00:06:41,830 --> 00:06:44,430 Padidės masyvą vertybės - 93 00:06:44,430 --> 00:06:47,540 panašiai kaip bet kuris kitas masyvo - gali būti bet kokio tipo. 94 00:06:47,540 --> 00:07:23,370 Pavyzdžiui, mes galime pasakyti, $ darbuotojai = ["instruktorius" => "David", "TFS" => ["Tommy", "Rob"]],. 95 00:07:23,370 --> 00:07:27,810 Dabar iš "TFS" reikšmė yra masyvo. 96 00:07:27,810 --> 00:07:33,030 Tai reiškia, kad viduje vienas masyvą reikšmės gali būti įvairių rūšių. 97 00:07:33,030 --> 00:07:36,750 >> PHP matricos taip pat neturi fiksuoto ilgio, 98 00:07:36,750 --> 00:07:40,200 todėl galite pridėti arba pašalinti elementus iš masyvo. 99 00:07:40,200 --> 00:07:49,130 Tarkime, mes turime paprastą masyvą kaip $ = [1, 2, 3];. 100 00:07:49,130 --> 00:07:51,860 Norėdami pridėti naują elementą į šio masyvo, 101 00:07:51,860 --> 00:07:57,160 mes galime pasakyti, $ [] = 4;. 102 00:07:57,160 --> 00:08:03,630 Dabar mūsų masyvas sudarytas iš keturių elementų - [1, 2, 3, 4]. 103 00:08:03,630 --> 00:08:06,980 Prisiminkite, kad jei mes norėjome padaryti kažką panašaus į tai C, 104 00:08:06,980 --> 00:08:09,610 mes norime turėti skirti visiškai naują masyvą, 105 00:08:09,610 --> 00:08:12,400 nukopijuokite savo pirmąjį masyvo turinį į jį, 106 00:08:12,400 --> 00:08:15,870 ir tada nustatyti paskutinį elementą naujas daugybę mūsų naują vertę. 107 00:08:15,870 --> 00:08:18,390 Tai daug lengviau PHP. 108 00:08:18,390 --> 00:08:21,230 Jei mūsų masyvas yra asociatyvus masyvas, 109 00:08:21,230 --> 00:08:24,810 mes galime apibrėžti naują raktą sukurti elementas 110 00:08:24,810 --> 00:08:26,250 jei ji dar neegzistuoja. 111 00:08:26,250 --> 00:08:30,010 Jei mes turime ankstesnę masyvas - $ darbuotojai - 112 00:08:30,010 --> 00:08:38,679 mes galime pasakyti $ darbuotojai ["iš viso"] = 3;. 113 00:08:38,679 --> 00:08:43,330 Dabar mes turime naują raktą su 3 vertės. 114 00:08:43,330 --> 00:08:46,460 >> Norėdami gauti elementų skaičių masyve, 115 00:08:46,460 --> 00:08:48,230 mes galime naudoti "skaičius" funkciją. 116 00:08:48,230 --> 00:08:56,100 Jei mes sakome, suskaičiuoti ($), kuris turės 4 vertę. 117 00:08:56,100 --> 00:09:01,930 PHP, mes galime sukurti eilutes naudojant dvigubus arba vieno kabučių, 118 00:09:01,930 --> 00:09:04,470 todėl tiek šių kintamųjų yra stygos. 119 00:09:04,470 --> 00:09:21,780 $ S1 = "eilutę" $ s2 = 'kitą eilutę';. 120 00:09:21,780 --> 00:09:23,920 Kas yra tarp šių dviejų? 121 00:09:23,920 --> 00:09:26,950 Na, tai gana bendras norite įtraukti 122 00:09:26,950 --> 00:09:29,600 vertė kintamojo viduje eilutę. 123 00:09:29,600 --> 00:09:34,390 Vienas iš būdų tai padaryti būtų naudoti PHP dot operatorius, 124 00:09:34,390 --> 00:09:36,630 kuris concatenates stygos. 125 00:09:36,630 --> 00:09:38,680 Mes galime padaryti kažką panašaus į tai - 126 00:09:38,680 --> 00:09:53,800 $ N = 5; $ s = 'n' $ n.;. 127 00:09:53,800 --> 00:09:57,430 Čia mūsų n kintamasis yra sveikasis skaičius. 128 00:09:57,430 --> 00:10:00,020 Bet kai mes Jungiant jį su virvele, 129 00:10:00,020 --> 00:10:04,110 PHP automatiškai konvertuoja jį į mums eilutę. 130 00:10:04,110 --> 00:10:09,090 Arba mes galime tiesiog naudokite kabutes įdėti kintamąjį į eilutę pati. 131 00:10:09,090 --> 00:10:19,290 Galime sakyti, $ s = "n $ n";. 132 00:10:19,290 --> 00:10:24,040 Dabar iš $ s reikšmė bus "n 5 '. 133 00:10:24,040 --> 00:10:34,250 Jei mes naudojame kabutes vietoj, kaip ir $ s = "n $ n"; 134 00:10:34,250 --> 00:10:39,670 vertė s bus "n $ n";. 135 00:10:39,670 --> 00:10:43,720 N vertė nebus pakeista, jei mes naudojame kabutes, 136 00:10:43,720 --> 00:10:47,150 bet jis bus, jei mes naudojame kabutes. 137 00:10:47,150 --> 00:10:51,800 Jei norime naudoti dvigubas kabutes įtraukti, kad į eilutę masyvo reikšmę, 138 00:10:51,800 --> 00:10:55,060 mes turime įtraukti vingiuotus skliaustus aplink masyvo, kaip šis - 139 00:10:55,060 --> 00:11:14,470 $ S = "{$ darbuotojai ['viso']}";. 140 00:11:14,470 --> 00:11:20,350 >> Leiskite dabar pažvelgti į nedidelį fragmentą C išvaizdą ir jį išversti į PHP. 141 00:11:20,350 --> 00:11:25,410 Čia mes sukurti funkciją, kuri spausdina į eilutę raides 142 00:11:25,410 --> 00:11:27,310 vieną simbolį eilutėje. 143 00:11:27,310 --> 00:11:32,250 Darom tą patį PHP. 144 00:11:32,250 --> 00:11:36,530 Pirma, mes turime mūsų PHP skirtukus. 145 00:11:36,530 --> 00:11:39,000 Kai mes sukurti mūsų funkcija, 146 00:11:39,000 --> 00:11:42,740 mums nereikia nurodyti savo atgalinį tipo ar jos argumentą, tipą. 147 00:11:42,740 --> 00:11:46,890 Mūsų ai kintamasis taip pat turi pradėti su dolerio ženklu. 148 00:11:46,890 --> 00:11:51,590 PHP strlen funkcija suteikia mums eilutę ilgį, 149 00:11:51,590 --> 00:11:55,660 kaip C "strlen suteikia mums eilutę ilgį. 150 00:11:55,660 --> 00:11:59,060 Pagal gaubtu, nors šios funkcijos yra iš tikrųjų tiek skiriasi 151 00:11:59,060 --> 00:12:03,010 nes eilutė yra įmontuota tipas PHP. 152 00:12:03,010 --> 00:12:06,930 Mūsų "už" kilpa sintaksė yra tokia pati. 153 00:12:06,930 --> 00:12:13,530 >> PHP, mes taip pat gali naudoti masyvo notacijos prieiti prie eilutę simbolių. 154 00:12:13,530 --> 00:12:19,350 Dabar mes galime naudoti spausdinimo funkcijos atspausdinti kiekvieną eilutę laišką. 155 00:12:19,350 --> 00:12:23,080 Su PHP spausdinimo funkcija, mums nereikia jaudintis dėl vietos rezervavimo ženklai - 156 00:12:23,080 --> 00:12:28,200 kaip% d% ar c - kai mes norime spausdinti kintamąjį, kuris yra ne eilutę. 157 00:12:28,200 --> 00:12:33,590 Vietoj to, mes galime perduoti bet kokio tipo kintamąjį spausdinimo funkcija 158 00:12:33,590 --> 00:12:36,810 ir ji bus konvertuojama į eilutę ir rodoma. 159 00:12:36,810 --> 00:12:43,430 Štai ir viskas! Leiskite dabar paleisti mūsų rinkmeną su 'php print.php ". 160 00:12:43,430 --> 00:12:48,160 Ir nėra išėjimo pamatėme iš mūsų C programą. 161 00:12:48,160 --> 00:12:52,120 >> PHP taip pat palaiko konstruktą vadinamas "foreach" kilpą. 162 00:12:52,120 --> 00:12:54,800 Į "foreach ciklas" yra kaip "už" kilpa, 163 00:12:54,800 --> 00:12:59,080 bet tai prideda sintaksės cukraus tiek, kad viskas būtų aiškesnis. 164 00:12:59,080 --> 00:13:03,690 Čia mes sukurti naują masyve '$ masyvas ". 165 00:13:03,690 --> 00:13:10,090 Dabar mes galime pasakyti, foreach ($ masyvas kaip $ numeris) 166 00:13:10,090 --> 00:13:12,390 ir mes galime atspausdinti $ skaičių. 167 00:13:12,390 --> 00:13:20,650 Kai mes paleisti šį failą - Php foreach.php--mes galime pamatyti kiekvieną skaičių savo linija. 168 00:13:20,650 --> 00:13:26,700 >> Kai rašėme C kodą, jis buvo dažnai naudinga organizuoti savo kodą į atskirus failus. 169 00:13:26,700 --> 00:13:29,170 PHP, mes galime padaryti tą patį. 170 00:13:29,170 --> 00:13:33,870 Tarkime, mes turime keletą funkcijų failą pavadinimu math.php. 171 00:13:33,870 --> 00:13:38,900 Jei aš noriu naudoti šias funkcijas kitoje PHP failą, kaip calculator.php, 172 00:13:38,900 --> 00:13:44,110 Ar galiu naudoti PHP require_once () funkciją. 173 00:13:44,110 --> 00:13:47,110 Require_once yra kaip # include. 174 00:13:47,110 --> 00:13:52,050 Gavę kelias į failą, jis bus iš esmės kopijuoti ir įklijuoti turinį 175 00:13:52,050 --> 00:13:54,930 tos į dabartinę rinkmenoje. 176 00:13:54,930 --> 00:14:00,150 Require_once užtikrina, kad kiekvienas failas yra įtrauktas į esamą failą tik vieną kartą, 177 00:14:00,150 --> 00:14:05,680 kuri gali būti naudinga, jei turite didelę kolekciją PHP failus reikia tarpusavyje. 178 00:14:05,680 --> 00:14:07,750 Paimkime bent pavyzdžiui išvaizdą. 179 00:14:07,750 --> 00:14:12,620 Čia mes turime daug funkcijų, kad aš norėčiau naudoti kitą failą kolekciją. 180 00:14:12,620 --> 00:14:14,990 Leiskite pažvelgti, kaip mes galime naudoti juos išvaizdą. 181 00:14:14,990 --> 00:14:20,700 On line 3, mes reikia math.php. 182 00:14:20,700 --> 00:14:27,170 "__DIR__" Yra speciali konstanta atspindinčiais esamą katalogą 183 00:14:27,170 --> 00:14:33,440 nuo math.php ir calculator.php yra tame pačiame kataloge. 184 00:14:33,440 --> 00:14:38,010 Po to reikia math.php, mes galime naudoti funkcijas 185 00:14:38,010 --> 00:14:41,690  tarsi mes apibrėžta juos calculator.php. 186 00:14:41,690 --> 00:14:47,440 Leiskite paleisti tai su "php calculator.php". Puiku! 187 00:14:47,440 --> 00:14:50,880 >> Štai ir viskas mūsų įvadas į PHP sintaksės. 188 00:14:50,880 --> 00:14:53,700 Norėdami sužinoti daugiau, patikrinkite PHP.net. 189 00:14:53,700 --> 00:14:59,470 PHP turi daug built-in funkcijos daug, ir, laimei, jo dokumentai yra tikrai didelis. 190 00:14:59,470 --> 00:15:02,680 Mano vardas Tomas, o tai CS50. 191 00:15:02,680 --> 00:15:04,680 [CS50.TV] 192 00:15:04,680 --> 00:15:14,000 >> Laikiklis ..., aš iš kambario. Damn it! Tai paskutinis video, kur aš naudoju skambių žodžių į kodą.