1 00:00:00,000 --> 00:00:02,400 [Powered by Google Translate] [ПХП синтакса] 2 00:00:02,400 --> 00:00:04,400 [Томми МацВиллиам] [Универзитет Харвард] 3 00:00:04,400 --> 00:00:07,400 [Ово је ЦС50.] [ЦС50.ТВ] 4 00:00:07,400 --> 00:00:10,080 >> У овом видеу, ми ћемо увести ПХП - 5 00:00:10,080 --> 00:00:12,820 један од језика који ћемо користити у ЦС50 6 00:00:12,820 --> 00:00:15,480 као што смо прелазак на веб развој. 7 00:00:15,480 --> 00:00:19,250 ПХП је скраћеница за ПХП Хипертект Процессор, 8 00:00:19,250 --> 00:00:23,440 или ПХП Хипертект Хипертекст Процесор Процесор, 9 00:00:23,440 --> 00:00:24,880 и ја ћу зауставити. 10 00:00:24,880 --> 00:00:29,280 ПХП је рекурзивна скраћеница, што мислим да је стварно супер. 11 00:00:29,280 --> 00:00:32,020 >> Дакле, хајде да напишемо "Здраво свете" у ПХП-у, 12 00:00:32,020 --> 00:00:37,240 који ће бити мало другачији од "Хелло Ворлд" у Ц који смо дошли да знамо и волимо. 13 00:00:37,240 --> 00:00:40,330 Уместо креирања фајл који се зове хелло.ц, 14 00:00:40,330 --> 00:00:42,990 ћемо створити хелло.пхп. 15 00:00:42,990 --> 00:00:52,430 Сви наши ПХП код ће бити налази између <пхп и?>. 16 00:00:52,430 --> 00:00:56,160 Ако имате ПХП кода који се налази 17 00:00:56,160 --> 00:00:59,140 изван ових раздвајати наводницима, неће извршити. 18 00:00:59,140 --> 00:01:01,740 Можемо имати многе од тих блокова ПХП 19 00:01:01,740 --> 00:01:05,090 јер желимо унутар једне ПХП датотеке. 20 00:01:05,090 --> 00:01:09,000 У ПХП-у нема потребе за главну функцију. 21 00:01:09,000 --> 00:01:15,540 Уместо тога, наш ПХП код ће бити покренути у редоследу се појављује у нашем ПХП фајлу. 22 00:01:15,540 --> 00:01:20,970 Оба Ц и ПХП имају 'принтф' функцију за добијање података. 23 00:01:20,970 --> 00:01:27,270 Али у ПХП-у, не треба да се укључи # све датотеке заглавља као стандардИО.х. 24 00:01:27,270 --> 00:01:31,830 То је зато што у ПХП нећемо бити састављања наш код. 25 00:01:31,830 --> 00:01:35,560 Када смо писали Ц код наше тока тенденцију да се отвара 26 00:01:35,560 --> 00:01:39,560 један или више Ц или.. х датотеке, мења их, скупљајући их, 27 00:01:39,560 --> 00:01:41,980 и ради добијену бинарни. 28 00:01:41,980 --> 00:01:45,800 Погледајте видео компајлери за више информација о овом процесу. 29 00:01:45,800 --> 00:01:51,480 >> За разлику од Ц, ПХП је тумачи - уместо саставио - језик. 30 00:01:51,480 --> 00:01:54,080 То значи да ПХП код пишемо 31 00:01:54,080 --> 00:01:57,360 ће се покренути кроз посебан програм под називом преводилац, 32 00:01:57,360 --> 00:02:00,440 која ће се претворити у наш код извршава. 33 00:02:00,440 --> 00:02:03,020 Да бисте покренули наш ПХП код, 34 00:02:03,020 --> 00:02:07,860 ми ћемо га пошаљете заједно са ПХП преводиоца који ће носити његово извршење, 35 00:02:07,860 --> 00:02:11,260 уместо састављања је на машински код. 36 00:02:11,260 --> 00:02:13,450 Да видимо преводиоца у акцији. 37 00:02:13,450 --> 00:02:17,010 Ми ћемо отворити терминал и покрените команду ПХП 38 00:02:17,010 --> 00:02:21,130 следи путању до ПХП фајлу желите да покренете. 39 00:02:21,130 --> 00:02:25,690 Ми ћемо рећи, 'ПХП хелло.пхп ". 40 00:02:25,690 --> 00:02:30,200 И тамо идемо. Постоји излаз из нашег ПХП програма. 41 00:02:30,200 --> 00:02:33,460 Ово нам није требало да саставимо нашу ПХП датотеку уопште. 42 00:02:33,460 --> 00:02:37,280 Уместо тога, имали смо још један програм - ПХП преводилац - 43 00:02:37,280 --> 00:02:40,070 изврши Соурцецоде да смо написали. 44 00:02:40,070 --> 00:02:43,280 >> ПХП може да уради много више него једноставно инт. 45 00:02:43,280 --> 00:02:46,490 Хајде да напишем неке сложеније програме ПХП. 46 00:02:46,490 --> 00:02:52,240 Синтакса за конструкције - ако желите, друго, док је за, а прекидач - 47 00:02:52,240 --> 00:02:55,440 је исти у ПХП и Ц. 48 00:02:55,440 --> 00:03:01,180 Као и Ц, сваки од ових конструкција користи протезу да одредите своје тело, 49 00:03:01,180 --> 00:03:04,420 и баш као у Ц, свака линија пишемо 50 00:03:04,420 --> 00:03:06,830 мора да се заврши са зарезом; 51 00:03:06,830 --> 00:03:10,700 Међутим, променљиве се рукује мало другачије у ПХП-у. 52 00:03:10,700 --> 00:03:15,630 Прво, све променљиве у ПХП мора почети са знаком долара. 53 00:03:15,630 --> 00:03:18,700 Изгледа мало чудно у почетку, али ћете се навићи на то. 54 00:03:18,700 --> 00:03:22,150 Друго, ПХП је лабаво-куцани језик 55 00:03:22,150 --> 00:03:24,570 што значи да не морате да се експлицитно наведе 56 00:03:24,570 --> 00:03:27,640 тип променљиве када га креирате. 57 00:03:27,640 --> 00:03:33,430 Где у Ц ти треба да кажете инт к = 5; 58 00:03:33,430 --> 00:03:38,650 Чар или и = ''; 59 00:03:39,250 --> 00:03:44,790 у ПХП можемо једноставно да кажемо $ к = 5; 60 00:03:44,790 --> 00:03:48,930 и $ и = '';. 61 00:03:48,930 --> 00:03:52,360 Исто се односи и на функције. 62 00:03:52,360 --> 00:04:01,290 Уместо да кажете инт ф () {тело наше функције}, 63 00:04:01,290 --> 00:04:12,160 у ПХП ћемо рећи функција ф () {тело наше функције}. 64 00:04:12,160 --> 00:04:17,579 Ми не треба да се експлицитно навели тип повратка наших функцију ф. 65 00:04:17,579 --> 00:04:22,070 Функције у ПХП такође не морају да се врате на исти тип 66 00:04:22,070 --> 00:04:23,840 сваки пут када су погубљени. 67 00:04:23,840 --> 00:04:27,940 На пример, можемо написати функцију која враћа труе на грешке 68 00:04:27,940 --> 00:04:29,750 и још један тип ако успе. 69 00:04:29,750 --> 00:04:33,060 >> Ово такође може помоћи да напише више генеричке функције. 70 00:04:33,060 --> 00:04:35,710 На пример, можемо да напишем ниједну функцију адд 71 00:04:35,710 --> 00:04:39,200 који може да врати цео број 2, ако цели бројеви су дати 72 00:04:39,200 --> 00:04:41,250 или ако пловак 2 пловци су дате. 73 00:04:41,250 --> 00:04:45,530 У Ц, нам треба писати 2 одвојене функције да се то уради. 74 00:04:45,530 --> 00:04:49,230 Док у Ц користимо савете за повишице и гудаче, 75 00:04:49,230 --> 00:04:52,170 нећемо бити у могућности да користе показивачи у ПХП. 76 00:04:52,170 --> 00:04:58,030 Уместо тога, оба низови и стрингови су уграђене типове у ПХП. 77 00:04:58,030 --> 00:04:59,660 Оне су конструисане право на језик. 78 00:04:59,660 --> 00:05:02,270 Да бисте направили низ у ПХП-у, можемо рећи, 79 00:05:02,270 --> 00:05:11,280 $ = Арраи (1, 2, 3); 80 00:05:11,280 --> 00:05:19,400 или више једноставно $ = [1, 2, 3];. 81 00:05:19,400 --> 00:05:24,990 Можемо индекс у овом низу користећи исту синтаксу које смо навикли из Ц. 82 00:05:24,990 --> 00:05:31,780 Да бисте добили први елемент ћемо рећи, $ [0];. 83 00:05:31,780 --> 00:05:36,290 ПХП такође има уграђену подршку за асоцијативних низова. 84 00:05:36,290 --> 00:05:41,460 Асоцијативни низови су исто као и хасх података структури табеле смо већ видели - 85 00:05:41,460 --> 00:05:44,060 они мап кључ у вредност. 86 00:05:44,060 --> 00:05:46,070 >> Хајде да погледамо пример. 87 00:05:46,070 --> 00:06:14,740 Можемо рећи, $ особље = ["инструктор" => "Давид", "ТФ" => "Томми"];. 88 00:06:14,740 --> 00:06:21,020 Ево, ја имам асоцијативни низ са 2 кључа - инструктор и ТФ. 89 00:06:21,020 --> 00:06:24,910 Двапут стрелица, или једнако-веце, 90 00:06:24,910 --> 00:06:29,660 се користи да одвоји кључ и његову одговарајућу вредност. 91 00:06:29,660 --> 00:06:41,830 Дакле, вредност $ особља ["ТФ"] је стринг "Томми". 92 00:06:41,830 --> 00:06:44,430 Вредности асоцијативним низа - 93 00:06:44,430 --> 00:06:47,540 као било која друга низу - може бити било које врсте. 94 00:06:47,540 --> 00:07:23,370 На пример, могли бисмо рећи, $ особље = ["инструктор" => "Давид", "поздрав" => ["Томи", "Роб"]];. 95 00:07:23,370 --> 00:07:27,810 Сада је вредност "ТФС" је низ. 96 00:07:27,810 --> 00:07:33,030 То значи да су вредности унутар једног асоцијативног низа бити различитих типова. 97 00:07:33,030 --> 00:07:36,750 >> ПХП такође низови немају фиксну дужину, 98 00:07:36,750 --> 00:07:40,200 тако да можете додати или уклонити елементе из низа. 99 00:07:40,200 --> 00:07:49,130 Рецимо да имамо једноставан као низ $ = [1, 2, 3];. 100 00:07:49,130 --> 00:07:51,860 Да бисте додали нови елемент у овом низу, 101 00:07:51,860 --> 00:07:57,160 можемо рећи, $ [] = 4;. 102 00:07:57,160 --> 00:08:03,630 Сада наш низ се састоји од четири елемента - [1, 2, 3, 4]. 103 00:08:03,630 --> 00:08:06,980 Подсетимо се да ако смо хтели да урадимо овако нешто у Ц, 104 00:08:06,980 --> 00:08:09,610 ми би морали да издвоје потпуно нови низ, 105 00:08:09,610 --> 00:08:12,400 копирате садржај нашег првог низа у њу, 106 00:08:12,400 --> 00:08:15,870 а затим поставите последњи елемент новог низа нашем новом вредношћу. 107 00:08:15,870 --> 00:08:18,390 Ово је много лакше у ПХП-у. 108 00:08:18,390 --> 00:08:21,230 Ако је наш низ је асоцијативни низ, 109 00:08:21,230 --> 00:08:24,810 можемо једноставно да дефинишете нови кључ за креирање елемент 110 00:08:24,810 --> 00:08:26,250 Ако још увек не постоји. 111 00:08:26,250 --> 00:08:30,010 Ако имамо наш претходни низ - $ особље - 112 00:08:30,010 --> 00:08:38,679 можемо рећи $ особље ["укупно"] = 3;. 113 00:08:38,679 --> 00:08:43,330 Сада имамо нови кључ са вредношћу од 3.. 114 00:08:43,330 --> 00:08:46,460 >> Да би се број елемената у низу, 115 00:08:46,460 --> 00:08:48,230 можемо користити 'цоунт' функцију. 116 00:08:48,230 --> 00:08:56,100 Ако кажемо, цоунт ($), који ће имати вредност 4. 117 00:08:56,100 --> 00:09:01,930 У ПХП-у, можемо креирати помоћу жице двоструке или једноструке наводнике, 118 00:09:01,930 --> 00:09:04,470 па обе ове променљиве су жице. 119 00:09:04,470 --> 00:09:21,780 $ С1 = "стринг"; $ с2 = 'други стринг';. 120 00:09:21,780 --> 00:09:23,920 Која је разлика између ова два? 121 00:09:23,920 --> 00:09:26,950 Па, то је уобичајено да се жели да се укључи 122 00:09:26,950 --> 00:09:29,600 вредности променљиве унутар стринга. 123 00:09:29,600 --> 00:09:34,390 Један од начина да се то уради је да се користи ПХП дот оператера, 124 00:09:34,390 --> 00:09:36,630 који цонцатенатес Стрингс. 125 00:09:36,630 --> 00:09:38,680 Могли смо да урадимо нешто овако - 126 00:09:38,680 --> 00:09:53,800 $ Н = 5; $ а = 'н' $ н.. 127 00:09:53,800 --> 00:09:57,430 Овде је наша променљива н је цео број. 128 00:09:57,430 --> 00:10:00,020 Али када смо га повезати у облику ланца са низом, 129 00:10:00,020 --> 00:10:04,110 ПХП ће га аутоматски конвертовати у стринг за нас. 130 00:10:04,110 --> 00:10:09,090 Или ми једноставно могу да користе двоструке наводнике да стави у променљиву се ниска. 131 00:10:09,090 --> 00:10:19,290 Можемо рећи, $ а = "н $ н";. 132 00:10:19,290 --> 00:10:24,040 Сада се вредност $ а ће бити 'н је 5'. 133 00:10:24,040 --> 00:10:34,250 Ако користите уместо једноструке наводнике, као у $ а = 'н $ н'; 134 00:10:34,250 --> 00:10:39,670 вредност ће бити с 'н $ н';. 135 00:10:39,670 --> 00:10:43,720 Вредност н неће бити замењен, ако користимо једноструке наводнике, 136 00:10:43,720 --> 00:10:47,150 али то ће бити ако користимо дупле наводнике. 137 00:10:47,150 --> 00:10:51,800 Ако желимо да користимо дупле наводнике да укључи вредност низа у низу, 138 00:10:51,800 --> 00:10:55,060 ћемо морати да укључи витичасте заграде око низа, као што је овај - 139 00:10:55,060 --> 00:11:14,470 $ А = "$ {особље ['укупно']}";. 140 00:11:14,470 --> 00:11:20,350 >> Хајде сада да погледамо малог фрагмента у Ц и превести га у ПХП. 141 00:11:20,350 --> 00:11:25,410 Овде, креирамо функцију која исписује слова у низу, 142 00:11:25,410 --> 00:11:27,310 један знак по линији. 143 00:11:27,310 --> 00:11:32,250 Хајде да урадимо исту ствар у ПХП. 144 00:11:32,250 --> 00:11:36,530 Прво, треба нам наше ПХП раздвајати наводницима. 145 00:11:36,530 --> 00:11:39,000 Када смо креирали нашу функцију, 146 00:11:39,000 --> 00:11:42,740 ми не треба да одредите своју повратни тип или врсту свог аргумента. 147 00:11:42,740 --> 00:11:46,890 Наш променљива с мора почети са знаком долара. 148 00:11:46,890 --> 00:11:51,590 ПХП функцију стрлен нам даје дужину стринга, 149 00:11:51,590 --> 00:11:55,660 баш као Ц стрлен нам даје дужину стринга. 150 00:11:55,660 --> 00:11:59,060 Испод хаубе ипак, ове функције су у ствари мало другачије 151 00:11:59,060 --> 00:12:03,010 пошто стринг је уграђена типа у ПХП. 152 00:12:03,010 --> 00:12:06,930 Синтакса наше 'за' петље је исти. 153 00:12:06,930 --> 00:12:13,530 >> У ПХП-у, можемо користити нотацију низа за приступ знакове у низу. 154 00:12:13,530 --> 00:12:19,350 Сада можемо користити функцију штампања да одштампате свако слово у низу. 155 00:12:19,350 --> 00:12:23,080 Са штампања ПХП, не треба да бринете о чувара места - 156 00:12:23,080 --> 00:12:28,200 као%% д или ц - када желимо да одштампате променљиву која није ниска. 157 00:12:28,200 --> 00:12:33,590 Уместо тога, можемо једноставно да прође променљиву једног типа у штампања, 158 00:12:33,590 --> 00:12:36,810 и то ће бити конвертован у стринг и приказују. 159 00:12:36,810 --> 00:12:43,430 И то је то! Хајде да сада покренути нашу датотеку са 'ПХП принт.пхп ". 160 00:12:43,430 --> 00:12:48,160 А ту је и излаз смо видели из нашег Ц програма. 161 00:12:48,160 --> 00:12:52,120 >> ПХП такође подржава конструкт назива 'фореацх петљу ". 162 00:12:52,120 --> 00:12:54,800 Тхе 'фореацх петља' је као 'за' петље, 163 00:12:54,800 --> 00:12:59,080 али додаје мало шећера синтаксичким да се ствари више читљиве. 164 00:12:59,080 --> 00:13:03,690 Ево, да стварамо нови низ под називом '$ низ'. 165 00:13:03,690 --> 00:13:10,090 Сада можемо рећи, фореацх ($ низ као $ број), 166 00:13:10,090 --> 00:13:12,390 и можемо да одштампате $ број. 167 00:13:12,390 --> 00:13:20,650 Када покренете овај фајл - ПХП-фореацх.пхп-видимо сваки број у посебном реду. 168 00:13:20,650 --> 00:13:26,700 >> Када смо писали Ц кода, често је корисно да организујемо наш код у посебним фајловима. 169 00:13:26,700 --> 00:13:29,170 У ПХП-у, можемо да урадимо исту ствар. 170 00:13:29,170 --> 00:13:33,870 Рецимо да имамо неколико функција у датотеку под називом матх.пхп. 171 00:13:33,870 --> 00:13:38,900 Ако желим да користе те функције у другој ПХП датотеци, као цалцулатор.пхп, 172 00:13:38,900 --> 00:13:44,110 Ја могу да користе ПХП рекуире_онце () функцију. 173 00:13:44,110 --> 00:13:47,110 Рекуире_онце је као # инцлуде. 174 00:13:47,110 --> 00:13:52,050 Када је дао путању до фајла, он у суштини ће копирај садржај 175 00:13:52,050 --> 00:13:54,930 те датотеке у текућој датотеци. 176 00:13:54,930 --> 00:14:00,150 Рекуире_онце обезбеђује да сваки фајл се укључује у постојећи фајл само једном, 177 00:14:00,150 --> 00:14:05,680 који могу бити од помоћи ако имате велику колекцију ПХП фајлове који захтевају међусобно. 178 00:14:05,680 --> 00:14:07,750 Хајде да погледамо пример. 179 00:14:07,750 --> 00:14:12,620 Овде имамо колекцију функција које сам желите да користите у другом фајлу. 180 00:14:12,620 --> 00:14:14,990 Хајде да погледамо како можемо да их користимо. 181 00:14:14,990 --> 00:14:20,700 На линији 3, ми смо захтевају матх.пхп. 182 00:14:20,700 --> 00:14:27,170 "__ДИР__ 'Је посебан константа која представља текући директоријум 183 00:14:27,170 --> 00:14:33,440 јер матх.пхп и цалцулатор.пхп се налазе у истом директоријуму. 184 00:14:33,440 --> 00:14:38,010 Након што ми захтевамо матх.пхп, можемо користити функције 185 00:14:38,010 --> 00:14:41,690  као да смо их дефинисали у цалцулатор.пхп. 186 00:14:41,690 --> 00:14:47,440 Хајде да ово са 'ПХП цалцулатор.пхп ". Сјајно! 187 00:14:47,440 --> 00:14:50,880 >> То је за наш увод синтаксе ПХП. 188 00:14:50,880 --> 00:14:53,700 Да бисте сазнали више, погледајте ПХП.нет. 189 00:14:53,700 --> 00:14:59,470 ПХП има много уграђених функција, а срећом његова документација је стварно супер. 190 00:14:59,470 --> 00:15:02,680 Моје име је Томи, а то је ЦС50. 191 00:15:02,680 --> 00:15:04,680 [ЦС50.ТВ] 192 00:15:04,680 --> 00:15:14,000 >> Носач ..., ја сам из собе. Дођавола! Ово је последњи видео где сам користити велике речи у коду.