Doug LLOYD: Allura konna isir ħafna xogħol fis-C, u C hija verament jibred lingwa minħabba li tagħtik l-abbiltà li adsa verament livell baxx fil-programmi tiegħek. Nikbru biex tagħmel affarijiet kif verament minuta kif timmanipula bytes individwali ta 'memorja. Recall li pointers verament inessu li l-flessibilità. Imma aħna dejjem jeħtieġ li jkollhom dak il-livell fine-grain ta 'dettall fil-programmi tagħna? Probabbilment le, id-dritt? U jekk aħna qed tmur biex ikollhom tpattija bejn li tkun jistgħu jagħmlu tassew, tassew affarijiet minuta u tassew, tassew affarijiet kbar li aħna ma jkollhomx biex jaħsbu dwar, aħna ma jkollhomx biex jimplimentaw dawn l-ideat verament kbir jekk dawn qed diġà mibnija għalina, ġeneralment għall-bini big programmi jew proġetti kbar, aħna qed probabbilment se jkun jiffavorixxi s- talli Jittieħed aktar lingwa mibnija għalina, minflok li l-għalf ta 'livell baxx. U li fejn PHP verament jasal fil. Issa, waħda mir-raġunijiet li aħna jgħallmu PHP fil CS50 hija li huwa ispirat ħafna mill C. U fil-fatt, fil-fehma tiegħi, hemm verament żewġ lingwi proġenituri li huma komuni ħafna llum. C u LISP. U dawn qed lingwi proġenituri għaliex kull ipprogrammar modern oħra lingwa li żviluppat minn dakinhar hija ispirata minn waħda jew l-sintattikament oħra. PHP hija simili ħafna sintattikament sa C, filwaqt lingwi bħal Iskema, per eżempju, li inti tista smajt ta ', huwa ispirat ħafna mill lingwa imsejħa LISP, li hija lingwa anzjani. Allura r-raġuni aħna jgħallmu PHP fil CS50 huwa li, billi jkun jaf C bħala fundamentalment kif inti tagħmel f'dan il-punt, picking up PHP, li tagħtik l- ħila li jagħmlu affarijiet livell ferm ogħla minn C ma, mhuwiex li ħafna ta 'ostaklu, għaliex inti diġà għandhom l- idea bażika tal-sintassi. C kien madwar għal kważi 45 sena f'dan il-punt. PHP kien madwar għal madwar 20 sena. U f'dak il-25 sena bejn, programmaturi iddeterminat li kieku ħafna pjuttost jkollhom abilitajiet ta 'livell ogħla, u l-iżbalji u ġlidiet tal-20 sena fl bejn wassal għal PHP u lingwi moderni oħra. Għażla kbira PHP ta ' lingwa għal softwer li allow-- għall software that-- fejn inti bżonn tagħmel affarijiet li fil C huma attwalment ikkumplikati. Hekk per eżempju, li jaħdmu ma kordi fis-C hija kkumplikata ħafna, għaliex kif nafu, kordi fis-C huma verament ftit arrays ta 'karattri. Mhuwiex tip ta 'dejta mibnija fil. Jew forsi b'mod iktar fundamentali, xi ħaġa li aħna lanqas ikopru b'mod Ċ, dak jekk inti għandek bżonn tagħmel xi netwerking tal-kompjuter? Kull dritt? C għandu l-abbiltà biex tagħmel dan, iżda huwa hekk arcane u għalhekk diffiċli biex fil-fatt jagħmlu. Ma Ikun sbieħ jekk il- lingwa kellhom mibnija fil-mod faċli biex jimplimentaw netwerking? U PHP hija lingwa li jagħmel dan, jew tiffaċilita li, pjuttost ftit aktar. As I said, PHP huwa ħafna ħafna ispirat minn C. Is-sintassi hija simili ħafna. U għalhekk għandu nisperaw jagħmlu l- transizzjoni minn waħda għall-oħra ftit aktar artab minn xi lingwi oħra jista 'jkun. Biex tibda tikteb PHP, biss tiftaħ fajl bl-estensjoni fajl PHP. Teknikament dan mhux attwalment meħtieġa, imma jekk inti tixtieq affarijiet simili sintassi u tenfasizza b'mod IDE, hekk dak it-tip ismijiet, jew ismijiet varjabbli, il-funzjonijiet, tafu, il-kliem kjavi tal-lingwa huma enfasizzati fil- kulur speċifiku, inti ġeneralment tixtieq li l-isem fajls tiegħek ma ' estensjoni partikolari fajl. Allura konna jismu fajl tagħna ma 'PHP estensjoni, iżda mbagħad wkoll ma PHP, l-kodiċi PHP aħna jikteb f'dik fajl għandu jiġi mehmuż f'dawn PHP delimiters li naraw hawn fuq l-iskrin. Bracket angolu? PHP biex tibda. Imbagħad aħna tikteb kollha ta 'PHP tagħna kodiċi li rridu bejniethom. U allura? bracket angolu li tagħlaq. Jekk aħna ma tagħmel dan, allura x'inhu jiġri? Huwa mhux se crash. Huwa mhux se verament rovina programm tagħna. Iżda mhux se jkollhom l-effett li rridu. X'hemm jiġri, verament, huwa li meta aħna tipprova u run dan il-programm, kollox ma 'dawk delimiters bejn se jiġu stampati verbatim. Huwa mhux se fil-fatt tesegwixxi l-kodiċi, li għaddej biex biss ipprintjaha verbatim. Issa għaliex huwa l-każ? Allura C huwa dak magħruf bħala lingwa ikkompilati. Int probabilment familjari ma ' il-pass ta 'kif issir programmi tiegħek, tidwir-fajls .c u l-fajls .h fi eżekutibbli waħda ma għamla, partikolarment bl-użu Clang bħala kompilatur tagħna. PHP, għalkemm, ma jkollhom din ekwivalenti. PHP huwa dak li jissejjaħ lingwa interpretat. U xi jfisser? Ukoll, dan ifisser aħna ma jkollhomx biex jikkonvertu kodiċi tas-sors tagħna li żerijiet u dawk qabel. Pjuttost, hemm programm, li tissejjaħ ukoll PHP, li jifhem PHP u jistgħu xorta ta 'jagħmilha fuq il-fly. Li mhux verament eżattament preċiża, imma hija analoġija pjuttost tajba ta 'dak li qed jiġri. Huwa interpretazzjoni dawk zeroes u dawk fuq il-fly. U għalhekk jekk ma tkunx taf kif il-proċess xi ħaġa, jekk ma tkunx taf kif PHP proċess, inti probabilment riedu li tikkontesta din test fil hemm, id-dritt? You probabbilment riedu biex tpoġġi l-kodiċi fil hemm, anke jekk mhuwiex bejn PHP-- l delimiters PHP. But-- hekk mhuwiex ser li tħassar dan għalik, huwa biss se bażikament armiha. Allura li għaddej biex jistampaw it out għall-iskrin. Dan jidher simili huwa ħażin ħaġa, imma attwalment huwa se tkun verament Ħaġa tajba, kif aħna ser tara meta nitkellmu dwar Iżvilupp tal-web PHP, għaliex dan ikun ifisser li nistgħu intersperse PHP u HTML. Nistgħu jużawhom flimkien biex toħloq il-paġna web aktar dinamiku. Iżda aktar fuq li fil- video fuq web iżvilupp PHP. Allura x'inhi l-sintassi ta PHP? Dak hu li dan il-video hija kollha madwar. Ejja nitkellmu dwar dan. Allura biex tibda, varjabbli. Jeżistu varjabbli PHP. Hemm biss żewġ big differenzi mill C. L-ewwel hija li hemm ebda specifier tip. Aħna ma jkollhom jgħidu int, char, float, dak kollu li Jittieħed. Aħna ma għandek tagħmel dan aktar. PHP hija lingwa moderna. Hija tista 'ċifra barra dak li int tipprova tagħmel jew jagħmlu l-aħjar raden dwar dak li qed tipprova tagħmel. Allura dak pjuttost sbieħ. Il-ħaġa oħra hija li l-varjabbli ismijiet għandhom jibdew ma 'sinjal dollaru. Li jinsab biss xi ħaġa biex jidraw. Huwa ftit stramb, għaliex huwa tant li PHP jista 'jifhem x'hemm varjabbli u dak li mhux. Allura kull isem varjabbli jibda b'sinjal dollaru. Għalhekk fl C nistgħu ngħid xi ħaġa bħal dan, int x = 54. Aħna ma jkollhom jagħmlu dan aktar fil-PHP. Nistgħu biss jgħidu $ x = 54. U nistgħu ngħidu, per eżempju, fis-C, jekk kellna lira inklużi l .h CS50 fajl header, nistgħu ngħidu frażi string = "Dan huwa CS50." Aħna ma jkollhom biex tagħmel dan fil-PHP, għalkemm. Nistgħu biss jgħidu $ frażi = "Dan huwa CS50." U fil-fatt, spag issa huwa tip data built-in fil-PHP, jew pjuttost PHP jifhem dak string hu. Huwa separata minn firxa ta 'karattri simili huwa fil C. Kollha favoriti tiegħek dikjarazzjonijiet kondizzjonali minn C għadhom disponibbli għalik għall-użu. Allura l-ebda tranżizzjoni big hemmhekk. Nistgħu say-- li jista 'jkollna jekk dikjarazzjonijiet bħal dan. jekk $ y 43, jew $ Z = 15. Allura dak pjuttost sempliċi. Jista 'jkollna jekk u ieħor. Jista 'jkollna jekk u ieħor jekk. U avviż xi ħaġa pretty sbieħ hawn, u dan huwa tip ta 'waħda minn dawk vantaġġi ta 'PHP versus C, avviż liema funzjoni aħna mhux qed jużaw hawn? Aħna qed jużaw == li tqabbel varjabbli, $ isem, għal string. Aħna ma setgħux jagħmlu dan fis-C, id-dritt? Kellna biex jużaw funzjoni msejħa StrComp jew StrEndComp jew kwalunkwe kuġini relatati tiegħu. U hekk diġà naraw dawn il-vantaġġi. Aħna ma jkollhom jagħmlu xi ħaġa kif iblah jew forsi unintuitive bħala sejħa funzjoni msejħa StrComp jekk I biss jixtiequ jittestjaw jekk valur huwa ugwali għal string. I tista 'biss tuża ugwali ugwali, bħal I jistgħu jagħmlu xi ħaġa oħra. Allura hemm xi vantaġġ. Kultant, mill-mod, inti tista ' tara inkella kelma jekk bħala waħda, elseif. U li OK fil-PHP ukoll. Allura xi kultant inti tista 'tara dak. Mhuwiex typo. PHP attwalment jifhem elseif. I do not know għaliex ddeċidiet li timplimenta li, imma kif aħna stajt tidher ħafna drabi matul videos tagħna s'issa, aħna programmaturi imħabba jekk nistgħu nagħmlu l-affarijiet malajr, hekk jwarrbu dak l-ispazju hija apparentement ta 'vantaġġ kbir. Allura dak jekk u elseif. Għandna wkoll l-operatur ternarji, recall marka kwistjoni kolon, għall-formola verament qasir jekk inkella jew kondizzjonali fergħat. U apparentement, f'dan, dak li aħna qed tipprova tagħmel hawnhekk huwa jassenja l-varjabbli $ ittra jew vera jew falza, skond jekk $ var huwa karattru alfabetiku. Allura dan huwa pjuttost simili għall isalpha li aħna qed familjari mal mit C. Dan huwa tip ta 'l-ekwivalenti fil-PHP. Il-funzjoni hija apparentement imsejħa ctype_alpha, iżda li kif nagħmlu dan fil-PHP. Allura dan kollu se tkun qed, jekk $ var hija ittra, $ ittra huwa veru. Jekk $ var mhix ittra, $ ittra hija falza. Għandna wkoll dikjarazzjonijiet swiċċ xorta. Infakkru dawk minn C kif ukoll. Fuq nett hemm, li kif nagħmlu xi ħaġa bħal get int jew tikseb string. Allura PHP li mibnija. M'għandniex bżonn l-librerija CS50 aktar. Nistgħu biss tuża l-readline funzjoni. What li għaddej biex tagħmel hu print l-messaġġ, "l-istat tiegħek, jekk jogħġbok, "u mbagħad Teptip fil-pront stennija għall-utent għall-input xi informazzjoni. Issa avviż x'iktar nistgħu nagħmlu ma 'swiċċ. Jekk inti ħadthom użati qabel, inti tista 'tfakkar li swiċċ huwa limitat pretty ħafna għall interi u karattri, iżda issa nistgħu nużaw kordi. U fil-fatt, id-dikjarazzjoni swiċċ fil-PHP huwa pjuttost ftit aktar flessibbli minn ku tagħha mill C. Loops. Eżatt bħal conditionals, kollha ta ' Favourites qadim tiegħek għadhom hemm. Għandna filwaqt loops li l-għadd 1-100 f'dan il-każ. Aħna tagħmel waqt loops li għadd 1-100, u għandna għal-linji li għadd 1-100. Allura l-ebda qabża kbira hemmhekk. Is-sintassi hija pjuttost ħafna eżattament l-istess, ħlief issa aħna qed jużaw dollaru sinjal varjabbli minflok li tiddikjara varjabbli numru sħiħ jew xi ħaġa bħal dik għall-bankijiet tagħna. Hawn fejn l-affarijiet jiksbu ħafna aħjar minn C, għalkemm. Arrays. Allura recall meta konna jitkellem dwar C, sabiex għalina biex jikbru u tiċkien settijiet ta 'informazzjoni, għandna bżonn biex issolvi nuqqas ta ' għal din l-idea ta 'lista marbuta, minħabba arrays C ġew iffissati fid-daqs. Aħna ma tista 'tiċkien minnhom. Aħna ma tista 'tikber minnhom. Kellna li jerġgħu jiġu allokati memorja u tagħmel dan kollu dimenzja jew jużaw listi marbuta, li jieħdu pjuttost ftit aktar spazju. Iżda fil-PHP, arrays huma ma tkunx iffissata fid-daqs aktar. Huma jistgħu jikbru u jistgħu tiċkien. Għalhekk għal darb'oħra, dawn l-20 sena li kienet teżisti bejn l-ewwel ħruġ ta 'C u l-ewwel PHP rilaxx, aħna iddeċieda li, tafu, ikun verament kbir jekk nistgħu nagħmlu dan. U hekk aħna implimentaw din. Allura arrays PHP mhumiex fissi fil daqs, u minħabba PHP ma verament ikollhom programmer front-tiffaċċja kunċetti ta 'tipi, nistgħu taħlita tipi ta 'data fil arrays tagħna, wisq. Allura aħna ma jkollhomx biex tuża l interi jew punti kollha f'wiċċ l-ilma, nistgħu jkollhom taħlita ta 'kollha tipi differenti fil-firxa waħda. Tiddikjara firxa hija pjuttost sempliċi. Huwa biss bħal kull varjabbli ieħor. nums $ = array (1, 2, 3, 4), array huwa funzjoni li l-mibnija fil PHP li se toħloq firxa għalik. Dan joħloq firxa ta 'erba' valuri, numri f'dan il-każ, imsejħa nums $. U hemm aktar minn mod wieħed biex tagħmel dan. U aħna qed tmur biex tara dan ħafna fil-PHP. PHP ġiet żviluppata minn ħafna differenti nies u tikber u tikber u tikber. Hemm normalment mhux biss tnejn jew tliet modi biex tagħmel xi ħaġa fil-PHP, hemm normalment simili 10 jew 20. Hawn biss ieħor komuni mod biex tiddikjara firxa. nums $ = parentesi 1, 2, 3, 4 kwadru. Allura dan huwa tip ta 'simili għal angolu C br-- notazzjoni Brace kaboċċi, pjuttost. $ - jew ikun nums Int kwadru parentesi ugwali Brace kaboċċi 1, 2, 3, 4. Fil PHP huwa nums $ = kwadru parentesi 1, 2, 3, 4. Iżda dawn iż-żewġ eżempji hawn jagħtu me firxa ta 'erba f'dan il-każ interi. X'jiġri jekk I tixtieq li tindi xi ħaġa fuq issa? Well I jistgħu biss jgħidu $ nums 4, li għal darb'oħra, aħna qed għadhom qed jgħoddu minn 0 hawn fil-PHP, ikun il-ħames element tad-array. I tista 'biss jgħidu li. Jien ma jmur biex jbatu minn seg tort, minħabba firxa tiegħi huwa biss ser jikber biex jakkomodaw dan. Li pretty sbieħ, right? U fil-fatt, jien ma anki ħtieġa li tispeċifika fejn nixtieq li tqiegħed lilha. I tista 'biss jgħidu dan u biss tindi dan id-dritt fuq il-għan, jew I jistgħu anki sempliċement jgħidu nums $ 20 jew 1000. Hija ma verament kwistjoni. Huwa għadu biss ser tindi dan id-dritt fuq l-aħħar. So I jistgħu jikbru, u as-- aħna qed mhux ser tkun koperta fil hawn, imma nista splice jew strixxa Elementi barra mill-firxa kif ukoll, u l-firxa se tiċkien biex jakkomodaw li l-ispazju issa nieqsa jew vojta. Hemm mod ieħor biex tindi xi ħaġa fuq firxa, li huwa funzjoni msejħa array_push. Għalhekk għal darb'oħra, biss din l-idea li tkun jistgħu jagħmlu affarijiet f'ħafna modi differenti. Allura aħna stajt tidher tliet modi differenti issa li tindi element ieħor fuq firxa. Allura dan iżid element ieħor sa l-aħħar tal-firxa nums $. U nistgħu ħallat tipi ta 'data tagħna. So I jista 'jkollhom firxa ta' mhux 1, 2, 3, 4, iżda 1, vera, 3, 4, fejn vera hija Boolean, u mbagħad jekk irrid li tindi fuq element ieħor għal dak array, forsi string, l-sekwenza "ħames," I jistgħu jagħmlu dan. U issa firxa tiegħi kieku jkun 1, vera, 3, 4, ħamsa. Il-kelma ħames, mhux l-eqreb numru sħiħ 5. Allura ħafna ta 'flessibilità hemmhekk. Il-flessibbiltà gets anki aħjar, għalkemm, minħabba PHP għandha l-appoġġ għal xi ħaġa imsejħa firxa assoċjattiva. U aħna tip ta 'vagament tkellmu arrays dwar assoċjattiva fis-C fil-kuntest ta 'tabelli hash, minħabba liema arrays assoċjattiva huma verament kollha dwar qed jagħmlu ewlenija mappings par valur. U f'dan il-każ, il-keys-- jekk aħna qed familjari mal arrays minn C, l-ċwievet huma numri indiċi. 0, 1, 2, 3. U l-valuri huma dak insibu li firxa 0, array 1, array 2, u l-bqija. Allura l-ċwievet huma indiċi, u l-valuri huma dak li huwa f'dak il-lok firxa, speċifikati minn dak l-indiċi. Iżda fil-PHP, aħna ma għandekx tagħmel dan kunċett ta 'firxa 0, array 1, array 2 aktar. Aħna issa jistgħu jużaw kliem attwali Mappa ċwievet għall-valuri. U hekk nista 'ngħid xi ħaġa bħal din. I tista 'toħloq firxa tuża l- bracket sintassi kwadru kif ġej. $ pizez = bracket kwadru "ġobon" u mbagħad dan it-tip ta 'notazzjoni vleġġa doppja, 8.99, "pepperoni," vleġġa 10.99-- 9.99, u l-bqija. U hekk x'inhu għaddej hawn? What am I fil-fatt jagħmlu? Jien ħolqien mappings ewlenin par valur. Allura minflok ta 'tgħid, per eżempju, pizez 0, biċċiet 1, pizez 2, I issa 'ngħid pizez ġobon, pizez pepperoni, u jirreferu għall-valuri assoċjati magħhom. Allura hawnhekk huma ċ-ċwievet tagħna fl-aħdar. Ġobon, pepperoni, ħaxix, tiġieġ buflu. Hawn hu l-vleġġa li jagħmel dan mapping ewlieni par valur. U allura hawnhekk huma l-valuri f'dak il-post array. Allura huwa simili qal firxa 0 ugwali 8.99. Il-muftieħ huwa ta '0. Il-valur huwa 8.99. I issa 'ngħid ġobon firxa, jew f'dan każ ġobon pizez, ġobon huwa essenzjali, u dak I ssib fil ġobon pizez huwa 8.99. Dik hija l-valur li nsib hemm. So I tista 'tgħid affarijiet simili. ġobon $ pizza = 7.99. Say Jien jkollhom bejgħ. Irrid dis-- nixtieq li tinżel il-prezz tal-pizza ġobon. Jew I jistgħu jużaw l-ħxejjex pizza bħala parti minn kundizzjoni, jew I tista 'żżid element ġdid li tiegħi firxa, bħad I tista 'tagħmel qabel. I tista 'żżid element ġdid għal dan array assoċjattiva il-formula "bacon" u l-valur 13.49. Iżda dan it-tip ta jintroduċi problema, jekk inti taħseb dwarha għat-tieni. Kif aħna jtenni permezz ta 'dan array? Dritt? Fl C, aħna se biss ikollhom għall loop, tipikament, li imur minn 0 sa l- daqs tal-array minus 1. Il-firxa għandha elementi n f'mill, il indiċi validi huma 0 sa n minus 1. Allura aħna tista 'tuża għall-loop biex pass permezz ta 'kull element wieħed. Iżda li mhux verament il-każ aktar, id-dritt? Issa fejn għandna par valur ewlieni mappings fejn il-ċwievet huma kliem, kif nistgħu jtenni fuq kollha tal-kliem? Ukoll, fortunatament, PHP mod biex jittrattaw ma 'dan ukoll, u hekk aħna ser jaqbżu lura għal-linji għat-tieni li tintroduċi r-raba 'tip ta' loop li teżisti PHP tissejjaħ loop foreach. U liema loop foreach ma huwa huwa bażikament l-istess idea. Tista 'tagħmel użu minnha għal kwalunkwe tip ta' firxa. Imma hija bażikament l- istess idea bħala għall loop, ħlief minflok li jużaw numri ta 'indiċi, inti biss jkollhom din sintassi stramb fejn inti sejħa kull element wieħed isem għall-finijiet ta 'dan loop. Allura f'dan il-każ, foreach ($ array kif $ ċavetta). Bażikament, kif li l-karti kumment, ġewwa ta 'dan loop foreach, huwa se jmorru fuq kull waħda element ta '$ array, li huwa tipikament se tkun firxa assoċjattiva, iżda tista 'verament tkun xi tip ta' firxa li trid fil PHP. U kull darba li a għal loop inti tista qalu $ array parenteżi kwadri $ i, inti tista 'biss jgħidu $ ewlenin. Allura li $ ewlenija isir alias għal kull indiċi ta 'firxa tiegħek assoċjattiva PHP, u għalhekk inti tista 'tuża dan bħal dik. Hekk per eżempju, konna issa ltqajna pizez firxa tagħna. Stajt tip ta 'tucked dan fil-kantuniera hemm hekk nistgħu nużaw biex jagħmlu eżempju malajr. Jekk ngħid foreach ($ pizez bħala $ pizza), ukoll, dak li qed jiġri? Well, jien ser jtenni permezz ta 'kull element wieħed ta 'l-pizez firxa $, u billi jagħmlu dan, jien ser sejħa kull element, meta jien ġewwa tal-korp ta 'dak għall loop, $ pizza. Allura dak it-tip ta ' stand-in, irtirar, li $ pizza huwa stand-in biex tgħid pizez $ parentesi kwadri $ i jekk konna jużaw għall loop, fejn aħna tista 'tmur minn $ i = 0 sa, f'dan il-każ, $ i = 3. Jekk aħna ma kellhiex pari b'valur ewlenin hawn, dan ikun element 0, 1, 2, 3, u aħna ser jużaw għal loop li jmorru $ pizez 0, $ pizez 1, $ 2, pizez $ pizez 3. Allura issa ftit $ pizza hija tissostitwixxi għal dak ċavetta individwali. Allura dak li huwa dan se jistampa? Jien stampar ta $ pizza. What am I ser issib at-- jekk I jistampa $ pizez, $ i? Dritt? Jekk jien ser jistampa l-element ith ta pizez, dak am I morna għall-istampa? Jien ser jistampa l- Valuri f'dak il-post, id-dritt? Simili jekk aħna kienu qed jagħmlu dan fil-kuntest ta 'C, aħna ma normalment jużaw iterator tagħna varjabbli, int i = 0, i huwa inqas minn 3, i ++, biex jistampa 0, 1, 2, 3. Aħna istampar out firxa 0, firxa 1, array 2, array 3. U iva, liema dan prints out hija din. Hu l-lista tal-prezzijiet. 8.99, 9.99, 10.99, 11.99. Issa nota ta 'malajr hawn. A loop foreach mhux bilfors jistampa affarijiet fl-ordni. Mhuwiex garantit. Normalment ma. Huwa normalment ibbażat fuq l-ordni li liema elementi huma miżjuda mal-firxa, hekk biss dan f'moħħhom. Jista 'ma jkunx fl-ordni. Iżda loop foreach se jtenni madwar kull element wieħed mill-firxa in kwistjoni. F'dan il-każ, għal darb'oħra, li array huwa $ pizez. I jistgħu jibdlu l-sintassi, għalkemm, jekk Irrid kemm iċ-ċavetta u l-valur. Minflok qal pizez $ kif $ pizza, nista 'ngħid dan. U jekk inti tħares lejn dak li stajt enfasizzat fl-aħdar hawn, jidher qisu mapping ewlieni par valur. U hekk jekk you-- anke jekk m'intix totalment ċert dak li għaddej biex jagħmlu, inti tista 'probabbilment raden li $ topping huwa għaddej li jkun iċ-ċavetta f'dan il-każ u prezz $ se jkun il-valur. Hekk jien tissostitwixxi issa kull element ta '$ pizez bħala par valur ewlieni, u issa I tista 'tirreferi għall-ċavetta u il-valur, li jista 'fil handy, per eżempju, kif ġej. "A sħiħ" - dan huwa ħafna istampar għaddej here-- "A sħiħ" topping "pizza ispejjeż $" prezz, u mbagħad I jistampa perjodu u n backslash. Allura issa, avviż għal darb'oħra I jkollhom aċċess għal ewlieni, $ topping, u valur, prezz $. Allura inti tista raden dak li dan se jistampa? Hemm ħafna ta 'dikjarazzjonijiet istampar, imma hemm biss backslash n waħda, hekk li għaddej biex jistampaw xi ħaġa fuq l entire-- fuq linja waħda tal-kodiċi. Jekk I tista 'tirreferi lill-muftieħ u l-valur, allura issa, minflok sempliċiment tkun tista biex jistampa l-prezzijiet, I tista 'jistampa xi ħaġa bħal din. "A pizza ġobon kollu ispejjeż $ 8.99." U issa jien jużaw kollha ta 'l-keys-- ġobon, pepperoni, ħaxix, buflu chicken-- u l-valuri. 8.99, 9.99, 10.99, 11.99 So li jinsab biss b'mod differenti li tagħmel loop foreach li minflok biss jagħtik aċċess għall-valuri, hija biss jagħti you-- li tagħtik aċċess għall-ċwievet u l-valuri. Allura stampar ta 'informazzjoni. Stajt diġà għamlu dan ftit modi differenti, inti jista 'jkollok ndunat. Iż-żewġ funzjonijiet konna primarjament jidhru huma print u eku. U għal pretty ħafna kull fini u skopijiet, dawn qed eżattament l-istess. They're-- hemm sottili ħafna differenza li lanqas worth jkollna fis, imma bażikament kullimkien inti tista 'tuża print inti tista' probabbilment tuża eku ukoll. U li mhux l-uniku tnejn. PHP għandha ħafna ta 'differenti modi biex jistampa affarijiet out, u għandha wkoll modi biex jintegraw varjabbli fil-nofs ta 'sekwenza. Allura lura mit C, do you tiftakar dak funzjoni nistgħu nużaw biex tissostitwixxi varjabbli fis-affarijiet li rridu li jistampa? You probabbilment tuża dan funzjoni pjuttost ħafna. printf, id-dritt? Allura dan huwa dak li kellna qabel ġewwa tal-kuntest tal loop foreach tagħna. Kellna dawn il-ħames dikjarazzjonijiet separati istampar, minħabba li kienet l-unika mod I really kien jaf fiż-żmien kif jistampa messaġġi. I ma kinux jafu kif biex jintegraw il- $ varjabbli topping fis kodiċi PHP tiegħi. Ukoll, jekk I biss ħa raden selvaġġi, printf, huwa ħadmu effettivament se. printf hija funzjoni li nista 'nuża fil-PHP, bħad I jistgħu jużawha fil C. U hekk xi ħaġa bħal din, printf, għal darb'oħra, aħna qed familjari ma 'dak. L-ewwel% s huwa mibdul mal-valur ta '$ topping. It-tieni% s huwa mibdul mal-valur tal-prezz $. U hekk jien interpellating, li huwa biss mod fancy ta 'tgħid jien teħel il varjabbli fis f'dak il-post. Hekk jien ħofor fil $ topping fejn il aħmar% s huwa u $ prezz fejn il-blu% s huwa, u mbagħad I se tikseb il-messaġġ, "A pizza ġobon kollu ispejjeż $ 8.99." Mhux l-uniku mod I tista 'tagħmel dan, għalkemm. Forsi I tixtieq li tuża dan il-metodu. Dan huwa attwalment dak l-aktar komunement imsejħa interpellation varjabbli. I jistgħu jużaw eku. I jistgħu jużaw print wisq, kif Ser naraw. Imma dak li qed jiġri hawn? L-ewwelnett, ikolli jaħarbu l-sinjal dollaru. Minħabba ftakar, meta konna fil-fatt istampar l-prezzijiet tal-pizez, I kien attwalment ifformattjar bħala b'ċifri monetarji b'sinjal dollaru. Iżda aħna qed tuża sinjali dollaru wkoll li jirrappreżenta ismijiet varjabbli fil-PHP, u b'mod partikolari meta jien jużaw dan il-metodu ta 'l-kaboċċi Brace varjabbli Metodu interpellation, I bżonn jaħarbu sinjal dollaru tiegħi għalhekk ma think jien jitkellem dwar varjabbli. Huwa ser fil-fatt, litteralment stampar ta 'sinjal dollaru. Allura tip ta 'analogize lill dak li tara fl-aħħar hemmhekk. Ma attwalment print backslash n, id-dritt? Hija prints out karattru linja ġdida. Dan is-- mhuwiex se print sinjal dollaru backslash, li għaddej biex jistampa biss karattru sinjal dollaru. Istess idea. Jaħarbu sekwenzi, dak dawn l-affarijiet huma msejħa. Imma avviż li jiena ma nagħmilx kwalunkwe tip ta '% s sostituzzjonijiet, Jien biss litteralment fejn jitwaħħal fil dawn il-varjabbli. U hekk fl this-- x'jista 'jiġri hawn huwa li l-valur ta '$ topping-- mill-ġdid, biss iż-żamma ma 'dak li aħna kont qed jitkellem dwar ġobon hekk far-- se tikseb pplaggjat fil hemmhekk. U l-prezz $ ikun x'ikun valur huwa fil pizez, parentesi kwadri, ġobon, li kien 8.99. U għalhekk dan ikun ukoll jistampa "A pizza ġobon kollu ispejjeż $ 8.99." U bħal I said, I jistgħu jużaw print hawn minflok eku, u l-funzjonalità tkun pretty ħafna eżattament l-istess. Ikun jistampa l-istess ħaġa. Hemm mod ieħor biex tagħmel dan, u dan huwa vantaġġ ieħor ta PHP ħidma ma kordi. Nistgħu nagħmlu konkatenazzjoni sekwenza. Stajna nagħmlu dan fis-C, wisq, użu ta 'funzjoni msejħa strcat, iżda għal darb'oħra, kellna biex sejħa funzjonijiet separati. Kien dan mess kollu li tagħmel. Kellna biex lira jinkludu string.h. Kienet produzzjoni, id-dritt? Imma issa I tista 'biss tuża dan l-operatur dot li concatenate kordi flimkien. Hekk jien concatenating "A sħiħ" u imbagħad ikun x'ikun il-valur ta '$ topping huwa, u mbagħad ieħor spag, "spejjeż pizza $" u mbagħad concatenating x'ikun il-valur tal-prezz $ hija, u mbagħad fl-aħħar nett jien klassifikazzjoni hija stabbilita fuq perjodu backslash n. U hekk dan ikun ukoll jistampa "A sħiħa" - għal darb'oħra, jekk aħna qed jitkellem dwar l-ewwel element ta 'dik array-- pizez "A pizza ġobon kollu ispejjeż $ 8.99." Perjodu, backslash n, għal darb'oħra, ma il- $ topping u $ prezz jissostitwixxi għal dak li kellna speċifikat fl foreach tagħna loop bħala l-immappjar ċavetta par valur. PHP jistgħu jimmaniġġjaw funzjonijiet. Funzjonijiet kienu tip ta ' integrali sa C, kif rajna. Bħal varjabbli, ma kellniex bżonn biex ispeċifika t-tip ritorn tal-funzjoni, minħabba li ma verament kwistjoni. U aħna ma jispeċifikawx il- tipi ta 'data ta' xi parametri, għaliex ma verament kwistjoni, bħal Rajna fil-PHP. Kull funzjoni hija introdotta bil-keyword funzjoni. Li kif aħna jindika lill PHP li dak li aħna qed jitkellem dwar huwa funzjoni. U aħna ma jkollhomx biex jittrattaw prinċipali fil-livelli kollha, minħabba li l-interpretu, il-PHP interpretu, xogħlijiet minn fuq għal isfel, indipendentement. Jekk jidhrilha inti tista 'tagħmel sejħa funzjoni, dan ser tmur issib is-sejħa funzjoni, anki jekk tiġi l-aħħar. Iżda li għaddej biex jaqra minn fuq għal qiegħ, hekk aħna ma bżonn li jispeċifikaw, hawn fejn tibda. Tibda fuq il-linja 1 ta 'tiegħek PHP u x-xogħol isfel minn hemm. Allura hawnhekk hija kif aħna se toħloq funzjoni msejħa hard_square. Huwa apparentement tieħu waħda parametru, li jien ssejjaħ $ x. Din il-funzjoni hija kkumplikata biss biex juru affarijiet varji. Għad għandna valuri ritorn. Jien jużaw għall loop hawn. Iżda huwa bażikament biss, dak li dan jammonta għal huwa biss $ x drabi $ x. Dak li jien fil-fatt jagħmlu huwa sempliċement tiżdied x għal 0 x ħinijiet jew $ x biex żero ħinijiet $ x. Imma hija effettivament eżattament l- istess bħal multiplikazzjoni $ x drabi $ x. I xorta jistgħu jirritornaw valur, f'dan il-każ $ riżultat, u stajt għamel funzjoni PHP. Ara kif inti tista 'tagħmel użu minnha fil-kuntest. Hekk forsi jien ġewwa ta 'xi fajl PHP. Avviż bil-blu hemmhekk li Stajt użati delimiters PHP tiegħi, bracket angolu trade mark in kwistjoni PHP. Fil bejn dawn huma kollha il PHP li nixtieq li tikteb. Hekk jien apparentement ser get-- Jien ser pront lill-utent li tagħti me numru, maħżen li varjabbli, jaħżnu f'dak varjabbli $ x, kull ma tatni. Imbagħad jien ser eku hard_square ta 'dak il-valur, u dan milli jidher, li tindi fuq linja ġdida kif ukoll, u mbagħad aktar tard I ser jiddefinixxu l-funzjoni hard_square hekk li meta I jagħmlu l- sejħa għall hard_square, huwa jaf dak li nkun qiegħed jitkellem dwar. Issa, I jistgħu wkoll jagħmlu xi ħaġa bħal din. Dan huwa kemmxejn differenti. Huwa kważi eżattament l- istess bħal dak rajna qabel, ħlief minflok ta 'tgħid ftit $ x hemm bħala l-parametru li hard_square, Jien qal $ x = 10. Allura dan huwa eżempju ta ' programmazzjoni difensiva, għassa programmi tiegħek kontra l-utenti malizzjużi. Dan huwa mod wieħed biex tagħmel xi żball verifika li aħna ma verament jkollhom bħala għażla C. Nistgħu qatt tispeċifika l-valur ta 'default ta' xi ħaġa. Aħna dejjem kellha tivverifika jekk il-, per eżempju, jekk għamilna sejħa għal GetString, kien aktar xierqa jekk immedjatament wara we ċċekkjati dan, aħna ċċekkjati jekk il-sekwenza li l-utent tawna mhuwiex ugwali għal nulla, għaliex aħna ma jridu jibdew taħdem bi string null. Hawnhekk, dan huwa mod biex iħarsu kontra dan. Jekk l-utent ma tawniex xi ħaġa b'xi, dak li aħna se jagħmlu? Well, aħna ser biss jgħidu dak kollu huma ma tawniex, aħna qed biss se plagg fil-10 minflok. Mela jekk dawn ma tagħtina valur, biss użu 10 fil-kontumaċja. U hekk hawn, avviż li jien jagħmlu Sejħa għall-hard_square, iżda hemm ebda pront lill-utent, id-dritt? Jien biss tagħmel sejħa vojta. Iżda funzjoni tiegħi hard_square qed tistenna parametru. X'inhu dan se jistampa? Huwa ser jistampa 100, id-dritt? Minħabba li l-utent ma tagħti me xejn. U hekk jien biss ser jassumi li 10-- 10 huwa l-valur ta 'default. U għalhekk dan ikun jistampaw out 100 fuq il-linja tagħha stess. Fajls PHP ma għandekx jkun biss f'fajl wieħed. Tista 'tikkombina fajls multipli flimkien, bħad inti tista 'fil C. Il-mod għamilna li C kien tipikament do a #include tikseb fajls header jinġibed. Aħna ma tagħmel dan fil-PHP. We do xi ħaġa imsejħa require_once. U allura hemm dan kollu ħaġa, x'hemm dan __dir__? Li jinsab biss speċjali varjabbli, jew kostanti speċjali, tassew, li tispeċifika liema direttorju kurrenti tiegħek huwa. U hekk li għaddej biex tfittex fl-direttorju kurrenti tiegħek għal fajl imsejjaħ cs50.php f'dan l-eżempju hawn, u li għaddej biex twaħħal dan il-fajl fil-quċċata tal-programm PHP tiegħek, jekk wieħed jassumi li inti tpoġġi l-bżonn ladarba linja fil-quċċata tal-fajl PHP tiegħek. Allura PHP hija użata primarjament, iżda mhux esklussivament, bħala lingwa għall-ipprogrammar web-based. Li tassew kif beda jiġi. Iżda huwa sħiħa lingwa, kif aħna stajt tidher. Rajna pretty ħafna l-affarijiet kollha li tista 'tagħmel dan huma simili għal C, u tista 'tagħmel Heck ta ħafna aktar minn dak. Iżda għaliex dan huwa lingwa sħiħ u aħna tista 'tagħmel programmazzjoni linja tal-kmand fiha. Aħna tista 'taħdem programmi linja ta' kmand. Kollha li meħtieġa biex tmexxi kmand programm line li l-miktub fil-PHP huwa li inti għandek interpretu PHP. Allura huwa tip ta 'analogi għal li jkollhom kompilatur fis-sistema tiegħek jekk inti tixtieq li jikkompilaw kodiċi C tiegħek biex dan isir fajls eżekutibbli. Ikollok bżonn li jkollhom interpretu PHP li teżisti fis-sistema tiegħek sabiex inti tista 'tinterpreta fajls PHP. Jekk wieħed jassumi inti tagħmel, u normalment dan interpretu huwa msejjaħ PHP, u huwa normalment marbuta mal-maġġoranza downloads jew installazzjonijiet ta PHP li tista 'tikseb online, u ċertament l-isem tal-interpretu PHP għandna fil CS50, IDE. Kulma għandek tagħmel huwa fajl PHP tip. U s liema program tiegħek ser tagħmel hu li huwa ser tgħaddi minn ġos l-interpretu, huwa ser jinjoraw dak kollu li l- mhux bejn kwistjoni mark-- jew, marka kwistjoni parentesi angolu PHP, l delimiters PHP, u ipprintjaha, u se jinterpretaw u jesegwixxi l- kodiċi ta 'ġewwa tal delimiters PHP tiegħek. Mela ejja pop quddiem għall IDE CS50 u agħti ħarsa lejn koppja ta 'fajls PHP, tmexxija ta 'koppja ta' fajls PHP, fil linja ta 'kmand interface tal IDE CS50. Allura aħna qegħdin hawn fil IDE CS50, u stajt ħadet il-libertà ta jiftħu fajl imsejjaħ hello1.php. U apparentement, il-kontenut ta 'dan fajl huma biss l-delimiters PHP hemm, u fl bejn, eku ("hello, dinja"). Dan huwa programm PHP pretty sempliċi. Jien biss ser iscroll tieqa terminal tiegħi hawn, u jien ser tip PHP hello1.php, hit jidħol. Hello dinja. Li probabbilment dak li konna jistennew li tagħmel, right? Ejja ħa mmorru u jieħdu ieħor tħares lejn programm. hello2.php. Pjuttost l-istess ħaġa, mhux ħafna jiġri hawn fuq. Din id-darba, għalkemm, jien ser pront l-utent li tagħti me ismijiet tagħhom. Jien jużaw dik il-funzjoni readline mill-ġdid. $ isem = readline. Dik hija l--pront, "X'jismek?" Apparentement Jien istampar fuq linja tagħha stess. U mbagħad, sabiex il-linja li hemm isfel li se jkun fil-pront fejn l-utent jista 'jidħol isem tagħhom. U mbagħad jien jużaw ftit ta ' interpellation varjabbli hawn fuq il-linja 3 biex jistampa "Hello" u ikun x'ikun it-tipi utent. Allura dan huwa simili għal qal, Hello, comma,% s kieku konna jużaw printf fil C. Mela ejja go u jinterpretaw dan il-programm. Għalhekk għal darb'oħra, jien ser iscroll down tieqa terminal tiegħi. hello2.php PHP. X'inhu l-isem tiegħek? Doug. Hello, Doug. Għandi wkoll ieħor fajl imsejħa hello3.php. Jien ser ċara tiegħi iskrin bl Kontroll L, u jien ser tesegwixxi dan. X'inhu l-isem tiegħek? Doug. Hello, Doug. Allura l-imġieba hija identika għal hello2.php, iżda għaliex hi hello3.php? Well, hawn l-differenza. F'dan il-każ, l-avviż li fuq il-linja 1 hawn, Għandi xi ħaġa li mhux fl bejn il-delimiters PHP. Jien biss istampar out-- jew I biss ittajpjat, "X'jismek?" Meta l-interpretu PHP jara dan, m'għandha l-ebda idea kif għandha tkun interpretata bħala PHP, u hekk minflok ta 'nuqqas, huwa biss se bżiq out. Allura avviż fuq il-linja 3 issa, sejħa tiegħi għal readline, hemm ebda pront aktar. Jien biss attwalment għaddejjin to-- meta l-interpretu PHP jara dan, li għaddej biex jistampa "X'jismek?" Imbagħad jara, oh, OK, here's-- kull ħaġa oħra se tkun interpretat bħala PHP, hekk hu għalhekk li din taħdem. I m'għandhomx neċessarjament pront l to-- utent ġewwa tal readline, I tista 'biss jkollhom it barra mill-delimiters PHP u jippermettu l-interpretu għal ftit ipprintjaha għalija. Allura inti ma attwalment biss ikollhom li jkollhom sett wieħed ta 'delimiters PHP fil-programm tiegħek. Inti tista 'attwalment jkollhom diversi minnhom, ftuħ u għeluq minnhom kif meħtieġ. Mela ejja tagħti ħarsa lejn koppja ta 'programmi fil IDE CS50 fejn aħna juru din l-idea ta 'wara settijiet multipli ta 'PHP delimitata. OK, hekk stajt fetħet fajl hawn imsejjaħ add1.php. U avviż dak li qed jiġri hawn. Eżatt bħal qabel, għandi PHP wieħed sett ta 'delimiters. Jien ser jistampa l- messaġġ, "Jekk jogħġbok agħti me numru." Imbagħad jien ser taqra linja u jaħżnuh fil-$ varjabbli num1. Imbagħad jien ser jistampa mill-ġdid. Agħti me tieni numru. Aqra linja mill-utent, maħżen liema jkunu ittajpjat fil fl $ num2. Żid flimkien u jaħżnu dik jirriżulta fi varjabbli imsejjaħ $ somma, u mbagħad jistampa, "Il- somma ta 'dawn iż-żewġ numri huwa, "u mbagħad interpellate hemm il-$ varjabbli somma. Mela ejja biss run dan permezz tal-interpretu biex jikkonferma li dan huwa dak li nistennew. add1.php PHP. Jekk jogħġbok agħti me numru, 3. Jekk jogħġbok agħtini t-tieni numru, 4. Is-somma ta 'dawn iż-żewġ numri hija ta' 7. C'est 3 flimkien ma '4. KOLLOX SEW? Allura xejn terriblement fancy hemmhekk. U issa ejja jiftħu add2.php. Hawnhekk, stajt ltqajna koppja ta 'PHP settijiet delimitata hemm, id-dritt? Linji 1, 3-- linji 1 u 3 m'għandhom l-ebda delimiters PHP. Allura meta l-interpretu jarhom, huwa biss ser bżiq out eżattament dak I ittajpjat hemmhekk. Allura dak fejn jien tagħmel kollha suġġeriment tiegħi. Fuq linji 2 u 4, naraw il-ħafna $ familjari? php tip ta 'delimiters, hekk dawn iż-żewġ linji huma ser tesegwixxi bħala PHP. U mbagħad fuq il-linja 5, I jkollhom din ħaġa stramb dritt hawn, id-dritt? Dan bracket angolu kwistjoni marka sinjal ugwali. I ser anki zoom ftit aktar. Tista 'tara dan huwa dak li jien jitkellem dwar id-dritt hemmhekk, dan $? =. Jirriżulta li huwa tant komuni li r-raġuni li aħna jiftħu sett ta 'PHP delimiters huwa li jistampa valur. U li kollox aħna qed tmur biex tagħmel. Iżda hemm anke qosor għal dak. $? = Hija shorthand PHP biex tgħid xi ħaġa simili $? PHP eku-somma tal num1 u num2. Allura dan huwa biss ieħor shorthand għal dan. Mela jekk I run dan il-programm, add2.php PHP. I ser zoom isfel ftit. Jekk jogħġbok agħti me numru, 4. Jekk jogħġbok agħtini t-tieni numru. U peress li jien ma verament jimpurtak tipi ta 'data fil PHP, nista' ngħid 4.8. Is-somma ta 'dawn iż-żewġ numri hija 8.8. Dik il-funzjoni iġib ruħu pretty ħafna eżattament l-istess kif aħna nistennew, kif ukoll. And I jkollhom waħda aktar miftuħa up here imsejħa dice.php. Ipprova dan mill-ġdid. Jiena għandi iktar waħda hawn imsejjaħ dice1.php, li wkoll, ara, għandha din id-domanda bracket angolu jimmarkaw notazzjoni sinjal ugwali fil hemm, iżda tinnota li f'dan il-każ jien sejħa tal-rand funzjoni, li kif inti jistenna jiġġenera numru bl-addoċċ. "You rrumblati," u li għaddej biex jikkalkulaw xi numru bl-addoċċ, mod 6 + 1. Allura li ser tagħti me numru fil-medda bejn 1 u 6. Ftakar li mod 6 jagħtu me numru fil-medda ta '0 sa 5, imma jekk jien jissimulaw f'rombli dice, li huwa dak li qed nagħmel hawn, Ma rridx dawn dice li tmur minn 0 sa 5, nixtieq dice li jmorru 1-6. U għalhekk dan huwa mod biex jiksbu lili fil-medda bejn 1 sa 6. Jien tagħmel dan darbtejn. So apparentement I am rolling żewġ dice f'dan il-programm. So I ser ċara iskrin tiegħi, u jien ser tagħmel dice1.php PHP. Inti rrumblati 4 u 2. U jekk I run-programm għal darb'oħra, inti rrumblati 5 u 5. Hekk kull darba I tmexxi l-programm, Jien jkollna numri differenti, għaliex kull darba I do hekk, huwa bidu fuq. Huwa ser jiġġeneraw ġdida sett ta 'numri bl-addoċċ għalija. Allura jekk aħna qed jintużaw biex running programmi minn C, aħna qed jintużaw biex ittajpjar ./ ​​l isem ta 'programm, id-dritt? Li kif aħna ghamilt kollha ta 'programmi tagħna fis-C s'issa. Nistgħu nagħmlu dan fil-PHP kif ukoll billi żżid xi ħaġa imsejħa a shebang għall-quċċata tal-fajl PHP tagħna. Naf huwa tip ta 'kelma iblah. Huwa qasir għall bang hash. Dik hija l-ewwel żewġ karattri hemmhekk. Ftakar nitolbu punt exclamation spiss bang fix-xjenza tal-kompjuter. Hija wkoll tista 'tkun li bang qawwija. Hemm modi koppja biex jinterpretaw dan. Imma hija bażikament tip speċjali tal kmand li l-interpretu PHP jifhem kif, oh, I tixtieq inti teżegwixxi dan il-programm, li hija apparentement / utent / bin / PHP, li huwa attwalment fejn l-interpretu PHP speċifikament ħajjiet fuq is-sistema tagħna. Allura it's-- dak li jiġri hawn huwa l-interpretu jifhem, oh, Jien apparentement suppost għall-użu f'dan il-programm jiddekorri dan il-fajl. U għalhekk tippermetti li inti li skip fuq il-pass ta 'wara li jgħidu something.php PHP. Hemm qabda waħda oħra hawnhekk, li huwa li jekk aħna tixtieq programmi tagħna għall xogħol kif mistenni, aħna bżonn tagħmel xi ħaġa imsejħa bidla permess fajl. U aħna ser go-- u nitkellmu ftit ftit iktar bidliet permess dwar fajl fil-video tagħna fuq MVC, iżda huwa biżżejjed li jiġi jgħidu li dan huwa dak li għandek bżonn tagħmel sabiex jagħmlu tiegħek fajls PHP eżekutibbli. Mela ejja tagħti ħarsa lejn dan bħala Eżempju finali tagħna fuq fil CS50 IDE. Allura hawn fil IDE Għandi żewġ fajls f'dan Direttorju PHP li jidhru li mhux se imsejħa PHP. I jkollhom funzjoni msejħa add-- I jkollhom fajl imsejjaħ ADD3 u fajl imsejjaħ dice2. Mela ejja tagħti quick dehra u jiftħu ADD3. U kif tista 'tara, fil-bidu tal-fajl tiegħi I jkollhom dan shebang, id-dritt? Dan il-punt marka hash exclamation. Issa, inti ser ukoll forsi Avviż li għal xi raġuni, Jien m'għandi l-ebda sintassi tenfasizza aktar, u dan huwa dak I allużjoni għall qabel, li kien li jekk jien ma isem fajl tiegħi PHP, I ma jkollhomx il-benefiċċju tal sintassi tenfasizza aktar. Dan il-fajl huwa biss imsejħa ADD3. B'tali mod li nista run aktar tard ma ./ ADD3 u mhux ./ add3.php. Allura l-reason-- huwa għadu multa, huwa għadu PHP valida, iżda mhux Sintassi enfasizzat, għaliex dan il-fajl mhijiex ikkontestata something.php. Dik hija l-unika differenza reali hawn, flimkien mal-shebang. Mela ejja ara dak li jiġri meta Nipprova u run dan il-programm. ./ ADD3, bħad nixtieq ma C. Bash. ./ Permess ADD3 miċħuda. Dan huwa dak li int ser biex tara jekk tinsa li tuża l-kmand chmod għall-bidla l-permessi tal-fajl. Kif jirriżulta, PHP regolari fajls tista 'mhux biss jiġu esegwiti. Dawn jistgħu jiġu interpretati, iżda aħna qed tagħmel xi ħaġa ftit differenti hawn. Aħna qed eżekuzzjoni tagħha. U so I bżonn li jiżdiedu l-permess ta 'eżekuzzjoni, chmod a + x biex ADD3. Imbagħad nista 'ngħid ./ ADD3. Jekk jogħġbok agħti me numru. 5, 6. Is-somma ta 'dawn iż-żewġ numri hija 11. Bl-istess mod, diġà chmoded dice2, so I tista 'biss tip ./ dice2, inti rolled ta '1 u 1, inti rolled 5 u 4, u l-bqija. Allura dak pjuttost l- idea ta 'sintassi PHP, right? Hemm ħafna li tinkiseb permezz, I know. Iżda nisperaw inti stajt tidher issa li PHP mhuwiex verament li differenti minn C u verament tagħtina l-abbiltà biex jieħdu l-affarijiet up a talja jew tnejn. Aħna ma tantx ikollhom għalfejn tinkwieta wisq about-- aħna ma verament għandekx għalfejn tinkwieta wisq dwar id-dettalji ta 'livell baxx aħna kellhom joqogħdu jinkwetaw dwar il-punt C, id-dritt? Aħna tista 'tiffoka fuq l-ogħla Jittieħed livell li PHP jippermetti li jagħmlu u li jieħdu għal mogħtija li ser jaħdem għalina. Għalhekk tagħtina l-abbiltà issa, transizzjonijiet minn C sa PHP, biex jagħmlu programmi li huma ħafna aktar kumpless u forsi ħafna aktar robusta. So I hope ikollok ħidma gost ma PHP, u jien Doug Lloyd. Dan huwa CS50.