[Powered by Google Translate] [ПХП синтакса] [Томми МацВиллиам] [Универзитет Харвард] [Ово је ЦС50.] [ЦС50.ТВ] У овом видеу, ми ћемо увести ПХП - један од језика који ћемо користити у ЦС50 као што смо прелазак на веб развој. ПХП је скраћеница за ПХП Хипертект Процессор, или ПХП Хипертект Хипертекст Процесор Процесор, и ја ћу зауставити. ПХП је рекурзивна скраћеница, што мислим да је стварно супер. Дакле, хајде да напишемо "Здраво свете" у ПХП-у, који ће бити мало другачији од "Хелло Ворлд" у Ц који смо дошли да знамо и волимо. Уместо креирања фајл који се зове хелло.ц, ћемо створити хелло.пхп. Сви наши ПХП код ће бити налази између <пхп и?>. Ако имате ПХП кода који се налази изван ових раздвајати наводницима, неће извршити. Можемо имати многе од тих блокова ПХП јер желимо унутар једне ПХП датотеке. У ПХП-у нема потребе за главну функцију. Уместо тога, наш ПХП код ће бити покренути у редоследу се појављује у нашем ПХП фајлу. Оба Ц и ПХП имају 'принтф' функцију за добијање података. Али у ПХП-у, не треба да се укључи # све датотеке заглавља као стандардИО.х. То је зато што у ПХП нећемо бити састављања наш код. Када смо писали Ц код наше тока тенденцију да се отвара један или више Ц или.. х датотеке, мења их, скупљајући их, и ради добијену бинарни. Погледајте видео компајлери за више информација о овом процесу. За разлику од Ц, ПХП је тумачи - уместо саставио - језик. То значи да ПХП код пишемо ће се покренути кроз посебан програм под називом преводилац, која ће се претворити у наш код извршава. Да бисте покренули наш ПХП код, ми ћемо га пошаљете заједно са ПХП преводиоца који ће носити његово извршење, уместо састављања је на машински код. Да видимо преводиоца у акцији. Ми ћемо отворити терминал и покрените команду ПХП следи путању до ПХП фајлу желите да покренете. Ми ћемо рећи, 'ПХП хелло.пхп ". И тамо идемо. Постоји излаз из нашег ПХП програма. Ово нам није требало да саставимо нашу ПХП датотеку уопште. Уместо тога, имали смо још један програм - ПХП преводилац - изврши Соурцецоде да смо написали. ПХП може да уради много више него једноставно инт. Хајде да напишем неке сложеније програме ПХП. Синтакса за конструкције - ако желите, друго, док је за, а прекидач - је исти у ПХП и Ц. Као и Ц, сваки од ових конструкција користи протезу да одредите своје тело, и баш као у Ц, свака линија пишемо мора да се заврши са зарезом; Међутим, променљиве се рукује мало другачије у ПХП-у. Прво, све променљиве у ПХП мора почети са знаком долара. Изгледа мало чудно у почетку, али ћете се навићи на то. Друго, ПХП је лабаво-куцани језик што значи да не морате да се експлицитно наведе тип променљиве када га креирате. Где у Ц ти треба да кажете инт к = 5; Чар или и = ''; у ПХП можемо једноставно да кажемо $ к = 5; и $ и = '';. Исто се односи и на функције. Уместо да кажете инт ф () {тело наше функције}, у ПХП ћемо рећи функција ф () {тело наше функције}. Ми не треба да се експлицитно навели тип повратка наших функцију ф. Функције у ПХП такође не морају да се врате на исти тип сваки пут када су погубљени. На пример, можемо написати функцију која враћа труе на грешке и још један тип ако успе. Ово такође може помоћи да напише више генеричке функције. На пример, можемо да напишем ниједну функцију адд који може да врати цео број 2, ако цели бројеви су дати или ако пловак 2 пловци су дате. У Ц, нам треба писати 2 одвојене функције да се то уради. Док у Ц користимо савете за повишице и гудаче, нећемо бити у могућности да користе показивачи у ПХП. Уместо тога, оба низови и стрингови су уграђене типове у ПХП. Оне су конструисане право на језик. Да бисте направили низ у ПХП-у, можемо рећи, $ = Арраи (1, 2, 3); или више једноставно $ = [1, 2, 3];. Можемо индекс у овом низу користећи исту синтаксу које смо навикли из Ц. Да бисте добили први елемент ћемо рећи, $ [0];. ПХП такође има уграђену подршку за асоцијативних низова. Асоцијативни низови су исто као и хасх података структури табеле смо већ видели - они мап кључ у вредност. Хајде да погледамо пример. Можемо рећи, $ особље = ["инструктор" => "Давид", "ТФ" => "Томми"];. Ево, ја имам асоцијативни низ са 2 кључа - инструктор и ТФ. Двапут стрелица, или једнако-веце, се користи да одвоји кључ и његову одговарајућу вредност. Дакле, вредност $ особља ["ТФ"] је стринг "Томми". Вредности асоцијативним низа - као било која друга низу - може бити било које врсте. На пример, могли бисмо рећи, $ особље = ["инструктор" => "Давид", "поздрав" => ["Томи", "Роб"]];. Сада је вредност "ТФС" је низ. То значи да су вредности унутар једног асоцијативног низа бити различитих типова. ПХП такође низови немају фиксну дужину, тако да можете додати или уклонити елементе из низа. Рецимо да имамо једноставан као низ $ = [1, 2, 3];. Да бисте додали нови елемент у овом низу, можемо рећи, $ [] = 4;. Сада наш низ се састоји од четири елемента - [1, 2, 3, 4]. Подсетимо се да ако смо хтели да урадимо овако нешто у Ц, ми би морали да издвоје потпуно нови низ, копирате садржај нашег првог низа у њу, а затим поставите последњи елемент новог низа нашем новом вредношћу. Ово је много лакше у ПХП-у. Ако је наш низ је асоцијативни низ, можемо једноставно да дефинишете нови кључ за креирање елемент Ако још увек не постоји. Ако имамо наш претходни низ - $ особље - можемо рећи $ особље ["укупно"] = 3;. Сада имамо нови кључ са вредношћу од 3.. Да би се број елемената у низу, можемо користити 'цоунт' функцију. Ако кажемо, цоунт ($), који ће имати вредност 4. У ПХП-у, можемо креирати помоћу жице двоструке или једноструке наводнике, па обе ове променљиве су жице. $ С1 = "стринг"; $ с2 = 'други стринг';. Која је разлика између ова два? Па, то је уобичајено да се жели да се укључи вредности променљиве унутар стринга. Један од начина да се то уради је да се користи ПХП дот оператера, који цонцатенатес Стрингс. Могли смо да урадимо нешто овако - $ Н = 5; $ а = 'н' $ н.. Овде је наша променљива н је цео број. Али када смо га повезати у облику ланца са низом, ПХП ће га аутоматски конвертовати у стринг за нас. Или ми једноставно могу да користе двоструке наводнике да стави у променљиву се ниска. Можемо рећи, $ а = "н $ н";. Сада се вредност $ а ће бити 'н је 5'. Ако користите уместо једноструке наводнике, као у $ а = 'н $ н'; вредност ће бити с 'н $ н';. Вредност н неће бити замењен, ако користимо једноструке наводнике, али то ће бити ако користимо дупле наводнике. Ако желимо да користимо дупле наводнике да укључи вредност низа у низу, ћемо морати да укључи витичасте заграде око низа, као што је овај - $ А = "$ {особље ['укупно']}";. Хајде сада да погледамо малог фрагмента у Ц и превести га у ПХП. Овде, креирамо функцију која исписује слова у низу, један знак по линији. Хајде да урадимо исту ствар у ПХП. Прво, треба нам наше ПХП раздвајати наводницима. Када смо креирали нашу функцију, ми не треба да одредите своју повратни тип или врсту свог аргумента. Наш променљива с мора почети са знаком долара. ПХП функцију стрлен нам даје дужину стринга, баш као Ц стрлен нам даје дужину стринга. Испод хаубе ипак, ове функције су у ствари мало другачије пошто стринг је уграђена типа у ПХП. Синтакса наше 'за' петље је исти. У ПХП-у, можемо користити нотацију низа за приступ знакове у низу. Сада можемо користити функцију штампања да одштампате свако слово у низу. Са штампања ПХП, не треба да бринете о чувара места - као%% д или ц - када желимо да одштампате променљиву која није ниска. Уместо тога, можемо једноставно да прође променљиву једног типа у штампања, и то ће бити конвертован у стринг и приказују. И то је то! Хајде да сада покренути нашу датотеку са 'ПХП принт.пхп ". А ту је и излаз смо видели из нашег Ц програма. ПХП такође подржава конструкт назива 'фореацх петљу ". Тхе 'фореацх петља' је као 'за' петље, али додаје мало шећера синтаксичким да се ствари више читљиве. Ево, да стварамо нови низ под називом '$ низ'. Сада можемо рећи, фореацх ($ низ као $ број), и можемо да одштампате $ број. Када покренете овај фајл - ПХП-фореацх.пхп-видимо сваки број у посебном реду. Када смо писали Ц кода, често је корисно да организујемо наш код у посебним фајловима. У ПХП-у, можемо да урадимо исту ствар. Рецимо да имамо неколико функција у датотеку под називом матх.пхп. Ако желим да користе те функције у другој ПХП датотеци, као цалцулатор.пхп, Ја могу да користе ПХП рекуире_онце () функцију. Рекуире_онце је као # инцлуде. Када је дао путању до фајла, он у суштини ће копирај садржај те датотеке у текућој датотеци. Рекуире_онце обезбеђује да сваки фајл се укључује у постојећи фајл само једном, који могу бити од помоћи ако имате велику колекцију ПХП фајлове који захтевају међусобно. Хајде да погледамо пример. Овде имамо колекцију функција које сам желите да користите у другом фајлу. Хајде да погледамо како можемо да их користимо. На линији 3, ми смо захтевају матх.пхп. "__ДИР__ 'Је посебан константа која представља текући директоријум јер матх.пхп и цалцулатор.пхп се налазе у истом директоријуму. Након што ми захтевамо матх.пхп, можемо користити функције  као да смо их дефинисали у цалцулатор.пхп. Хајде да ово са 'ПХП цалцулатор.пхп ". Сјајно! То је за наш увод синтаксе ПХП. Да бисте сазнали више, погледајте ПХП.нет. ПХП има много уграђених функција, а срећом његова документација је стварно супер. Моје име је Томи, а то је ЦС50. [ЦС50.ТВ] Носач ..., ја сам из собе. Дођавола! Ово је последњи видео где сам користити велике речи у коду.