1 00:00:00,000 --> 00:00:02,400 [Powered by Google Translate] [PHP sintakse] 2 00:00:02,400 --> 00:00:04,400 [Tommy MacWilliam] [Harvard University] 3 00:00:04,400 --> 00:00:07,400 [Tas ir CS50.] [CS50.TV] 4 00:00:07,400 --> 00:00:10,080 >> Šajā video, mēs ieviest PHP - 5 00:00:10,080 --> 00:00:12,820 viena no valodām, mēs būsim lietot CS50 6 00:00:12,820 --> 00:00:15,480 kā mēs pāreju uz interneta attīstību. 7 00:00:15,480 --> 00:00:19,250 PHP nozīmē PHP hiperteksta procesoru, 8 00:00:19,250 --> 00:00:23,440 vai PHP hiperteksta Procesors hiperteksta procesoru, 9 00:00:23,440 --> 00:00:24,880 un es ņemšu apstāties tur. 10 00:00:24,880 --> 00:00:29,280 PHP ir rekursīvs akronīms, kas, manuprāt, ir ļoti laba. 11 00:00:29,280 --> 00:00:32,020 >> Tātad, pieņemsim rakstīt "hello world", PHP, 12 00:00:32,020 --> 00:00:37,240 kas būs nedaudz savādāka, nekā "Hello World", kas C, ka mēs esam ieradušies uzzināt un mīlestību. 13 00:00:37,240 --> 00:00:40,330 Tā vietā, lai izveidotu failu ar nosaukumu hello.c, 14 00:00:40,330 --> 00:00:42,990 mēs izveidot hello.php. 15 00:00:42,990 --> 00:00:52,430 Visi mūsu PHP koda tiks iekļauti starp . 16 00:00:52,430 --> 00:00:56,160 Ja mums ir kāds PHP kodu, kas atrodas 17 00:00:56,160 --> 00:00:59,140 ārpus šīm norobežojošā, tā neizpildīs. 18 00:00:59,140 --> 00:01:01,740 Mēs varam būt, jo daudzi no šiem PHP blokiem 19 00:01:01,740 --> 00:01:05,090 kā mēs vēlamies iekšpusē vienu PHP failu. 20 00:01:05,090 --> 00:01:09,000 PHP tur nav galvenā funkcija nepieciešams. 21 00:01:09,000 --> 00:01:15,540 Tā vietā, mūsu PHP kods tiks palaist, lai tas parādās mūsu PHP failu. 22 00:01:15,540 --> 00:01:20,970 Gan C, un PHP ir "printf" funkciju outputting datus. 23 00:01:20,970 --> 00:01:27,270 Bet PHP, mums nevajag # jāiekļauj visi header failus, piemēram, standardIO.h. 24 00:01:27,270 --> 00:01:31,830 Tas ir tāpēc, PHP, mums nebūs apkopotu mūsu kodu. 25 00:01:31,830 --> 00:01:35,560 Kad mēs wrote C kodu mūsu darbplūsmu tendence būt atverot 26 00:01:35,560 --> 00:01:39,560 viens vai vairāki. c vai. h failus, mainot tos, kas apkopo tos, 27 00:01:39,560 --> 00:01:41,980 un darbojas iegūto bināro. 28 00:01:41,980 --> 00:01:45,800 Pārbaudiet sastādītāji video, lai iegūtu vairāk informācijas par šo procesu. 29 00:01:45,800 --> 00:01:51,480 >> Atšķirībā no C, PHP ir interpretējams - nevis apkopota - valoda. 30 00:01:51,480 --> 00:01:54,080 Tas nozīmē, ka PHP kodu mēs rakstām 31 00:01:54,080 --> 00:01:57,360 tiks palaist caur speciālu programmu, ko sauc tulks, 32 00:01:57,360 --> 00:02:00,440 kas, savukārt, izpildīt mūsu kodu. 33 00:02:00,440 --> 00:02:03,020 Palaist savu PHP kodu, 34 00:02:03,020 --> 00:02:07,860 mēs nosūtīsim to pa to PHP tulks, kas tiks galā ar tā izpildi, 35 00:02:07,860 --> 00:02:11,260 nevis apkopojot to mašīnu kodu. 36 00:02:11,260 --> 00:02:13,450 Paskatīsimies tulku darbībā. 37 00:02:13,450 --> 00:02:17,010 Mēs atvērt termināla un palaist PHP komandu 38 00:02:17,010 --> 00:02:21,130 seko ceļu uz PHP failu, mēs gribētu, lai palaistu. 39 00:02:21,130 --> 00:02:25,690 Mēs teiksim, "php hello.php". 40 00:02:25,690 --> 00:02:30,200 Un tur mēs ejam. Tur ir mūsu PHP programmas izejas. 41 00:02:30,200 --> 00:02:33,460 Mums nav nepieciešams, lai apkopotu mūsu PHP failu vispār. 42 00:02:33,460 --> 00:02:37,280 Tā vietā, mums bija cita programma - PHP tulks - 43 00:02:37,280 --> 00:02:40,070 izpildīt sourcecode, ka mēs rakstījām. 44 00:02:40,070 --> 00:02:43,280 >> PHP var darīt daudz vairāk nekā vienkārši printf. 45 00:02:43,280 --> 00:02:46,490 Let 's uzrakstīt dažas sarežģītākas PHP programmas. 46 00:02:46,490 --> 00:02:52,240 Sintakse konstrukcijas - piemēram, ja cits, savukārt, lai, un slēdzis - 47 00:02:52,240 --> 00:02:55,440 ir tas pats, kas PHP un C. 48 00:02:55,440 --> 00:03:01,180 Tāpat kā C, katrs no šiem konstrukcijas izmanto bikšturi, lai norobežotu savu ķermeni, 49 00:03:01,180 --> 00:03:04,420 un tāpat kā C, katra līnija mēs rakstām 50 00:03:04,420 --> 00:03:06,830 jābeidzas ar semikolu; 51 00:03:06,830 --> 00:03:10,700 Tomēr, mainīgie tiek apstrādāti mazliet savādāk PHP. 52 00:03:10,700 --> 00:03:15,630 Pirmkārt, visi PHP mainīgie ir jāsāk ar dolāra zīmi. 53 00:03:15,630 --> 00:03:18,700 Šķiet mazliet dīvaini sākumā, bet jūs pierastu pie tā. 54 00:03:18,700 --> 00:03:22,150 Otrkārt, PHP ir brīvi-drukāti valoda 55 00:03:22,150 --> 00:03:24,570 kas nozīmē, jums nav nepieciešams, lai skaidri uzskaitīt 56 00:03:24,570 --> 00:03:27,640 veids ir mainīgs, kad jūs to izveidotu. 57 00:03:27,640 --> 00:03:33,430 Ja C jūs nepieciešams teikt, int x = 5; 58 00:03:33,430 --> 00:03:38,650 vai char y = ''; 59 00:03:39,250 --> 00:03:44,790 PHP, mēs varam vienkārši teikt, $ x = 5; 60 00:03:44,790 --> 00:03:48,930 un $ y = '';. 61 00:03:48,930 --> 00:03:52,360 Tas pats attiecas uz funkcijām. 62 00:03:52,360 --> 00:04:01,290 Nevis sakot int f () {ķermenis mūsu funkcija} 63 00:04:01,290 --> 00:04:12,160 PHP mēs gatavojamies teikt funkciju f () {ķermenis mūsu funkcijas}. 64 00:04:12,160 --> 00:04:17,579 Mums nevajag, lai skaidri norādītu atgriešanās veidu mūsu funkcijas f. 65 00:04:17,579 --> 00:04:22,070 Funkcijas PHP arī nav jāatgriežas tāda paša veida 66 00:04:22,070 --> 00:04:23,840 katru reizi, kad tie tiek izpildīti. 67 00:04:23,840 --> 00:04:27,940 Piemēram, mēs varētu uzrakstīt funkciju, kas atgriež false par kļūdu 68 00:04:27,940 --> 00:04:29,750 un cita veida, ja tas izdodas. 69 00:04:29,750 --> 00:04:33,060 >> Tas var arī palīdzēt mums rakstīt vairāk vispārīgas funkcijas. 70 00:04:33,060 --> 00:04:35,710 Piemēram, mēs varētu uzrakstīt vienu add funkciju 71 00:04:35,710 --> 00:04:39,200 kas var atgriezt skaitli, ja 2 veseli skaitļi ir doti 72 00:04:39,200 --> 00:04:41,250 vai peldēt, ja 2 pludiņiem ir dota. 73 00:04:41,250 --> 00:04:45,530 C, mēs gribētu nepieciešams rakstīt 2 atsevišķas funkcijas, lai to paveiktu. 74 00:04:45,530 --> 00:04:49,230 Kamēr C mēs izmantojam norādes par paaugstinājumu un stīgas, 75 00:04:49,230 --> 00:04:52,170 mēs nevarēsim izmantot norādes PHP. 76 00:04:52,170 --> 00:04:58,030 Tā vietā, gan bloki un stīgas ir iebūvēts veidiem PHP. 77 00:04:58,030 --> 00:04:59,660 Viņi būvētas labi valodā. 78 00:04:59,660 --> 00:05:02,270 Lai izveidotu masīva PHP, mēs varam teikt, 79 00:05:02,270 --> 00:05:11,280 $ = Array (1, 2, 3); 80 00:05:11,280 --> 00:05:19,400 vai vairāk vienkārši $ = [1, 2, 3];. 81 00:05:19,400 --> 00:05:24,990 Mēs varam indekss šajā masīvā, izmantojot to pašu sintaksi, ka mēs esam pieraduši no C. 82 00:05:24,990 --> 00:05:31,780 Iegūt pirmo elementu mēs teiksim, $ [0]. 83 00:05:31,780 --> 00:05:36,290 PHP arī ir iebūvēts atbalsts asociatīvo masīvu. 84 00:05:36,290 --> 00:05:41,460 Asociatīvās masīvi ir tāpat kā hash tabulas datu struktūru mēs jau esam redzējuši - 85 00:05:41,460 --> 00:05:44,060 tie karte taustiņu līdz vērtībai. 86 00:05:44,060 --> 00:05:46,070 >> Pieņemsim to apskatīt, piemēram. 87 00:05:46,070 --> 00:06:14,740 Mēs varam teikt, $ darbinieki = ["instruktora" => "Dāvids", "TF" => "Tommy"];. 88 00:06:14,740 --> 00:06:21,020 Lūk, man ir asociatīvo masīvu ar 2 atslēgām - instruktors un tf. 89 00:06:21,020 --> 00:06:24,910 Dubultās bultiņas vai vienāds-lielāks nekā, 90 00:06:24,910 --> 00:06:29,660 tiek izmantota, lai atdalītu ar atslēgu un tās attiecīgo vērtību. 91 00:06:29,660 --> 00:06:41,830 Tātad, par $ darbinieku ["TF"] vērtība ir virkne "Tommy". 92 00:06:41,830 --> 00:06:44,430 Vērtības asociatīvā masīva - 93 00:06:44,430 --> 00:06:47,540 daudz, tāpat kā jebkurš cits masīvs - var būt jebkura veida. 94 00:06:47,540 --> 00:07:23,370 Piemēram, mēs varētu teikt, $ staff = ["instruktors" => "Dāvids", "TFS" => ["Tommy", "Rob"]];. 95 00:07:23,370 --> 00:07:27,810 Tagad par "TFS" vērtība ir masīvs. 96 00:07:27,810 --> 00:07:33,030 Tas nozīmē, ka iekšā vienu asociatīvā masīva vērtības var būt dažāda veida. 97 00:07:33,030 --> 00:07:36,750 >> PHP masīvi arī nav noteikta garuma, 98 00:07:36,750 --> 00:07:40,200 lai mēs varam pievienot vai noņemt elementus no masīva. 99 00:07:40,200 --> 00:07:49,130 Teiksim, mums ir vienkāršs masīvs, piemēram, $ = [1, 2, 3];. 100 00:07:49,130 --> 00:07:51,860 Lai pievienotu jaunu elementu šajā masīvā, 101 00:07:51,860 --> 00:07:57,160 mēs varam teikt, $ [] = 4;. 102 00:07:57,160 --> 00:08:03,630 Tagad mūsu masīvs sastāv no četriem elementiem - [1, 2, 3, 4]. 103 00:08:03,630 --> 00:08:06,980 Atgādināt, ka, ja mēs vēlējāmies darīt kaut kas līdzīgs šim C, 104 00:08:06,980 --> 00:08:09,610 mēs ir jāpiešķir pilnīgi jaunu masīvs, 105 00:08:09,610 --> 00:08:12,400 kopēt saturu mūsu pirmā masīva uz to, 106 00:08:12,400 --> 00:08:15,870 un pēc tam noteikt pēdējo elementu jaunā masīva uz mūsu jauno vērtību. 107 00:08:15,870 --> 00:08:18,390 Tas ir daudz vieglāk PHP. 108 00:08:18,390 --> 00:08:21,230 Ja mūsu masīvs ir asociatīvā masīva, 109 00:08:21,230 --> 00:08:24,810 mēs varam vienkārši definēt jaunu atslēgu, lai izveidotu elementu 110 00:08:24,810 --> 00:08:26,250 ja tas vēl neeksistē. 111 00:08:26,250 --> 00:08:30,010 Ja mums ir mūsu iepriekšējo masīvs - $ darbinieki - 112 00:08:30,010 --> 00:08:38,679 mēs varam teikt, $ personāls ["kopējais"] = 3;. 113 00:08:38,679 --> 00:08:43,330 Tagad mums ir jauna atslēga ar vērtību 3. 114 00:08:43,330 --> 00:08:46,460 >> Lai iegūtu elementu skaitu masīvā, 115 00:08:46,460 --> 00:08:48,230 mēs varam izmantot "Count" funkciju. 116 00:08:48,230 --> 00:08:56,100 Ja mēs sakām, skaits ($), kas būs vērtība ir 4. 117 00:08:56,100 --> 00:09:01,930 PHP, mēs varam veidot virknes, izmantojot dubultās vai viena citātus, 118 00:09:01,930 --> 00:09:04,470 lai abi šie mainīgie ir virknes. 119 00:09:04,470 --> 00:09:21,780 $ S1 = "string"; $ s2 = 'cita string ";. 120 00:09:21,780 --> 00:09:23,920 Kāda ir atšķirība starp šiem diviem atšķirība? 121 00:09:23,920 --> 00:09:26,950 Nu, tas ir diezgan kopējā vēlaties iekļaut 122 00:09:26,950 --> 00:09:29,600 vērtība mainīgā iekšpusē virkni. 123 00:09:29,600 --> 00:09:34,390 Viens veids, kā to izdarīt, būtu izmantot PHP dot operatoram, 124 00:09:34,390 --> 00:09:36,630 kas concatenates stīgas. 125 00:09:36,630 --> 00:09:38,680 Mēs varētu darīt kaut kas līdzīgs šim - 126 00:09:38,680 --> 00:09:53,800 $ N = 5, $ i = 'n ir "$ n;.. 127 00:09:53,800 --> 00:09:57,430 Šeit mūsu n mainīgais ir vesels skaitlis. 128 00:09:57,430 --> 00:10:00,020 Bet, kad mēs saķēdēt to ar auklu, 129 00:10:00,020 --> 00:10:04,110 PHP automātiski konvertēt to uz virkni par mums. 130 00:10:04,110 --> 00:10:09,090 Vai arī mēs varam vienkārši izmantot dubultās pēdiņas likt mainīgo vērā virkni pati. 131 00:10:09,090 --> 00:10:19,290 Mēs varam teikt, $ s = "n ir $ n";. 132 00:10:19,290 --> 00:10:24,040 Tagad no s $ vērtība būs "n ir 5 '. 133 00:10:24,040 --> 00:10:34,250 Ja mēs izmantojam vienu pēdiņām, nevis, kā tas s $ = 'n ir $ n'; 134 00:10:34,250 --> 00:10:39,670 s vērtība būs "n ir $ n ';. 135 00:10:39,670 --> 00:10:43,720 N vērtība netiks aizvietota, ja mēs izmantojam vienu pēdiņām, 136 00:10:43,720 --> 00:10:47,150 bet tas būs, ja mēs izmantojam dubultās pēdiņas. 137 00:10:47,150 --> 00:10:51,800 Ja mēs vēlamies izmantot dubultās pēdiņas iekļaut vērtību masīva virkni, 138 00:10:51,800 --> 00:10:55,060 mums būs nepieciešams iekļaut cirtaini lencēm ap masīvu, piemēram, šo - 139 00:10:55,060 --> 00:11:14,470 $ S = "{$ personāls ['total']}";. 140 00:11:14,470 --> 00:11:20,350 >> Let 's tagad to apskatīt nelielu fragmentu C, un pārvērst to PHP. 141 00:11:20,350 --> 00:11:25,410 Lūk, mēs esam izveidot funkciju, kas izdrukā burtus virkni, 142 00:11:25,410 --> 00:11:27,310 viena rakstzīme katrā rindiņā. 143 00:11:27,310 --> 00:11:32,250 Darīsim to pašu PHP. 144 00:11:32,250 --> 00:11:36,530 Pirmkārt, mums būs nepieciešams mūsu PHP atdalītājus. 145 00:11:36,530 --> 00:11:39,000 Kad mēs veidojam mūsu funkcija, 146 00:11:39,000 --> 00:11:42,740 mums nav nepieciešams norādīt savu atgriešanās veidu vai tās argumentu veidu. 147 00:11:42,740 --> 00:11:46,890 Mūsu s mainīgs ir arī jāsāk ar dolāra zīmi. 148 00:11:46,890 --> 00:11:51,590 PHP strlen funkcija dod mums garumu virknes, 149 00:11:51,590 --> 00:11:55,660 tāpat kā C ir strlen dod mums garumu virknes. 150 00:11:55,660 --> 00:11:59,060 Saskaņā ar kapuci, lai gan, šīs funkcijas ir patiešām nedaudz savādāka 151 00:11:59,060 --> 00:12:03,010 tā kā virkne ir iebūvēts tipa PHP. 152 00:12:03,010 --> 00:12:06,930 Mūsu "par" cilpa sintakse ir tas pats. 153 00:12:06,930 --> 00:12:13,530 >> PHP, mēs varam arī izmantot masīvu apzīmējumu, lai piekļūtu rakstzīmes virknē. 154 00:12:13,530 --> 00:12:19,350 Mēs tagad var izmantot drukāšanas funkciju, lai izdrukātu katru burtu virknes. 155 00:12:19,350 --> 00:12:23,080 Ar PHP drukāšanas funkciju, mums nav jāuztraucas par vietturi - 156 00:12:23,080 --> 00:12:28,200 kā% d vai% c - ja mēs gribam izdrukāt mainīgais, kas nav virkne. 157 00:12:28,200 --> 00:12:33,590 Tā vietā, mēs varam vienkārši iet mainīgo jebkura tipa drukas funkciju, 158 00:12:33,590 --> 00:12:36,810 , un tā tiks konvertēta uz virkni un parādīt. 159 00:12:36,810 --> 00:12:43,430 Un tas arī viss! Let 's tagad palaist savu failu ar' php print.php ". 160 00:12:43,430 --> 00:12:48,160 Un tur ir izeja mēs redzējām no mūsu C programmas. 161 00:12:48,160 --> 00:12:52,120 >> PHP arī atbalsta konstrukciju sauc par "foreach" cilpa. 162 00:12:52,120 --> 00:12:54,800 Par "foreach" cilpa ir tāpat kā "par" cilpas, 163 00:12:54,800 --> 00:12:59,080 bet tā piebilst mazliet sintaktisko cukura, lai padarītu lietas vieglāk lasāmu. 164 00:12:59,080 --> 00:13:03,690 Lūk, mēs esam radot jaunu masīvu sauc par "$ masīvs". 165 00:13:03,690 --> 00:13:10,090 Tagad mēs varam teikt, foreach ($ masīvs kā $ numuru), 166 00:13:10,090 --> 00:13:12,390 un mēs varam izdrukāt $ numuru. 167 00:13:12,390 --> 00:13:20,650 Kad mēs palaist šo failu - php foreach.php--mēs varam redzēt katru numuru savā rindā. 168 00:13:20,650 --> 00:13:26,700 >> Kad mēs rakstījām C kodu, tas bija bieži noder, lai organizētu savu kodu atsevišķos failos. 169 00:13:26,700 --> 00:13:29,170 PHP, mēs varam darīt to pašu. 170 00:13:29,170 --> 00:13:33,870 Pieņemsim, ka mums ir dažas funkcijas failu ar nosaukumu math.php. 171 00:13:33,870 --> 00:13:38,900 Ja es vēlos izmantot šo funkciju citā PHP failu, piemēram, calculator.php, 172 00:13:38,900 --> 00:13:44,110 Es varu izmantot PHP require_once () funkciju. 173 00:13:44,110 --> 00:13:47,110 Require_once ir tāpat kā # ir. 174 00:13:47,110 --> 00:13:52,050 Lietojot ceļu uz failu, tas būs būtiski kopēt un ielīmēt saturu 175 00:13:52,050 --> 00:13:54,930 Šīs lietas par pašreizējo failu. 176 00:13:54,930 --> 00:14:00,150 Require_once nodrošina, ka katrs fails ir iekļauts pašreizējā failā tikai vienu reizi, 177 00:14:00,150 --> 00:14:05,680 kas var būt noderīgi, ja jums ir liels krājums PHP failu nepieciešama otra. 178 00:14:05,680 --> 00:14:07,750 Pieņemsim to apskatīt, piemēram. 179 00:14:07,750 --> 00:14:12,620 Šeit mums ir kolekcija funkcijas, kas man patīk, lai izmantotu citā failā. 180 00:14:12,620 --> 00:14:14,990 Pieņemsim to apskatīt, kā mēs varam izmantot tos. 181 00:14:14,990 --> 00:14:20,700 Par 3 līnijas, mēs esam nepieciešama math.php. 182 00:14:20,700 --> 00:14:27,170 Par "__DIR__" ir īpaša pastāvīga pārstāv pašreizējā direktorijā 183 00:14:27,170 --> 00:14:33,440 kopš math.php un calculator.php atrodas vienā un tajā pašā direktorijā. 184 00:14:33,440 --> 00:14:38,010 Pēc tam, kad mēs pieprasām math.php, mēs varam izmantot funkcijas 185 00:14:38,010 --> 00:14:41,690  kā tad, ja mēs esam noteikti tos calculator.php. 186 00:14:41,690 --> 00:14:47,440 Let 's palaist to ar "php calculator.php". Lieliski! 187 00:14:47,440 --> 00:14:50,880 >> Tas ir tas, lai mūsu ievads PHP sintaksi. 188 00:14:50,880 --> 00:14:53,700 Lai uzzinātu vairāk, izbraukšana PHP.net. 189 00:14:53,700 --> 00:14:59,470 PHP ir daudz iebūvētu funkciju, un par laimi tā dokumentācija ir tiešām liels. 190 00:14:59,470 --> 00:15:02,680 Mans vārds ir Tommy, un tas ir CS50. 191 00:15:02,680 --> 00:15:04,680 [CS50.TV] 192 00:15:04,680 --> 00:15:14,000 >> ... Kronšteins, es esmu ārā no istabas. Damn it! Tas ir pēdējais video, kur es varu izmantot lielas vārdus kodu.