>> DOUG LLOYD: Kwa hiyo tumekuwa amefanya mengi ya kazi katika C,
na C ni kweli baridi lugha kwa sababu anakupa
uwezo wa kupiga mbizi kweli kiwango cha chini katika programu yako.
Sisi kupata kufanya mambo kama kweli dakika kama kufanyia
ka mtu binafsi ya kumbukumbu.
Kumbuka kwamba kuyatumia kwa kweli kuruhusu sisi kwamba kubadilika.
>> Lakini sisi daima haja ya kuwa na kwamba kiwango cha faini nafaka ya kina
katika mipango yetu?
Pengine, sawa?
Na kama sisi ni kwenda na biashara-off kati ya kuwa
uwezo wa kufanya kweli, kweli dakika mambo na kweli, kweli
mambo makubwa kwamba hatuna kufikiri kuhusu, hatuna kutekeleza
hizi mawazo kweli kubwa ikiwa wao uko tayari kujengwa katika kwa ajili yetu,
ujumla kwa ajili ya kujenga kubwa mipango au miradi mikubwa,
sisi ni pengine ni kwenda kupotea kwa upande ya kuwa mambo lugha zaidi kujengwa katika
kwa ajili yetu, badala ya kuwa ngazi ya chini mambo ya ajabu.
Na hapo ndipo PHP kweli inakuja katika.
>> Sasa, moja ya sababu tunazowafunza PHP katika CS50
ni kwamba ni sana aliongoza kwa C. Na kwa kweli, kwa maoni yangu,
kuna kweli mbili Lugha progenitor kwamba
ni ya kawaida sana siku hizi.
C na LISP.
Na wao uko lugha progenitor kwa sababu kila programu nyingine ya kisasa
lugha ambayo ina maendeleo tangu wakati huo ni aliongoza
kwa moja au syntactically mengine.
PHP ni sawa syntactically kwa C, ambapo lugha kama Mpango,
Kwa mfano, ambayo unaweza kuwa na habari za,
ni uzito aliongoza kwa lugha aitwaye LISP, ambayo ni lugha ya zamani.
>> Hivyo sababu sisi kufundisha PHP katika CS50 ni kwamba,
kwa kujua C kama kimsingi kama wewe kufanya katika hatua hii,
kuokota PHP, ambayo inatoa uwezo wa kufanya kiwango cha mambo ya juu sana
kuliko C gani, siyo kwamba sehemu kubwa ya tatizo,
kwa sababu tayari una wazo la msingi la syntax.
C Imekuwa ni kuzunguka kwa karibu Miaka 45 katika hatua hii.
PHP imekuwa karibu kwa miaka 20.
Na kwa kuwa miaka 25 katika kati ya, programmers
kuamua kwamba wangeweza mengi badala ya kuwa na uwezo ngazi za juu,
na makosa na mapambano ya miaka 20 katika kati ya
ulisababisha PHP na lugha nyingine za kisasa.
>> PHP ya uchaguzi mkuu wa lugha ya programu
kwamba allow-- kwa programu that-- ambapo
haja ya kufanya mambo ambayo katika C ni kweli ngumu.
Hivyo kwa mfano, kufanya kazi na masharti katika C
ni ngumu sana, kwa sababu kama sisi kujua, masharti katika C
ni kweli arrays tu ya wahusika.
Siyo kujengwa katika aina data.
Au labda zaidi kimsingi, kitu sisi hawakuwa hata kufunika katika C,
kama unahitaji kufanya kile baadhi ya mitandao ya kompyuta?
Sawa?
>> C ina uwezo wa kufanya hivyo, lakini ni hivyo arcane na hivyo vigumu kwa kweli kufanya.
Je, si ni kuwa nzuri kama Lugha alikuwa kujengwa katika, njia rahisi
kutekeleza mitandao?
Na PHP ni lugha ambayo inafanya kuwa, au kuwezesha hilo, kidogo kabisa zaidi.
Kama nilivyosema, PHP ni sana sana aliongoza na C. syntax ni sawa sana.
Na hivyo ni lazima hopefully kufanya mpito kutoka moja hadi nyingine
kidogo laini kuliko baadhi lugha zingine inaweza kuwa.
>> Kuanza kuandika PHP, tu kufungua faili na php faili ugani.
Kitaalam hii si kweli anahitajika,
lakini kama unataka mambo kama syntax kuonyesha katika IDE, hivyo kwamba aina
majina, au majina kutofautiana, kazi, unajua, maneno ya lugha
ni yalionyesha katika rangi maalum, wewe kwa ujumla
unataka jina mafaili yako na Hasa faili ugani.
Hivyo tumekuwa aitwaye faili wetu na php ugani, lakini basi pia na PHP,
zote PHP kificho sisi kuandika katika kwamba faili ina kuwa iliyoambatanishwa katika hizi PHP
delimiters kwamba sisi kuona hapa kwenye screen.
Pembe mabano php? Kuanza.
Kisha sisi kuandika yote ya PHP yetu kificho kwamba tunataka kati.
Na kisha?
pembe mabano kwa karibu.
>> Kama hatuwezi kufanya hivyo, basi nini kitatokea?
Ni si kwenda kwa ajali.
Ni si kwenda kwa kweli uharibifu mpango wetu.
Lakini si kwenda na athari kwamba tunataka.
Nini kitatokea, kwa kweli, ni kwamba wakati sisi kujaribu na kuendesha mpango huu,
kila kitu si kati ya wale delimiters ni kwenda kuwa kuchapishwa verbatim.
Ni si kwenda kwa kweli nitafanya kificho,
itakuja tu magazeti ya nje verbatim.
>> Sasa kwa nini ni kesi?
Hivyo C ni nini inayojulikana kama lugha ulioandaliwa.
Wewe pengine ukoo na hatua ya kufanya mipango yako,
kugeuka mafaili c na h mafaili ndani ya kutekelezwa moja na kufanya,
hasa kwa kutumia Clang kama mkusanyaji yetu.
PHP, ingawa, haina na hii sawa.
PHP ni kile kinachoitwa kufasiriwa lugha.
Na nini maana gani?
>> Vizuri, ina maana hatuna kubadili chanzo kanuni zetu kwa zeros na ndio
kabla ya wakati.
Badala yake, kuna mpango ni, ambayo pia hujulikana
PHP, kwamba anaelewa PHP na Unaweza aina ya kufanya hivyo juu ya kuruka.
Hiyo ni kweli hasa sahihi, lakini ni mfano nzuri
ya nini kinatokea.
Ni kutafsiri wale zeroes na wale juu ya kuruka.
Na hivyo kama hajui jinsi mchakato kitu,
kama haina kujua jinsi ya mchakato PHP, pengine
alitaka kuweka maandishi kwamba katika huko, sawa?
>> Pengine alitaka kuweka kanuni katika pale, hata kama siyo kati ya PHP--
PHP delimiters.
But-- hivyo si kwenda kufuta ni kwa ajili yenu,
ni tu kwenda kwa kimsingi kuondokana nayo.
Hivyo ni kwenda magazeti hivyo nje screen.
>> Hii inaonekana kama ni mbaya Jambo, lakini kwa kweli ni
kwenda kuwa kweli jambo zuri, kama tutaweza
kuona wakati sisi majadiliano juu ya PHP maendeleo ya mtandao,
kwa sababu ina maana tunaweza intersperse PHP na HTML.
Tunaweza kutumia yao pamoja na kujenga nguvu zaidi mtandao ukurasa.
Lakini zaidi juu ya kwamba katika video juu ya PHP maendeleo ya mtandao.
>> Hivyo ni syntax ya PHP nini?
Hiyo ni nini video hii ni yote juu.
Hebu majadiliano kuhusu hilo.
>> Hivyo kuanza nje, vigezo.
PHP vigezo kuwepo.
Kuna tu kubwa mbili tofauti kutoka C.
Kwanza ni kwamba kuna hakuna aina specifier.
Hatuna cha kusema int, Char, kuelea, mambo ambayo yote.
Hatuna kufanya hivyo tena.
PHP ni lugha ya kisasa.
Ni inaweza kufikiri nini wewe ni kujaribu kufanya au kufanya bora
nadhani kama yale wewe ni kujaribu kufanya.
Hivyo hiyo ni pretty nzuri.
>> Jambo jingine ni kwamba wote kutofautiana majina kuanza na ishara ya dola.
Hiyo tu kitu cha kupata kutumika.
Ni kidogo weird, kwa sababu hivyo ni kwamba PHP anaweza kuelewa
nini kutofautiana na nini si.
Hivyo kila jina kutofautiana huanza na ishara ya dola.
Hivyo katika C tupate kusema kitu kama hii, int x = 54.
Hatuna kufanya hivyo tena katika PHP.
Tunaweza tu kusema $ x = 54.
Na tunaweza kusema, kwa mfano, katika C, kama sisi alikuwa chupa-pamoja CS50 h
kichwa faili, tunaweza kusema kamba maneno = "Hii ni CS50."
Hatuna kufanya hivyo katika PHP, ingawa.
Tunaweza tu kusema $ maneno = "Hii ni CS50."
Na kwa kweli, kamba ni sasa kujengwa katika aina data katika PHP,
au tuseme PHP anaelewa nini kamba ni.
Ni tofauti na safu ya wahusika kama ni katika C.
Yako favorite zote kauli masharti kutoka C
bado zinapatikana kwa wewe kutumia.
Hivyo hakuna kipindi cha mpito kubwa huko.
Tunaweza say-- tunaweza kuwa kama kauli kama hii.
kama $ y 43, au $ z = 15.
Hivyo hiyo ni pretty moja kwa moja.
Tunaweza kuwa kama na kingine chochote.
Tunaweza kuwa kama na mwingine kama.
>> Na taarifa kitu pretty nzuri hapa, na hii
ni aina ya mmoja wa wale faida ya PHP dhidi C, ilani
nini kazi sisi siyo kutumia hapa?
Sisi ni kutumia == kulinganisha kutofautiana, $ majina yao, ili kamba.
Sisi hawakuweza kufanya hivyo katika C, sawa?
Tulikuwa na kutumia kazi kuitwa StrComp au StrEndComp au yoyote
ya binamu yake kuhusiana.
>> Na hivyo tayari tunaona faida hizi.
Hatuna kufanya kitu kama silly au labda unintuitive
kama kuwaita kazi kuitwa StrComp kama nataka tu mtihani
iwapo thamani sawa na kamba.
Mimi nilikuwa tu kutumia sawa sawa, kama mimi naweza kufanya kitu kingine chochote.
Hivyo kuna faida.
>> Wakati mwingine, kwa njia, waweza ona kingine neno kama vile moja, elseif.
Na hiyo ni sawa katika PHP pia.
Hivyo wakati mwingine unaweza kuona kwamba.
Siyo typo.
PHP kweli anaelewa elseif.
Mimi sijui ni kwa nini wao aliamua kutekeleza hilo,
lakini kama tumeona mara nyingi katika video yetu hadi sasa,
sisi programmers kupenda kama tunaweza kufanya mambo kwa haraka,
hivyo kupata kuondoa nafasi hiyo ni inaonekana faida kubwa.
>> Hivyo hiyo ni kama na elseif.
Sisi pia kuwa alama ternary, wanakumbuka alama swali matumbo,
kwa namna kweli mfupi kama mwingine au masharti matawi.
Na inaonekana, katika hili, kile sisi ni kujaribu kufanya hapa
ni kuwapa kutofautiana $ barua ama kweli au uongo,
kutegemea kama $ var ni tabia kialfabeti.
Hivyo hii ni pretty sawa na isalpha kwamba sisi ni ukoo na kutoka C.
Hii ni aina ya sawa katika PHP.
Kazi ni dhahiri aitwaye ctype_alpha,
lakini hiyo ni jinsi sisi kufanya hivyo katika PHP.
Hivyo yote haya ni kwenda kuwa ni, kama $ var ni barua, $ barua ni ya kweli.
Kama $ var si barua, $ barua ni ya uongo.
>> Sisi pia kuwa kauli kubadili bado.
Tunakumbuka wale wanaotoka C vilevile.
Juu sana huko, hiyo ni jinsi sisi kufanya kitu kama kupata int au kupata kamba.
Hivyo PHP ina kuwa kujengwa katika.
Hatuna haja ya maktaba CS50 tena.
Tunaweza tu kutumia kazi readline.
Nini kwamba kinaendelea kufanya magazeti ni ujumbe, "hali yako,
tafadhali, "na kisha blinking haraka kusubiri kwa mtumiaji pembejeo
baadhi ya habari.
Sasa angalia kile kingine tunaweza kufanya na kubadili.
Ikiwa umetumia hivyo kabla, unaweza kukumbuka kwamba kubadili
ni mdogo pretty much kwa integers na wahusika, lakini sasa tunaweza kutumia kamba.
Na kwa kweli, kauli kubadili katika PHP ni kidogo kabisa zaidi rahisi
kuliko binamu yake kutokana na C.
Loops.
Tu kama conditionals, wote wa favorites yako ya zamani bado kuna.
Tuna wakati tanzi kuwa hesabu 1-100 katika kesi hii.
Sisi kufanya wakati tanzi kuwa hesabu 1-100,
na tuna kwa tanzi kuwa hesabu 1-100.
Hivyo hakuna hatua kubwa huko.
Syntax ni mzuri kiasi sawa,
ila sasa sisi ni kutumia dola ishara kutofautiana badala
ya kutangaza integer vigezo au kitu kama hicho kwa counters wetu.
>> Hapa ni ambapo mambo kupata mengi zaidi kuliko C, ingawa.
Arrays.
Hivyo kukumbuka tulipokuwa kuzungumza juu C, ili
kwa ajili yetu kukua na kuogopa seti wa habari,
sisi zinahitajika kutatua ya msingi kwa wazo hili la orodha wanaohusishwa,
kwa sababu C arrays walikuwa fasta katika kawaida.
Hatukuweza kuogopa kwao.
Hatukuweza kukua kwao.
Tulikuwa na reallocate kumbukumbu na kufanya wazimu hii yote
au kutumia orodha wanaohusishwa, ambayo kuchukua kidogo zaidi kabisa nafasi.
Lakini katika PHP, arrays ni si za kudumu katika ukubwa tena.
Wanaweza kukua na wanaweza kuogopa.
Hivyo tena, miaka hii 20 iliyokuwepo kati ya kwanza kutolewa ya C
na kwanza kutolewa PHP, tuliamua kwamba, unajua,
itakuwa kubwa kweli kama tunaweza kufanya hivyo.
Na hivyo sisi kutekelezwa hii.
>> Hivyo PHP arrays si za kudumu katika ukubwa, na kwa sababu PHP haina kweli
na programu mbele-yanayowakabili fikra ya aina,
tunaweza kuchanganya aina data katika arrays wetu, pia.
Hivyo hatuna hata kuwa na matumizi yote integers au pointi zote yaliyo,
tunaweza kuwa na mchanganyiko wa wote aina mbalimbali katika safu moja.
Kutangaza safu ni pretty moja kwa moja.
Ni kama tu kutofautiana nyingine yoyote.
$ nums = safu (1, 2, 3, 4), safu kuwa kazi
hiyo ni kujengwa katika PHP kwamba kujenga safu kwa ajili yenu.
Hii inajenga safu ya maadili nne, idadi katika kesi hiyo, inayoitwa $ nums.
Na kuna njia zaidi ya moja ya kufanya hivyo.
Na tunakwenda kuona hii mengi katika PHP.
PHP imekuwa maendeleo na watu wengi tofauti watu na kukua na kukua na kukua.
Kuna kawaida si mbili tu au tatu njia ya kufanya kitu katika PHP,
kuna kawaida kama 10 au 20.
Hapa ni mwingine tu wa kawaida njia ya kutangaza safu.
$ nums = Mabano ya mraba 1, 2, 3, 4.
Hivyo hii ni aina ya sawa na pembe C ya br-- curly brace nukuu, hasa. $ -
au itakuwa int nums mraba mabano ni sawa na curly brace 1, 2, 3, 4.
Katika PHP ni $ nums = mraba mabano 1, 2, 3, 4.
Lakini wote wawili wa mifano hii hapa nipe safu ya nne katika kesi hii integers.
>> Nini kama nataka upepo kitu juu ya sasa?
Naam naweza kusema tu $ nums 4, ambayo tena, bado tuko kuhesabu kutoka 0 hapa
katika PHP, itakuwa tano kipengele cha safu.
Naweza kusema tu kwamba.
Sitakuja kuteseka seg kosa, kwa sababu safu yangu ni ya haki
kwenda kukua kwa ajili ya malazi kwamba.
Hiyo ni pretty nzuri, sawa?
Na kwa kweli, sijui hata haja ya kutaja ambapo nataka kuiweka.
Naweza kusema tu hii na tu upepo ni haki juu ya mpaka mwisho,
au mimi naweza hata tu kusema $ nums 20 au 1000.
Ni kweli haina jambo.
Ni bado tu kwenda upepo ni haki juu ya mpaka mwisho.
>> Hivyo siwezi kukua, na as-- tuko si kwenda kufunika katika hapa,
lakini siwezi ganga au ukanda mambo nje ya safu pia,
na safu mapenzi shrink kwa ajili ya malazi kwamba sasa kukosa au tupu nafasi.
Kuna njia nyingine ya upepo kitu kwenye safu,
ambayo ni kazi kuitwa array_push.
Hivyo tena, tu wazo hili la kuwa uwezo wa kufanya mambo njia nyingi tofauti.
Hivyo tumeona njia tatu tofauti sasa kwa upepo mwingine kipengele kwenye safu.
Hivyo hii anaongeza mwingine kipengele hadi mwisho wa $ nums safu.
Na tunaweza kuchanganya aina yetu ya data.
Ili niweze kuwa na safu ya si 1, 2, 3, 4, lakini 1, kweli, 3, 4,
ambapo kweli ni Boolean, na kisha kama nataka upepo juu ya kipengele nyingine
kwa kuwa safu, labda kamba, kamba "tano," mimi naweza kufanya hivyo.
Na sasa safu yangu ingekuwa 1, wa kweli, 3, 4, tano.
Neno tano, si integer 5.
Hivyo mengi ya kubadilika huko.
>> Kubadilika anapata hata bora zaidi, ingawa,
kwa sababu PHP ina msaada kwa ajili ya kitu aitwaye safu associative.
Na sisi aina ya kuongelea bila kufafanua arrays kuhusu associative katika C
katika mazingira ya meza hash, kwa sababu nini associative arrays ni kweli wote
kuhusu maamuzi muhimu ni jozi thamani upangaji.
Na katika kesi hii, keys-- kama sisi ni ukoo na arrays kutoka C,
funguo ni idadi index.
0, 1, 2, 3.
Na maadili ni nini tunaona kwamba safu 0, safu ya 1, safu ya 2, na kadhalika.
Hivyo funguo ni bahati, na maadili ni
yaliyomo ndani ya kwamba safu eneo, maalum na kwamba ripoti.
>> Lakini katika PHP, hatuna kufanya hivyo dhana ya safu 0, safu ya 1, safu ya 2
tena.
Sasa tunaweza kutumia maneno halisi ramani funguo za maadili.
Na hivyo mimi naweza kusema kitu kama hiki.
Mimi naweza kujenga safu kutumia Mabano ya mraba syntax kama ifuatavyo.
$ pizzas = Mabano ya mraba "cheese" na kisha
aina hii ya mara mbili mshale nukuu, 8.99, "pepperoni," mshale 10.99-- 9.99,
na kadhalika.
Na hivyo nini kinaendelea hapa?
Hivi mimi kweli kufanya?
Mimi kujenga ufunguo jozi thamani upangaji.
Hivyo badala ya kusema, kwa mfano, pizzas 0, vipande 1, pizzas 2,
Sasa naweza kusema pizzas chizi, pizzas pepperoni,
na rejea maadili kuhusishwa na wao.
>> Hivyo hapa ni funguo yetu katika kijani.
Chizi, pepperoni, mboga, nyati kuku.
Hapa ni mshale ambayo inafanya hii muhimu jozi thamani ramani.
Na kisha hapa ni maadili wakati huo safu eneo.
Hivyo ni kama kusema safu 0 ni sawa na 8.99.
Muhimu ni 0.
Thamani ya kitu 8.99.
Sasa naweza kusema safu chizi, au katika hii kesi pizzas jibini, jibini ni muhimu,
na kile kupata katika pizzas jibini ni 8.99.
Hiyo ni thamani ya kuwa mimi kupata huko.
>> Hivyo siwezi kusema mambo kama. $ pizza jibini = 7.99.
Kusema mimi nina kuwa kuuza.
Nataka dis-- Nataka kuacha bei ya jibini pizza.
Au naweza kutumia mboga pizza kama sehemu ya hali,
au naweza kuongeza kipengele mpya ya yangu safu, tu kama mimi naweza kufanya hapo awali.
Naweza kuongeza kipengele mpya hii safu associative na ufunguo "Bacon"
na thamani 13.49.
>> Lakini hii ni aina ya utangulizi tatizo, kama wewe kufikiri juu yake kwa mara ya pili.
Jinsi gani sisi iterate kupitia safu hii?
Sawa?
Katika C, tunataka tu na kwa kitanzi, kawaida, kwamba
ingekuwa kukimbia kutoka 0 kwa ukubwa wa safu bala 1.
Safu ina mambo n katika utafutaji, halali bahati ni 0 kwa n bala 1.
Hivyo tunaweza kutumia kwa kitanzi kwa hatua kupitia kila kipengele moja.
>> Lakini hiyo si kweli kesi tena, sawa?
Sasa ambapo tuna jozi ufunguo thamani upangaji ambapo funguo ni maneno,
jinsi gani sisi iterate juu ya maneno yote?
Naam, kwa bahati nzuri, PHP ina njia ya kukabiliana na hii pia,
na hivyo tutaweza kuruka nyuma kwa loops kwa pili
kuanzisha aina nne ya kitanzi kwamba lipo katika PHP aitwaye foreach kitanzi.
Na nini foreach kitanzi gani ni ni kimsingi wazo moja.
Unaweza kutumia kwa aina yoyote ya safu.
Lakini kimsingi Wazo sawa kwa kitanzi,
isipokuwa badala ya kutumia nambari ripoti, wewe tu
na hii syntax weird ambapo wewe piga kila kipengele moja
jina kwa madhumuni ya kitanzi hii.
>> Hivyo katika kesi hii, foreach ($ safu kama $ muhimu).
Kimsingi, kama kwamba maoni maelezo, ndani ya kwamba kitanzi foreach,
ni kwenda juu kila moja kipengele cha $ safu, ambayo ni kawaida
kwenda kuwa safu associative, lakini wanaweza kweli kuwa aina yoyote ya safu
kwamba unataka katika PHP.
Na kila wakati kwamba katika a kwa kitanzi waweza
wamesema $ safu mabano mraba $ i, unaweza tu kusema $ muhimu.
Ili $ ufunguo inakuwa vinginevyo, kwa kila ripoti ya PHP yako safu associative,
na hivyo unaweza kuitumia kama hicho.
>> Hivyo kwa mfano, tumekuwa sasa got pizzas yetu safu.
Nimekuwa aina ya tucked katika kona kuna
ili tuweze kuitumia kufanya mfano wa haraka.
Kama mimi kusema foreach ($ pizzas kama $ pizza), vizuri, nini kinatokea?
Naam, mimi nina kwenda iterate kupitia kila kipengele moja ya safu $ pizzas,
na kwa kufanya hivyo, mimi nina kwenda kuwaita kila kipengele, wakati mimi niko ndani ya
mwili wa kwamba kwa kitanzi, $ pizza.
>> Hivyo hiyo ni aina ya kusimama katika, kukumbuka, kwamba $ pizza
ni kusimama katika kauli $ pizzas mabano mraba $ i
kama tungetumia kwa kitanzi, ambapo sisi anaweza kwenda kutoka $ i = 0 kwa, katika kesi hii,
$ i = 3.
Kama hatukuwa na thamani jozi ufunguo hapa, hii itakuwa ni kipengele 0, 1, 2, 3,
na tunataka kutumia kwa kitanzi kwenda $ pizzas 0, $ pizzas 1, $ pizzas 2,
$ pizzas 3.
Hivyo sasa $ tu pizza ni kugeuza kwa muhimu ambayo mtu binafsi.
>> Kwa hiyo kile ni hii kwenda magazeti nje?
Mimi uchapishaji nje $ pizza.
Nataka kwenda kupata at-- kama mimi magazeti nje $ pizzas, $ i?
Sawa?
Kama mimi nina kwenda magazeti nje ith kipengele cha pizzas,
je, Mimi kwenda magazeti?
Mimi nina kwenda magazeti nje maadili katika eneo hilo, sawa?
Kama ikiwa tunafanya huu katika mazingira ya C,
hatuna kawaida kutumia iterator yetu kutofautiana, int i = 0, i ni chini ya 3,
i ++, magazeti nje 0, 1, 2, 3.
Sisi ni uchapishaji nje safu 0, safu ya 1, safu ya 2, safu ya 3.
Na hivyo kile huu Prints nje ni hii.
Ni orodha ya bei.
8.99, 9.99, 10.99, 11.99.
>> Sasa kumbuka haraka hapa.
Kitanzi foreach gani si lazima magazeti nje mambo katika mpangilio.
Siyo uhakika.
Ni kawaida gani.
Ni kawaida kwa kuzingatia utaratibu ambayo mambo ni aliongeza kwa safu,
hivyo tu kubeba kwamba katika akili.
Ni wanaweza kuwa katika utaratibu.
Lakini foreach kitanzi iterate hela kila kipengele moja
wa safu katika swali.
Katika kesi hiyo, tena, kwamba safu ni $ pizzas.
>> Mimi naweza kubadili syntax, ingawa, kama Nataka wote wawili muhimu na thamani.
Badala ya kusema $ pizzas kama $ pizza, naweza kusema hii.
Na kama wewe kuangalia nini nimekuwa yalionyesha katika kijani hapa,
inaonekana kama muhimu jozi thamani ramani.
Na hivyo kama you-- hata kama wewe si kabisa na uhakika nini ni kwenda kufanya,
pengine unaweza nadhani kuwa $ topping ni kwenda
kuwa muhimu katika kesi hii na $ bei ni kwenda kuwa thamani.
Hivyo mimi nina kugeuza sasa kila kipengele ya $ pizzas kama jozi ufunguo thamani,
na sasa siwezi kutaja muhimu na thamani, ambayo huenda katika Handy,
Kwa mfano, kama ifuatavyo.
>> "Zima" - hii ni mengi ya uchapishaji kinachoendelea here-- "zima"
topping "pizza gharama $" bei, na kisha Mimi magazeti nje kipindi na backslash n.
Hivyo sasa, ilani tena mimi wanapata ufunguo, $ topping, na thamani, $ bei.
Hivyo unaweza nadhani nini hii ni kwenda magazeti nje?
Kuna mengi ya kauli magazeti, lakini kuna moja tu backslash n ni,
hivyo ni kwenda magazeti kitu kwenye entire-- juu ya line moja ya kanuni.
>> Kama naweza rejea muhimu na thamani, basi sasa,
badala ya kuwa na uwezo magazeti nje bei,
Siwezi magazeti nje kitu kama hiki.
"Jibini nzima pizza gharama $ 8.99."
Na sasa mimi nina kutumia yote ya keys-- chizi, pepperoni, mboga,
nyati chicken-- na maadili.
8.99, 9.99, 10.99, 11.99 Hivyo hiyo ni njia mbalimbali
kufanya foreach kitanzi kwamba badala ya kutoa tu wewe kupata maadili,
ni tu anatoa you-- inakupa upatikanaji wa funguo na maadili.
>> Hivyo uchapishaji nje ya kampuni.
Nimekuwa tayari amefanya hivyo michache ya njia tofauti, unaweza kuwa niliona.
Kazi mbili tumekuwa kimsingi kuonekana ni magazeti na echo.
Na kwa pretty much wote makusudi na madhumuni, wao uko sawa.
They're-- kuna hila sana Tofauti hiyo ni hata thamani
kuingia katika, lakini kimsingi kila mahali unaweza kutumia magazeti pengine unaweza kutumia
echo pia.
>> Na si kwamba mbili tu.
PHP ana mengi ya tofauti njia ya magazeti mambo ya nje,
na pia ina njia za kuunganisha vigezo ndani ya katikati ya kamba.
Hivyo kukumbuka kutoka C, je kukumbuka nini kazi
tunaweza kutumia mbadala vigezo ndani ya vitu tunataka magazeti nje?
Pengine kutumia hii kazi mengi kabisa.
printf, sawa?
Hivyo hii ni nini tulikuwa kabla ndani ya ya mazingira ya foreach yetu kitanzi.
Tulikuwa na hizi tano kauli tofauti magazeti,
kwa sababu hiyo ilikuwa tu njia ya mimi kweli alijua wakati huo
jinsi ya magazeti nje ujumbe.
Sikujua jinsi ya kuunganisha $ kutofautiana topping katika kanuni PHP yangu.
Naam, kama mimi tu kuchukuliwa nadhani pori, printf, ni kweli ingekuwa kazi.
printf ni kazi ambayo naweza kutumia katika PHP, tu like ninaweza kuitumia katika C.
>> Na hivyo kitu kama hii, printf, tena, sisi ni ukoo na jambo hilo.
% S kwanza ni kubadilishwa na thamani ya $ topping.
Pili% s ni kubadilishwa na thamani ya $ bei.
Na hivyo mimi nina interpellating, ambayo ni njia tu ya dhana
ya kusema mimi nina sticking vigezo katika eneo hilo.
Hivyo mimi nina plugging katika $ topping ambapo nyekundu% s ni na $ bei ambapo% s bluu
ni, na kisha napenda kupata ujumbe, "Jibini nzima pizza gharama $ 8.99."
>> Si njia pekee siwezi kufanya hivyo, ingawa.
Labda napenda wanataka kutumia njia hii.
Hii ni kweli nini kawaida aitwaye kutofautiana interpellation.
Naweza kutumia mwangwi.
Mimi naweza kutumia magazeti pia, kama tutaweza kuona.
Lakini nini kinatokea hapa?
>> Awali ya yote, nina kutoroka ishara ya dola.
Kwa sababu kumbuka, tulipokuwa kweli uchapishaji nje bei ya pizzas,
Mimi kwa kweli formatting yao kama takwimu ya fedha kwa ishara ya dola.
Lakini sisi ni kutumia dola ishara pia kuiwakilisha majina kutofautiana katika PHP,
na hasa wakati mimi niko kutumia njia hii ya curly
Brace kutofautiana interpellation mbinu, nahitaji
kutoroka dola ishara zangu hivyo hana kufikiri Mimi kuzungumza juu ya kutofautiana.
Ni kwenda kweli, halisi magazeti ishara ya dola.
>> Hivyo aina ya analogize kwa nini kuona mwishoni huko.
Haina kweli magazeti backslash n, haki?
Prints nje mpya mstari tabia.
Hii is-- si kwenda kwa magazeti ishara ya dola backslash,
ni kwenda magazeti nje tu ishara ya dola tabia.
Sawa wazo.
Kutoroka Utaratibu, nini mambo haya ni kuitwa.
>> Lakini taarifa kwamba mimi si kufanya aina yoyote ya mabadilisho% s,
Mimi tu halisi kuziba katika vigezo hivi.
Na hivyo katika Haya nini kitatokea hapa ni kwamba thamani ya $ topping-- tena,
kuweka tu na kile tumekuwa kuzungumza juu ya jibini hivyo far-- bila kupata
plugged katika huko.
Na $ bei itakuwa chochote thamani ya katika pizzas, mabano mraba, chizi,
ambayo ilikuwa 8.99.
Na hivyo hii itakuwa pia magazeti nje "Jibini nzima pizza gharama $ 8.99."
Na kama nilivyosema, mimi naweza kutumia magazeti hapa badala ya echo,
na utendaji kuwa pretty much sawa.
Ingekuwa magazeti nje kitu kimoja.
>> Kuna njia nyingine ya kufanya ni, na hii ni faida nyingine
ya PHP kufanya kazi na masharti.
Tunaweza kufanya kamba concatenation.
Tuliweza kufanya hivyo katika C, pia, kutumia kazi kuitwa strcat,
lakini tena, tulikuwa na piga kazi tofauti.
Ilikuwa ni fujo nzima hii ya kufanya.
Tulikuwa na chupa-ni pamoja na string.h.
Ilikuwa uzalishaji, sawa?
Lakini sasa naweza tu kutumia hii dot operator kwa concatenate masharti pamoja.
>> Hivyo mimi nina concatenating "zima" na kisha chochote thamani ya $ topping ni,
na kisha mwingine kamba, "gharama pizza $"
na kisha concatenating chochote thamani ya $ bei ni,
na kisha mwishoni sana mimi nina bisho juu ya kipindi backslash n.
Na hivyo hii ingekuwa pia magazeti nje "zima" - tena,
kama tunazungumzia kuhusu kwanza kipengele cha kwamba pizzas array--
"Jibini nzima pizza gharama $ 8.99."
Kipindi, backslash n, tena, kwa $ topping na $ bei kuandika badala
kwa nini tulikuwa maalum katika foreach yetu kitanzi kama ufunguo jozi thamani ramani.
>> PHP inaweza kushughulikia kazi.
Kazi zilikuwa aina ya muhimu kwa C, kama tuliona.
Kama vigezo, hatuna haja ya kutaja aina ya kurudi kazi,
kwa sababu haina kweli jambo.
Na hatuna bayana aina ya data ya vigezo yoyote,
kwa sababu wao si kweli suala hilo, kama tumeona katika PHP.
Kila kazi ni vishawishi na kazi Keyword.
Hiyo ni jinsi sisi zinaonyesha kwa PHP kwamba nini tunazungumzia ni kazi.
>> Na hatuna kwa kukabiliana na kuu wakati wote,
kwa sababu mkalimani, PHP mkalimani, kazi kutoka juu mpaka chini,
bila kujali.
Kama anaona unaweza kufanya kazi ya wito, ni itabidi
kwenda kupata kazi ya wito, hata kama anakuja baadaye.
Lakini itakuja kusoma kutoka juu hadi chini, hivyo hatuna haja ya kutaja,
hapa ni wapi kuanza.
Unaweza kuanza kwenye mstari 1 wa yako PHP na kazi chini kutoka huko.
>> Hivyo hapa ni jinsi gani tunataka kujenga kazi kuitwa hard_square.
Ni inaonekana inachukua moja parameter, ambayo mimi nina wito $ x.
Kazi hii ni ngumu tu kuonyesha mambo mbalimbali.
Bado tuna maadili kurudi.
Mimi nina kutumia kwa kitanzi hapa.
Lakini ni kimsingi tu, jambo hili ni sawa na ni tu $ x nyakati $ x.
Nini mimi kweli kufanya ni kuongeza tu x kwa x 0 nyakati wala $ x na sifuri $ x nyakati.
Lakini ni ufanisi hasa sawa na kuzidisha mara $ x $ x.
Mimi bado anaweza kurudi thamani, katika hii $ matokeo ya kesi,
na nimepata alifanya kazi katika PHP.
>> Hapa ni jinsi gani unaweza kuitumia katika mazingira.
Hivyo labda mimi nina ndani ya baadhi ya faili PHP.
Taarifa katika bluu pale kwamba Nimekuwa kutumika PHP yangu delimiters,
pembe mabano alama swali php.
Katika kati ya hizo ni wote wa PHP kwamba nataka kuandika.
Hivyo mimi nina inaonekana kwenda get-- Mimi nina kwenda kuchochea mtumiaji
kunipa idadi, kuhifadhi kwamba kutofautiana, kuhifadhi kwa kuwa kutofautiana $ x,
chochote alinipa.
Kisha mimi nina kwenda kurudia hard_square ya thamani kwamba,
na inaonekana kwenda kwa upepo kwenye mstari mpya
pamoja, na kisha baadaye mimi itabidi kufafanua kazi hard_square hivyo
kwamba wakati mimi kufanya wito kwa hard_square,
ni anajua nini mimi kuzungumza juu.
>> Sasa, mimi naweza pia kufanya kitu kama hiki.
Hii ni tofauti kidogo.
Ni karibu hasa sawa na yale tuliona kabla,
isipokuwa badala ya kusema tu $ x kuna kama parameter hard_square,
Mimi kusema $ x = 10.
Hivyo hii ni mfano wa kujihami programu,
kulinda programu yako dhidi ya watumiaji hatarishi.
>> Hii ni njia moja ya kufanya makosa baadhi kuangalia kwamba sisi si kweli
na kama chaguo katika C. Tunaweza kamwe kutaja chaguo-msingi thamani ya kitu.
Sisi daima alikuwa kuangalia iwapo, kwa mfano,
kama sisi alitoa wito kwa GetString, ilikuwa zaidi sahihi kama mara baada ya sisi
kuchunguzwa kwamba, sisi kuchunguzwa iwapo kamba
kwamba mtumiaji alitupa si sawa kwa null,
kwa sababu hatutaki kuanza kufanya kazi na null kamba.
>> Hapa, hii ni njia kulinda dhidi ya kwamba.
Kama mtumiaji haitoi sisi kitu namna fulani, ni sisi kwenda kufanya?
Naam, tutaweza kusema tu chochote hawakuwa kutoa yetu,
sisi ni kwenda tu kuziba katika 10 badala yake.
Hivyo kama wao hakutupa thamani, tu kutumia 10 by default. Na hivyo hapa,
taarifa kwamba mimi nina kufanya a kuwaita kwa hard_square,
lakini hakuna haraka kwa mtumiaji, sawa?
Mimi tu kupiga simu mtupu.
>> Lakini kazi yangu hard_square inatarajia parameter.
Kile ni hii kwenda magazeti nje?
Ni kwenda magazeti nje 100, sawa?
Kwa sababu mtumiaji hakuwa nipe kitu chochote.
Na hivyo mimi nina kwenda tu kudhani kwamba 10-- 10 ni thamani ya msingi.
Na hivyo hii itakuwa magazeti nje 100 kwenye mstari wake mwenyewe.
>> PHP mafaili huna kuwa tu faili moja.
Unaweza kuchanganya files nyingi kwa pamoja, tu kama unaweza katika C. njia
sisi alifanya hivyo katika C ni kawaida ya kufanya # ni pamoja na kupata kichwa mafaili kujiondoa katika.
Hatuna kufanya hivyo katika PHP.
Sisi kufanya kitu kinachoitwa require_once.
Na kisha kuna zima huu Jambo, nini __dir__ hili?
Hiyo tu maalum kutofautiana, au mara kwa mara maalum,
kweli, kwamba unasema nini saraka yako ya sasa ni.
Na hivyo kwenda kuangalia katika orodha yako ya sasa
kwa faili inayoitwa cs50.php katika mfano huu hapa,
na ni kwenda kwa fimbo faili kwamba juu ya PHP mpango wako,
kuchukua kwamba wewe kuweka the zinahitaji mara moja mstari juu ya PHP faili yako.
>> Hivyo PHP kimsingi ni kutumika, lakini si peke kutumika,
kama lugha ya programu mtandao msingi.
Hiyo ni kweli jinsi alikuja kuwa.
Lakini ni kamili lugha, kama tumeona.
Tumeona pretty much kila kitu iweze kufanya hivyo ni sawa na C,
na inaweza kufanya heck ya mengi zaidi kuliko hiyo.
>> Lakini kwa sababu ni lugha kamili na sisi anaweza kufanya mstari amri programu ndani yake.
Tunaweza kuendesha programu mstari amri.
Wote wa zinazohitajika kuendesha amri mstari mpango huo imeandikwa katika PHP
ni kwamba una mkalimani PHP.
Hivyo ni aina ya sawa na kuwa compiler kwenye mfumo wako
kama unataka kukusanya C kanuni yako kugeuka ndani kutekelezwa mafaili.
Unahitaji kuwa na mkalimani PHP ambayo ipo kwenye mfumo wako
ili uweze kutafsiri PHP mafaili.
>> Kutokana huna, na kwa kawaida mkalimani hii inaitwa PHP,
na ni kawaida kutunza na zaidi downloads au mitambo ya PHP
uweze kupata online, na kwa hakika jina la mkalimani PHP
tuna katika CS50, IDE.
Wote kufanya ni aina php file.
Na nini mpango wako kwenda kufanya ni ni
kwenda kukimbia kupitia mkalimani, ni
kwenda kupuuza kila kitu kilicho si katika kati ya swali mark--
au, pembe mabano swali chapa php, delimiters PHP, na magazeti ya nje,
na itakuwa kutafsiri na kutekeleza kificho ndani ya PHP yako delimiters.
>> Basi hebu pop juu ya CS50 IDE na kuwa na kuangalia michache ya PHP mafaili,
mbio michache ya PHP mafaili, katika amri Mpya interface ya CS50 IDE.
Hivyo hapa sisi ni katika CS50 IDE, na nimekuwa kuchukuliwa uhuru
ya kufungua faili inayoitwa hello1.php.
Na inaonekana, yaliyomo ya hii faili ni baadhi tu ya delimiters PHP huko,
na katika kati ya, echo ("hello, ulimwengu").
Hii ni pretty rahisi PHP mpango.
Mimi tu kwenda kwa kitabu chini terminal dirisha yangu hapa,
na mimi nina kwenda aina php hello1.php, enter.
Salamu, Dunia.
Kwamba pengine ni nini tulikuwa tegemeo la kufanya, sawa?
>> Hebu kwenda juu na kuchukua mwingine kuangalia mpango.
hello2.php.
Pretty much kitu kimoja, si mengi kinachoendelea hapa.
Wakati huu, ingawa, mimi nina kwenda kwa kuchochea mtumiaji nipe majina yao.
Mimi nina kutumia readline kwamba kazi tena.
$ jina = readline.
Hiyo ni haraka, "Jina lako nani?"
>> Inavyoonekana mimi nina uchapishaji kwenye mstari wake mwenyewe.
Na kisha, hivyo mstari chini ambayo itakuwa haraka
ambapo mtumiaji anaweza kuingia jina yao.
Na kisha mimi nina kutumia kidogo ya kutofautiana interpellation hapa kwenye mstari 3
magazeti nje "Habari" na chochote mtumiaji aina.
Hivyo hii ni sawa na kusema, Habari, comma,% s kama tungetumia printf katika C.
>> Basi hebu kwenda na kutafsiri mpango huu.
Hivyo tena, mimi itabidi kitabu chini terminal dirisha yangu.
php hello2.php.
Jina lako nani?
Doug.
Hello, Doug.
Mimi pia kuwa mwingine faili inayoitwa hello3.php.
Mimi nina kwenda wazi yangu screen na Kudhibiti L,
na mimi nina kwenda kutekeleza jambo hilo.
Jina lako nani?
Doug.
Hello, Doug.
Hivyo tabia ni sawa na hello2.php, lakini kwa nini ni hello3.php?
>> Naam, hapa ni tofauti.
Katika kesi hiyo, taarifa kuwa kwenye mstari 1 hapa,
Nina kitu ambacho si katika kati ya delimiters PHP.
Mimi nina uchapishaji out-- au mimi tu tu typed, "Jina lako nani?"
Wakati mkalimani PHP anaona hii, hana wazo jinsi ya kutafsiri kama PHP,
na hivyo badala ya kushindwa, ni tu kwenda kwa kuitema.
>> Hivyo taarifa juu ya mstari 3 sasa, wito wangu kwa readline, hakuna haraka tena.
Mimi tu kweli kwenda to-- wakati mkalimani PHP anaona hili,
ni kwenda magazeti nje "Jina lako nani?"
Kisha anaona, loo, sawa, here's-- kila kitu kingine ni kwenda kuwa
kufasiriwa kama PHP, hivyo hiyo ndiyo sababu hii matendo.
Sina kwa lazima kuchochea user to-- ndani ya readline,
Naweza tu kuwa ni nje ya delimiters PHP
na kuruhusu mkalimani tu magazeti ya nje kwa ajili yangu.
>> Hivyo huna kweli tu na kuwa na seti moja ya PHP delimiters
katika mpango wako.
Unaweza kweli kuwa baadhi yao, kufungua na kufunga yao kama inahitajika.
Hivyo hebu tuangalie katika michache ya mipango
katika CS50 IDE ambapo sisi kuonyesha wazo hili la kuwa na
seti mbalimbali ya delimited PHP.
>> OK, hivyo nimekuwa kufunguliwa faili hapa aitwaye add1.php.
Na taarifa nini kinatokea hapa.
Kama vile kabla, nina PHP moja seti ya delimiters.
Mimi nina kwenda magazeti nje ujumbe, "Nipe mimi idadi."
Kisha mimi nina kwenda kusoma mstari na kuhifadhi katika kutofautiana $ num1.
Kisha mimi nina kwenda magazeti nje tena.
Nipe namba ya pili.
Kusoma mstari kutoka kwa mtumiaji, kuhifadhi chochote typed katika katika $ num2.
Kuongeza yao pamoja na kuhifadhi kwamba kusababisha kutofautiana kuitwa $ ujumla,
na kisha magazeti nje, " Jumla ya namba hizi mbili
ni, "na kisha interpellate kuna kutofautiana $ jibu.
Basi hebu kukimbia tu hii kupitia mkalimani
kuthibitisha kwamba hii ni nini tunatarajia.
php add1.php.
Tafadhali nipe namba, 3.
Tafadhali nipe idadi ya pili, 4.
Jumla ya namba hizi mbili ni 7.
Hiyo ni 3 pamoja na 4.
SAWA?
Hivyo kitu sana dhana huko.
>> Na sasa hebu kufungua add2.php.
Hapa, mimi nimepata michache ya PHP delimited seti huko, sawa?
Mistari 1, 3-- mistari 1 na 3 sina delimiters PHP.
Hivyo wakati mkalimani anaona yao, ni tu
kwenda mate nje hasa kile Mimi typed huko.
Hivyo hiyo ambapo mimi nina kufanya yote na kusababisha yangu.
Juu ya mistari 2 na 4, tunaona sana ukoo $? php aina ya delimiters,
hivyo wale mistari miwili ni kwenda kutekeleza kama PHP.
Na kisha kwenye mstari 5, nina hii weird jambo sahihi hapa, sawa?
Mabano huu pembe swali chapa ishara sawa.
Mimi itabidi hata kuvuta kidogo zaidi.
Unaweza kuona hii ni nini mimi nina kuzungumza juu ya haki pale, $ hili? =.
>> Ni zinageuka kuwa ni jambo la kawaida kwamba sababu ya kuwa sisi kufungua seti ya PHP
delimiters ni magazeti nje thamani.
Na kwamba wote sisi ni kwenda kufanya.
Lakini kuna hata shorthand kwa ajili hiyo.
$? = Ni PHP shorthand kwa kusema kitu kama $? php echo Jumla
ya num1 na num2.
Hivyo hii ni tu mwingine shorthand kwa ajili hiyo.
>> Hivyo kama mimi kuendesha mpango huu, php add2.php.
Mimi itabidi kuvuta chini kidogo.
Tafadhali nipe namba, 4.
Tafadhali nipe namba ya pili.
Na kwa kuwa mimi si kweli huduma kuhusu aina ya data katika PHP, naweza kusema 4.8.
Jumla ya namba hizi mbili ni 8.8.
Kazi ambayo hufanya kazi pretty much sawa kama sisi bila kutarajia,
vilevile.
Na mimi kuwa moja zaidi kufunguliwa hapa aitwaye dice.php.
Jaribu hii tena.
Nina moja zaidi hapa inaitwa dice1.php, ambayo pia, angalia,
ina kuwa swali pembe mabano alama ishara nukuu sawa huko,
lakini taarifa kwamba katika kesi hii mimi nina wito kazi rand, kama ambayo
kutarajia inazalisha idadi random.
"Wewe limekwisha," na ni kwenda mahesabu ya baadhi ya idadi random, mod 6 +
1.
Hivyo kwamba utakuwa nipe idadi katika aina mbalimbali ya 1-6.
>> Kumbuka kwamba mod 6 angenipa idadi katika aina mbalimbali ya 0-5,
lakini kama mimi nina simulating mistari kete, ambayo ni nini mimi kufanya hapa,
Sitaki kete hizo kwenda kutoka 0 hadi 5, nataka kete kwamba kwenda 1-6.
Na hivyo hii ni njia ya kupata mimi katika aina mbalimbali ya 1-6.
Mimi nina kufanya hili mara mbili.
Hivyo inaonekana Mimi rolling kete mbili katika mpango huu.
>> Hivyo mimi itabidi wazi screen yangu, na mimi itabidi kufanya php dice1.php.
Wewe limekwisha 4 na 2.
Na kama mimi kuendesha programu tena, wewe limekwisha 5 na 5.
Hivyo kila wakati mimi kukimbia mpango, Mimi nina kupata idadi tofauti,
kwa sababu kila wakati mimi kufanya hivyo, ni mapya juu.
Ni kwenda kuzalisha mpya seti ya idadi random kwa ajili yangu.
>> Hivyo kama sisi ni kutumika kuendesha programu kutoka C,
sisi ni kutumika kuandika ./ jina la mpango, haki?
Hiyo ni jinsi tumefanya zote ya mipango yetu katika C hadi sasa.
Tunaweza kufanya hivyo katika PHP pamoja kwa kuongeza kitu kinachoitwa
shebang hata kilele cha faili wetu PHP.
Najua ni aina ya neno silly.
Ni short kwa hash bang.
Hiyo ni kwanza wahusika wawili huko.
Kumbuka tunatoa wito mshangao uhakika mara kwa mara bang katika sayansi ya kompyuta.
Pia inaweza kuwa kwa bang mkali.
Kuna wanandoa njia kuifasiri.
Lakini kimsingi aina maalum ya amuru mkalimani PHP
anaelewa kama, loo, nataka wewe kutekeleza mpango huu,
ambayo inaonekana / user / bin / php, ambayo ni kweli ambapo mkalimani PHP
hasa anaishi kwenye mfumo wetu.
Hivyo it's-- nini kinatokea hapa ni mkalimani anaelewa, loo,
Mimi inaonekana zinatakiwa kutumia katika mpango huu wa kukimbia faili hii.
Na hivyo utapata ruka juu hatua
ya kuwa na kusema php something.php.
Kuna wengine moja kukamata hapa, ambayo ni kuwa kama sisi
wanataka mipango yetu kwa kazi kama ilivyotarajiwa, sisi
haja ya kufanya kitu kinachoitwa Mabadiliko ya faili ruhusa.
Na tutaweza go-- na sisi kuongea kidogo kidogo zaidi kuhusu faili mabadiliko ruhusa
katika video wetu juu MVC, lakini inatosha kusema kwamba hii ni nini unahitaji kufanya
ili kufanya yako php mafaili kutekelezwa.
Basi hebu tuangalie hii kama mfano wetu wa mwisho juu katika CS50 IDE.
>> Hivyo hapa katika IDE nina mafaili mbili katika hii PHP directory kwamba kuonekana si kuwa
aitwaye php.
Nina kazi kuitwa add-- Nina faili inayoitwa add3
na faili inayoitwa dice2.
Basi hebu kuchukua haraka kuangalia na kufungua add3.
Na kama unaweza kuona, mwanzoni ya faili yangu nina shebang hii, sawa?
Hii hatua hash alama ya mshangao.
Sasa, utasikia pia labda taarifa kwamba kwa sababu fulani,
Sina syntax yoyote kuonyesha tena,
na hii ni nini mimi alluded mapema, ambayo ilikuwa kwamba kama mimi si jina la faili yangu
php, sina faida ya syntax mwangaza tena.
Faili hili ni tu kuitwa add3.
Ili niweze kuendesha baadaye na ./ add3 na si ./ add3.php.
>> Hivyo reason-- ni bado faini, bado ni halali PHP,
lakini siyo syntax yalionyesha, kwa sababu faili hili si kuitwa something.php.
Hiyo ni tu halisi tofauti hapa, pamoja na shebang.
Basi hebu angalia nini kinatokea wakati Mimi kujaribu na kuendesha mpango huu.
./ Add3, kama napenda na C. Bash.
./ Add3 ruhusa alikanusha.
Hii ni nini wewe kwenda kuona kama wewe kusahau
kutumia amri chmod kubadili ruhusa ya faili.
>> Kama ni zamu nje, mara kwa mara PHP mafaili huwezi wauawe.
Wao inaweza kutafsiriwa, lakini sisi ni kufanya kitu tofauti kidogo hapa.
Sisi ni utekelezaji yake.
Na hivyo mimi haja ya kuongeza ruhusa ya utekelezaji, chmod + x kwa add3.
Kisha naweza kusema ./ add3.
Tafadhali nipe idadi.
5, 6.
Jumla ya namba hizi mbili ni 11.
>> Vile vile, mimi tayari chmoded dice2, hivyo siwezi tu aina ./ dice2,
wewe limekwisha 1 na 1, wewe limekwisha 5 na 4, na kadhalika.
>> Hivyo hiyo ni pretty kiasi wazo la PHP syntax, sawa?
Kuna mengi kupata kupitia, najua.
Lakini pengine wameweza kuona sasa kwamba PHP si kweli kwamba tofauti na C
na kwa kweli inatupa uwezo kuchukua mambo juu notch moja au mbili.
Sisi si kweli kuwa na wasiwasi sana about-- sisi si kweli
kuwa na wasiwasi sana kuhusu maelezo ya ngazi ya chini sisi
alikuwa na wasiwasi juu na C, sawa?
Tunaweza kuzingatia juu mambo kiwango hicho PHP
inaruhusu sisi kufanya na kuchukua kwa nafasi kwamba itakuwa kazi kwa ajili yetu.
Hivyo inatupa uwezo sasa, kipindi cha mpito kutoka C kwa PHP,
kufanya mipango ambayo ni mengi zaidi tata na labda mengi imara zaidi.
>> Kwa hiyo, natumaini wewe kuwa na furaha ya kufanya kazi na PHP, na mimi nina Doug Lloyd.
Hii ni CS50.