[Powered by Google Translate] [PHP Syntax] [Tommy MacWilliam] [Harvard University] [Ito ay CS50.] [CS50.TV] Sa video na ito, gagamitin namin ipakilala PHP - isa sa mga wika lilikha kami ng paggamit sa CS50 bilang namin paglipat sa web development. PHP nakatayo para sa PHP Hypertext Processor, o PHP Hypertext Processor Hypertext Processor, at makikita ko ihinto doon. PHP ay isang recursive acronym, na sa palagay ko ay talagang kasindak-sindak. Kaya, sabihin isulat ang 'kumusta mundo' sa PHP, na kung saan ay maging isang bit naiiba kaysa sa 'kumusta mundo' sa C na namin malaman at pag-ibig. Sa halip na lumikha ng isang file na tinatawag na hello.c, lilikha kami ng hello.php. Ang lahat ng aming mga PHP code ay nakapaloob sa pagitan ng . Kung kami ay may anumang PHP code na matatagpuan sa labas ng mga delimiter, hindi ito maisagawa. Maaari naming magkaroon ng maraming ng mga bloke PHP bilang gusto naming sa loob ng isang solong file na PHP. Sa PHP walang pangangailangan para sa isang pangunahing pag-andar. Sa halip, ang aming PHP code ay tumakbo sa pagkakasunud-sunod ng paglitaw nito sa aming PHP file. Parehong C at PHP ay may 'printf' function na para sa outputting data. Ngunit sa PHP, hindi namin kailangang # isama ang anumang mga file na header tulad standardIO.h. Iyon ay dahil sa PHP hindi namin ay kino-compile ang aming code. Kapag kami ay nagsulat C code sa aming workflow tended upang ma-pagbubukas up isa o higit pa. c o. h file, pagbabago sa kanila, kino-compile ang mga ito, at tumatakbo ang mga nagresultang binary. Tingnan ang compiler video para sa higit pang impormasyon tungkol sa prosesong ito. Hindi tulad ng C, PHP ay isang kahulugan - sa halip na pinagsama-sama - wika. Iyon ay nangangahulugan na ang PHP code isulat namin ay tatakbo sa pamamagitan ng isang espesyal na programa na tinatawag na isang interpreter, na kung saan ay sa i-execute ang aming code. Upang patakbuhin ang aming PHP code, ipapadala namin ito sa kahabaan sa PHP interpreter na pangasiwaan ang pagpapatupad nito, sa halip na kino-compile ito sa machine code. Ating tingnan ang interpreter sa pagkilos. Susubukan naming buksan up ng isang terminal at patakbuhin ang PHP utos kasunod ang path sa PHP file na nais naming patakbuhin. Susubukan naming sabihin, 'php hello.php'. At doon kami pumunta. Mayroong ang output ng aming PHP programa. Hindi namin kailangan upang ipunin ang aming PHP file sa lahat. Sa halip, nagkaroon kami ng isa pang programa - ang PHP interpreter - isakatuparan ang sourcecode na aming sinulat. PHP ay maaaring makagawa ng higit pa kaysa lamang printf. Sabihin sumulat ng ilang mas kumplikadong mga programa sa PHP. Ang syntax para constructs - kung gusto, iba pa, habang, para sa, at lumipat - ay pareho sa PHP at C. Tulad C, bawat isa sa mga constructs ay gumagamit ng tirante upang maghiwalay ang kanilang katawan, at tulad ng sa C, ang bawat linya isulat namin dapat magtapos sa isang tuldok-kuwit; gayunpaman, variable ay paghawak ng kaunti naiiba sa PHP. Una, ang lahat ng mga variable sa PHP ay dapat magsimula sa ang dollar sign. Mukhang Medyo kakaiba sa una, ngunit magkakaroon ka ng masanay dito. Pangalawa, PHP ay isang maluwag-type na wika na nangangahulugan na hindi mo kailangang tahasang ilista ang uri ng variable na kapag lumikha ka ng ito. Saan sa C kailangan mo upang sabihin int x = 5; o pansamantalang trabaho y = 'isang'; sa PHP maaari lamang namin sabihin $ x = 5; at $ y = 'isang';. Ang parehong naaangkop sa mga function. Sa halip na sinasabi int f () {ang katawan ng aming mga function na}, sa PHP kami ng pagpunta sa sabihin function na f () {ang katawan ng aming mga function na}. Hindi namin kailangang tahasang tukuyin ang return uri ng aming mga function na f. Function sa PHP din ay walang upang ibalik ang parehong uri sa tuwing ang mga ito ay pinaandar. Halimbawa, maaari naming magsulat ng isang function na nagbabalik ng hindi totoo sa isang error at isa pang uri kung ito magtagumpay. Ito ay maaari ring makakatulong sa amin na magsulat sa higit pang generic na mga function. Halimbawa, maaari naming magsulat ng isang solong function na add na makakabalik isang integer kung 2 integer ay binibigyan o isang Float kung 2 kamay ay binibigyan. Sa C, gusto namin kailangan upang magsulat ng 2 magkahiwalay na mga function upang magawa ito. Habang nasa C gumagamit kami ng payo para sa isang taasan at mga string, hindi namin magagawang upang gamitin ang mga payo sa PHP. Sa halip, parehong array at mga string ng mga built-in na mga uri sa PHP. Ang mga ito ay binuo pakanan papunta sa wika. Upang lumikha ng isang array sa PHP maaari naming sabihin, $ Isang = array (1, 2, 3); o mas lamang $ isang = [1, 2, 3];. Maaari naming index sa array na ito gamit ang parehong syntax na aming ginamit sa mula sa C. Upang makuha ang unang elemento namin sinasabi, $ isang [0];. PHP din ay may built-in na suporta para sa mga nag-uugnay array. Nag-uugnay array ay tulad lang ng hash istraktura ng talahanayan ng data na nasaksihan namin - map ang mga ito ng isang susi sa isang halaga. Ating tingnan ang isang halimbawa. Maaari naming sabihin, $ kawani = ["magtuturo" => "David", "tf" => "tommi"];. Dito, Mayroon akong isang nag-uugnay array na may 2 key - tagapagturo at tf. Ang double-arrow, o katumbas ng mas malaki-kaysa-, ay ginagamit upang paghiwalayin ang isang susi at ang mga katumbas na halaga. Kaya, ang halaga ng $ kawani ["tf"] ay ang string "tommi". Ang mga halaga ng isang nag-uugnay array - tulad ng anumang iba pang mga array - ay maaaring maging ng anumang uri. Halimbawa, maaari naming sabihin, $ kawani = ["magtuturo" => "David", "tfs" => ["tommi", "looban"]];. Ngayon ang halaga ng 'tfs' ay isang array. Iyon ay nangangahulugan na ang mga halaga sa loob ng isang nag-uugnay array ay maaaring maging ng iba't-ibang uri. PHP array Hindi rin magkaroon ng isang nakapirming haba, upang maaari naming idagdag o alisin ang mga elemento mula sa isang array. Sabihin nating mayroon kaming isang simpleng array tulad ng $ isang = [1, 2, 3];. Upang magdagdag ng bagong elemento sa array na ito, maaari naming sabihin, isang $ [] = 4;. Ngayon ang aming mga array ay binubuo ng apat na mga sangkap - [1, 2, 3, 4]. Pagkuhang muli na kung gusto naming gawin ang isang bagay tulad nito sa C, gusto naming magkaroon upang magtalaga ng isang buong bagong array, kopyahin ang mga nilalaman ng aming unang array sa ito, at pagkatapos ay itakda ang huling elemento ng bagong array sa aming bagong halaga. Ito ay lubhang mas madaling sa PHP. Kung ang aming array ay isang nag-uugnay array, Maaari lamang namin tukuyin ang isang bagong key upang lumikha ng isang elemento kung ito ay hindi pa umiiral. Kung mayroon namin ang aming mas maaga array - $ tauhan - maaari naming sabihin $ kawani ["kabuuang"] = 3;. Ngayon kami ay may isang bagong key sa ang halaga ng 3. Upang makuha ang numero ng mga elemento sa isang array, maaari naming gamitin ang 'count' function. Kung sabihin namin, magbilang ($ a);, na magkakaroon ng isang halaga ng 4. Sa PHP, maaari naming lumikha ng mga string ng paggamit double o single quote, kaya pareho ng mga variable na ito ay mga string. $ S1 = "string"; $ S2 = 'isa pang string';. Ano ang pagkakaiba sa pagitan ng dalawang? Well, ito ay medyo pangkaraniwan sa nais na isama ang halaga ng isang variable sa loob ng isang string. Ang isang paraan upang gawin ito ay magiging upang gamitin ang tuldok operator PHP, ang saan concatenates string. Maaari naming gawin ang isang bagay tulad na ito - $ N = 5; $ s = 'n ay' $ n.;. Narito ang aming n variable ay isang integer. Ngunit kapag kami pagdugtungin ito ng isang string, PHP ay awtomatikong nagko-convert ito sa isang string para sa amin. O maaari naming gamitin lamang ang double quote upang ilagay ang mga variable sa string mismo. Maaari naming sabihin, $ s = "n ay $ n";. Ngayon ang halaga ng $ s ay magiging 'n ay 5'. Kung ginagamit namin single quote sa halip, tulad ng sa $ s = 'n ay $ n'; ang halaga ng s ay magiging 'n ay $ n';. Ang halaga ng mga n ay hindi substituted kung ginagamit namin single quote, ngunit ito ay magiging kung gumagamit kami ng double quotes. Kung gusto naming gamitin double quote para isama ang halaga ng isang array sa isang string, kakailanganin naming isama ang kulot tirante sa paligid ng array, tulad nito - $ S = "{$ kawani ['kabuuan']}";. Natin ngayon tumingin sa isang maliit na snippet sa C at i-translate ito sa PHP. Dito, kami ay lumikha ng isang function na ang mga print out ang mga titik ng isang string, isang character sa bawat linya. Tayo'y gawin ang parehong bagay sa PHP. Una, kakailanganin naming ang aming PHP delimiter. Kapag nililikha namin ang aming mga pag-andar, hindi namin kailangan upang tukuyin nito return uri o mga uri ng argumento nito. Ang aming mga variable ay dapat ring magsimula sa isang dollar sign. Strlen function na PHP ay nagbibigay sa amin ang haba ng isang string, tulad lamang ni C strlen ay nagbibigay sa amin ang haba ng isang string. Sa ilalim ng hood bagaman, ang mga function ay talagang isang bit iba't ibang dahil ang isang string ay isang built-in na uri sa PHP. Ang syntax ng aming 'para sa' loop ay pareho. Sa PHP, maaari rin naming gamitin ang array pagtatanda na i-access ang mga character ng isang string. Maaari naming na ngayong gamitin ang function na naka-print upang i-print out ang bawat titik ng string. Sa print function na PHP, hindi namin kailangang mag-alala tungkol sa mga placeholder - tulad ng% d% o c - kapag gusto naming i-print ang isang variable na ay hindi isang string. Sa halip, maaari naming lamang pumasa sa isang variable ng anumang uri sa mga function na pag-print, at ito ay mako-convert sa isang string at ipinapakita. At na ito! Natin ngayon patakbuhin ang aming mga file na may 'php print.php'. At naroon ang output ng nakita natin mula sa aming mga C programa. PHP din ay sumusuporta sa isang bumuo ng tinatawag na 'foreach' loop. Ang 'foreach' loop ay katulad lamang ng isang 'para sa' loop, ngunit nagdadagdag ito ng kaunting sintaktik asukal upang gumawa ng mga bagay na mas nababasa. Dito, kami ay ang paglikha ng isang bagong array na tinatawag na '$ array'. Ngayon ay maaari naming sabihin, foreach ($ array bilang $ number), at maaari naming i-print out $ number. Kapag nagpatakbo namin ang file na ito - php foreach.php--namin maaaring makita ang bawat numero sa sarili nitong linya. Kapag kami ay nagsulat C code, ito ay madalas na kapaki-pakinabang upang ayusin ang aming code sa hiwalay na mga file. Sa PHP, maaari naming gawin ang parehong bagay. Sabihin nating mayroon kaming ilang mga function sa isang file na tinatawag na math.php. Kung gusto kong gamitin ang mga function sa isa pang file na PHP, tulad ng calculator.php, Maaari ko bang gamitin ang PHP ni require_once () function. Require_once ay katulad lamang ng # include. Kapag naibigay na ng isang landas sa isang file, ito ay lubos na kopyahin at i-paste ang mga nilalaman ng file na iyon papunta sa kasalukuyang file. Require_once tinitiyak na ang bawat file ay kasama papunta sa kasalukuyang file nang isang beses lamang, na maaaring maging kapaki-pakinabang kung mayroon kang isang malaking koleksyon ng mga PHP file na nangangailangan ng bawat isa. Ating tingnan ang isang halimbawa. Narito kami ay may isang koleksyon ng mga pag-andar na gusto kong gamitin sa isa pang file. Tayo'y tumingin sa kung paano namin maaaring gamitin ang mga ito. Sa linya 3, kami ay nangangailangan ng math.php. Ang '__DIR__' ay isang espesyal na pare-pareho na kumakatawan sa mga kasalukuyang direktoryo dahil math.php at calculator.php ay matatagpuan sa parehong directory. Pagkatapos kinakailangan namin math.php, maaari naming gamitin ang mga function  bilang kung namin ang iyong tinukoy ang mga ito sa calculator.php. Natin patakbuhin ito sa 'php calculator.php'. Magaling! Iyan na ang lahat para sa aming panimula sa PHP ni syntax. Upang malaman ang higit pa, tingnan ang PHP.net. PHP ay may maraming mga built-in na pag-andar, at sa kabutihang-palad nito dokumentasyon ay talagang mahusay. Ang pangalan ko ay Tommy, at ito ay CS50. [CS50.TV] ... Bracket, ako ay sa labas ng kuwarto. Diyablo! Ito ang huling video na kung saan gumamit ako ng malaking mga salita sa code.