>> Doug Lloyd: Se konsa, nou te fè yon anpil nan travay nan C,
ak C se yon vrèman fre lang paske li ba ou
kapasite nan plonje reyèlman ba nivo nan pwogram ou yo.
Nou jwenn fè bagay sa yo kòm reyèlman minit kòm manipile
bytes endividyèl yo nan memwa.
Sonje byen, endikasyon vrèman pèmèt nou ke fleksiblite.
>> Men, nou toujou bezwen gen ke nivo amann-grenn jaden nan detay
nan pwogram nou an?
Pwobableman pa, dwa?
Men, si nou ap ale nan gen yon komès-off ant yo te
kapab fè reyèlman, reyèlman minit bagay sa yo ak reyèlman, reyèlman
bagay sa yo gwo ke nou pa gen panse sou, nou pa gen aplike
sa yo reyèlman gwo lide si yo te deja ap bati nan pou nou,
jeneralman pou bati gwo pwogram oswa pwojè gwo,
nou ap pwobableman ale nan lerè wi sou bò a yo ki te plis bagay ak lang bati nan
pou nou, olye pou yo gen ba-nivo bagay la.
Epi sa a, kote PHP reyèlman vini nan.
>> Koulye a, youn nan rezon ki ke nou anseye PHP nan CS50
se ke li nan lou enspire pa C. Apre sa, an reyalite, nan opinyon mwen,
gen reyèlman de lang précurseur ki
yo trè komen sèjousi.
C ak zozote.
Apre sa, yo ap lang précurseur paske chak lòt pwogram modèn
lang ki te devlope depi lè sa a se enspire
pa youn oswa lòt syntactically la.
PHP se trè menm jan syntactically nan C, tandiske lang tankou Scheme,
pou egzanp, ki ou ka te tande pale de,
se lou enspire pa yon lang rele zozote, ki se yon lang ki pi gran.
>> Se konsa, rezon ki fè yo nou anseye PHP nan CS50 se ke,
pa konnen C kòm fondamantalman jan ou fè nan pwen sa a,
davwa ke yo pran PHP, ki bay nan ou kapasite yo fè anpil pi wo nivo bagay
pase C fè sa, se pa ki anpil nan yon obstak,
paske ou deja genyen an lide debaz yo nan sentaks la.
C a te alantou pou prèske 45 ane nan pwen sa.
PHP a te alantou pou sou 20 ane sa yo.
Ak nan ki 25 ane nan ant, pwogramasyon
detèmine ke yo ta pi olye gen pi gwo kapasite nivo,
ak erè yo ak lit a 20 ane ki nan ant
mennen nan PHP ak lòt lang modèn.
>> PHP nan yon gwo chwa nan ak lang pou lojisyèl
ki allow-- pou lojisyèl that-- kote ou
bezwen fè bagay sa yo ke nan C yo aktyèlman konplike.
Se konsa, pou egzanp, k ap travay ak strings nan C
se bagay ki konplike anpil, paske kòm nou konnen, strings nan C
yo se reyèlman jis ranje nan karaktè.
Li pa yon bati-nan kalite done.
Oswa petèt plis fondamantalman, yon bagay nou pa t 'menm kouvri nan C,
sa ki si ou bezwen fè kèk rezo òdinatè?
Tout dwa?
>> C gen kapasite nan fè l ', men li nan tèlman Esoteric ak tèlman difisil yo aktyèlman fè.
Pa li ta dwe nice si an lang te gen yon bati-an, fason fasil
aplike rezo?
Apre sa, PHP se yon lang ki fè sa, oswa fasilite sa, byen yon ti jan plis.
Kòm mwen te di, PHP se yon bagay ki lou enspire pa C. sentaks la se trè menm jan an.
Se konsa, li ta dwe èspere ke fè an tranzisyon soti nan yon nan lòt la
yon ti jan douser pase kèk lòt lang te vle di.
>> Pou yo kòmanse ekri PHP, jis louvri moute yon dosye ak ekstansyon nan dosye php.
Teknikman sa a se pa aktyèlman obligatwa,
men si ou vle bagay sa yo tankou sentaks en nan IDE, se konsa ke kalite
non, oswa non varyab, fonksyon, ou konnen, mo kle sa yo nan lang lan
yo make nan yon koulè espesifik, anjeneral ou
vle nan non dosye ou a ak yon dosye ekstansyon patikilye.
Se konsa, nou te yo te rele dosye nou an avèk yon php ekstansyon, men Lè sa a tou ak PHP,
tout kòd la PHP nou ekri nan ki dosye gen yo dwe fèmen nan sa yo PHP
separateur ke nou wè isit la sou ekran an.
Ang php bracket? Yo kòmanse.
Lè sa a, nou ekri tout nan PHP nou an kòd ki nou vle nan ant.
Lè sa a,?
bracket ang yo fèmen.
>> Si nou pa fè sa, Lè sa a, sa ki pwal rive?
Li nan pa ale nan aksidan.
Li nan pa ale nan reyèlman ruin pwogram nou an.
Men, li pa k ap pase yo gen efè a ke nou vle.
Ki sa ki nan pral rive, reyèlman, se ke lè nou eseye epi kouri pwogram sa a,
tout bagay pa ant moun separateur yo pral enprime soti motamo.
Li nan pa ale nan aktyèlman egzekite kòd la,
li k ap pase yo jis enprime li motamo.
>> Koulye a, poukisa se ka a?
Se konsa, C se sa k ap li te ye kòm yon lang konpile.
Ou se pwobableman abitye avèk etap la nan fè pwogram ou an,
vire dosye yo c ak dosye h nan yon ègzèkutabl sèl ak fè,
an patikilye lè l sèvi avèk Sonnen kòm du nou an.
PHP, menm si, pa fè sa gen ekivalan sa a.
PHP se sa ki rele yon entèprete lang.
Ak sa ki sa vle di?
>> Oke, sa vle di nou pa gen konvèti sous nou Kòd zewo ak moun yo
davans.
Olye de sa, gen nan yon pwogram, ki se yo te rele tou
PHP, ki konprann PHP ak ka sòt de fè li sou vole a.
Sa a pa reyèlman egzakteman egzat, men li la yon analoji trè bon
nan sa ki k ap pase.
Li nan entèprete sa yo zero ak moun yo sou vole a.
Se konsa, si li pa konnen Ki jan yo travay sou yon bagay,
si li pa konnen ki jan yo pwosesis PHP, pwobableman ou
te vle mete sa tèks nan la, dwa?
>> Ou pwobableman te vle mete kòd la nan la, menm si li pa genyen ant PHP--
PHP separateur yo.
But-- se konsa li a pa pral yo efase li pou ou,
li nan jis ale nan fondamantalman jete li.
Se konsa, li k ap pase yo enprime li soti nan ekran an.
>> Sa a sanble tankou li nan yon move bagay, men aktyèlman li a
pral gen yon vrèman bon bagay, kòm nou pral
wè lè nou pale sou PHP devlopman sou sit wèb ★
paske li vle di nou kapab sme PHP ak HTML.
Nou ka sèvi ak yo ansanm yo kreye yon paj entènèt plis dinamik.
Men, plis sou sa nan la videyo sou PHP devlopman entènèt.
>> Se konsa, ki sa ki sentaks la nan PHP?
Sa a ki sa videyo sa a se tout sou.
Se pou nou pale sou li.
>> Se konsa, yo kòmanse soti, varyab.
PHP varyab egziste.
Gen jis de gwo diferans soti nan C.
Premye a se ke gen nan pa gen okenn kalite Dvi.
Nou pa te vle di int, Char, flote, tout sa ki bagay.
Nou pa gen fè sa ankò.
PHP se yon lang modèn.
Li kapab konnen ki sa w ap ap eseye fè oswa fè yon pi bon
devine tankou sa ki w ap eseye fè.
Se konsa, sa a, se trè bèl.
>> Bagay la lòt se ke tout varyab non gen kòmanse ak yon siy dola.
Se jis yon bagay yo jwenn itilize.
Li se yon ti kras etranj, paske li nan se konsa ke PHP ka konprann
sa ki nan yon varyab ak sa ki nan pa.
Se konsa, chak non varyab kòmanse ak yon siy dola.
Se konsa, nan C nou ta ka di yon bagay tankou sa a, int x = 54.
Nou pa gen fè sa ankò nan PHP.
Nou ka jis di $ x = 54.
Apre sa, nou te kapab di, pou egzanp, nan C, si nou te liv-enkli h la CS50
dosye header, nou te ka di fraz fisèl = "Sa a se CS50."
Nou pa gen fè sa nan PHP, menm si.
Nou ka jis di $ fraz = "Sa a se CS50."
Ak an reyalite, fisèl se kounye a yon bati-an di ki done nan PHP,
ou pito PHP konprann ki sa yon fisèl se.
Li nan separe de yon etalaj nan karaktè tankou li se nan C.
Tout pi renmen ou deklarasyon kondisyonèl soti nan C
yo toujou disponib pou ou pou w itilize.
Konsa pa gen gwo tranzisyon a.
Nou ka say-- nou ka gen si deklarasyon tankou sa a.
si $ y 43, oswa $ z = 15.
Se konsa, sa a, se trè dwat.
Nou ka gen si ak lòt bagay.
Nou ka gen si ak lòt bagay si.
>> Apre sa, remake yon bagay trè bèl isit la, ak sa a
se sòt de youn nan moun ki avantaj ki genyen nan PHP kont C, avi
sa fonksyon nou pa ap sèvi ak isit la?
Nou ap lè l sèvi avèk == yo konpare yon varyab, $ non, nan yon fisèl.
Nou pa t 'kapab fè sa nan C, dwa?
Nou te gen yo sèvi ak yon fonksyon rele StrComp oswa StrEndComp oswa nenpòt
nan kouzen ki gen rapò li yo.
>> Se konsa, deja nou wè avantaj sa yo.
Nou pa gen fè yon bagay kòm komik oswa petèt unintuitive
kòm rele yon fonksyon rele StrComp si mwen jis vle teste
si wi ou non se yon valè egal yon kòd.
Mwen te kapab jis itilize egal egal, tankou mwen te kapab fè nenpòt lòt bagay.
Se konsa, gen nan yon avantaj.
>> Pafwa, nan chemen an, ou ta ka wè lòt bagay si kòm youn mo, èlzif.
Epi sa a, OK nan PHP kòm byen.
Se konsa, pafwa ou ta ka wè sa.
Li pa yon Typo.
PHP aktyèlman konprann èlzif.
Mwen pa konnen poukisa yo deside aplike sa,
men kòm nou te wè anpil fwa nan tout videyo nou an twò lwen,
nou pwogramasyon renmen li si nou ka fè bagay sa yo byen vit,
se konsa pou elimine pou nan espas sa se aparamman yon gwo avantaj.
>> Se konsa, sa a, se si ak èlzif.
Nou genyen tou operatè a tèrsyèr, sonje kesyon mak kolon,
pou fòm vrèman kout si lòt bagay oswa kondisyonèl branch.
Apre sa, aparamman, nan sa a, ki sa nou ap eseye fè isit la
se bay varyab la lèt $ swa vre oubyen fo,
tou depann de si wi ou non $ var se yon karaktè alfabetik.
Se konsa, sa a se trè menm jan ak isalpha ke nou ap abitye ak soti nan C.
Sa a se sòt de ekivalan a nan PHP.
Fonksyon an se aparamman rele ctype_alpha,
men sa a ki jan nou fè l 'nan PHP.
Se konsa, tout bagay sa a se pral fè se, si $ var se yon lèt, $ lèt se verite.
Si $ var se pa yon lèt, $ lèt se fo.
>> Nou genyen tou deklarasyon switch toujou.
N ap raple moun ki soti nan C osi byen.
Nan tèt la anpil la, lè sa a jan nou fè yon bagay tankou jwenn Int oswa pou w jwenn fisèl.
Se konsa, PHP gen ki bati nan.
Nou pa bezwen bibliyotèk la CS50 ankò.
Nou ka jis itilize rèdlin nan fonksyon.
Ki sa ki nan pral fè se ekri an lèt detache soti mesaj la, "eta ou,
tanpri, "ak Lè sa kliyote èd memwa ap tann pou itilizatè a D '
kèk enfòmasyon.
Koulye a, remake ki lòt bagay nou ka fè ak switch.
Si ou te itilize li anvan, ou ka sonje ki switch
sa sèlman bèl anpil yo nonm antye relatif ak karaktè, men kounye a nou ka sèvi ak strings.
Ak an reyalite, deklarasyon an switch nan PHP se byen yon ti jan pi fleksib
pase kouzen li yo soti nan C.
Pasan.
Jis tankou kondisyonal, nan tout favori yo fin vye granmoun ou yo ap toujou la.
Nou gen pandan y ap pasan ki konte nan 1 rive nan 100 nan ka sa a.
Nou te fè pandan y ap pasan ki konte nan 1 rive nan 100,
e nou gen pou pasan ki konte nan 1 rive nan 100.
Konsa pa gen gwo kwasans la.
Sentaks la se trè pi ekzakteman menm bagay la,
eksepte kounye a nou ap itilize dola varyab siy olye pou
a deklare varyab nonb antye relatif oswa yon bagay tankou sa pou kontè nou an.
>> Isit la nan kote bagay sa yo jwenn yon anpil pi bon pase C, menm si.
Ranje.
Se konsa, sonje lè nou te ap pale de C, yo nan lòd
pou nou yo grandi ak retresi kouche nan enfòmasyon,
nou bezwen sòt nan default ak ide sa a nan yon lis lye,
paske C ranje yo te fiks nan gwosè.
Nou pa t 'kapab retresi yo.
Nou pa te kapab grandi yo.
Nou te gen aloue memwa ak fè tout bagay moun fou sa a
oswa itilize lis lye, ki Leve kanpe, pran byen yon ti jan pi plis espas.
Men, nan PHP, ranje yo se pa fiks nan gwosè ankò.
Yo ka grandi epi yo ka retresi.
Se konsa, ankò, 20 ane sa yo ki te egziste ant liberasyon an premye nan C
ak premye PHP la lage, nou deside ke, ou konnen,
li ta reyèlman gwo si nou te ka fè sa.
Se konsa, nou aplike sa a.
>> Se konsa, ranje PHP yo pa fiks nan gwosè, epi paske PHP fè sa ki pa reyèlman
gen pwogramè devan-fè fas nosyon a kalite,
nou ka melanje kalite done nan ranje nou an, tou.
Se konsa, nou pa menm gen yo sèvi ak tout nonm antye relatif oswa tout pwen k ap flote,
nou ka gen yon melanj de tout kalite diferan nan yon etalaj sèl.
Deklare yon etalaj se trè dwat.
Se jis tankou nenpòt ki lòt varyab.
$ nom = etalaj (1, 2, 3, 4), etalaj ke yo te yon fonksyon
ki nan bati nan PHP ki pral kreye yon etalaj pou ou.
Sa vin kreye yon etalaj nan kat valè, nimewo nan ka sa a, ki rele $ nom.
Apre sa, nan plis pase yon fason yo fè li.
Epi nou ap ale nan wè sa a yon anpil nan PHP.
PHP te devlope pa anpil diferan moun ak ap grandi ak ap grandi ak ap grandi.
Genyen anjeneral pa jis de oswa twa fason fè yon bagay nan PHP,
gen nan anjeneral tankou 10 oswa 20.
Isit la nan yon lòt komen jis fason yo deklare yon etalaj.
$ nom = kare bracket 1, 2, 3, 4.
Se konsa, sa a se sòt de menm jan ak ang C nan br-- notasyon atèl Curly, olye. $ -
oswa li ta nom Int kare parantèz egal Curly atèl 1, 2, 3, 4.
Nan PHP li nan $ nom = kare parantèz 1, 2, 3, 4.
Men yo tou de nan egzanp sa yo isit la ban m ' yon etalaj de kat nan ka sa a nonm antye relatif.
>> E si mwen vle fofile yon bagay sou kounye a?
Oke mwen kapab jis di $ nom 4, ki ankò, nou ap toujou konte ki ant 0 isit la
nan PHP, ta dwe senkyèm lan eleman nan etalaj la.
Mwen kapab jis di sa.
Mwen pa ale nan soufri yon seg fòt, paske etalaj mwen se jis
ale nan grandi li akomode sa.
Sa a trè bèl, dwa?
Ak nan reyalite, mwen pa menm bezwen presize kote mwen vle mete li.
Mwen ka jis di sa a ak jis fofile li dwa sou nan fen a,
oswa mwen te kapab menm jis di $ nom 20 oswa 1,000.
Li pa reyèlman gen pwoblèm.
Li nan toujou jis ale nan fofile li dwa sou nan fen an.
>> Se konsa, mwen ka grandi, ak as-- nou ap pa ale nan kouvri l 'nan isit la,
men mwen ka konvole oswa teren eleman soti nan etalaj la kòm byen,
ak etalaj la ap retresi li akomode ke kounye a manke oswa vid espas.
Genyen yon lòt fason yo fofile yon bagay sou yon etalaj,
ki se yon fonksyon rele array_push.
Se konsa, ankò, jis ide sa a pou yo te kapab fè bagay sa yo plizyè fason diferan.
Se konsa, nou te wè twa fason diferan kounye a fofile yon lòt eleman sou yon etalaj.
Se konsa, sa a ajoute yon lòt eleman nan fen a nan etalaj la $ nom.
Apre sa, nou ka melanje moute kalite done nou an.
Se konsa, mwen te kapab gen yon etalaj de pa 1, 2, 3, 4, men 1, vre, 3, 4,
kote vre se yon Boolean, ak Lè sa si mwen vle fofile sou yon lòt eleman
ak sa yo ki etalaj, petèt yon fisèl, fisèl la "senk," mwen te kapab fè sa.
Epi, koulye a etalaj mwen ta dwe 1, vre, 3, 4, senk.
Pawòl Bondye a senk, pa nonb antye ki pè a 5.
Se konsa, yon anpil nan fleksibilite a.
>> Fleksibilite a vin menm pi bon, menm si,
paske PHP gen sipò pou yon bagay rele yon etalaj asosyatif.
Apre sa, nou sòt de te pale osijè vagman ranje sou asosyatif nan C
nan yon kontèks la nan tab regle, paske sa ranje asosyatif se reyèlman tout
sou yo ap fè kle valè pè mapin.
Ak nan ka sa a, keys-- a si nou ap abitye avèk ranje soti nan C,
kle yo yo se chif endèks.
0, 1, 2, 3.
Apre sa, valè yo yo se sa ki nou jwenn ke etalaj 0, etalaj 1, etalaj 2, ak sou sa.
Se konsa, kle yo se endis, ak valè yo se
ki sa ki nan ke kote etalaj, espesifye nan ki endèks.
>> Men, nan PHP, nou pa dwe fè sa a nosyon nan etalaj 0, etalaj 1, etalaj 2
ankò.
Nou kapab kounye a sèvi ak mo aktyèl nan kat jeyografik kle nan valè.
Se konsa, mwen te kapab di yon bagay tankou sa a.
Mwen te kapab kreye yon etalaj lè l sèvi avèk la kare sentaks bracket jan sa a.
$ pitza = bracket kare "fwomaj" ak Lè sa a
sa a sòt de notasyon flèch doub, 8.99, "pepewoni," flèch 10.99-- 9.99,
ak sou sa.
Se konsa, sa k ap pase isit la?
Kisa mwen aktyèlman ap fè?
M 'ap kreye kle valè pè mapin.
Se konsa, olye pou yo li di, pou egzanp, pitza 0, moso 1, pitza 2,
Mwen kapab kounye a di pitza fwomaj, pitza pepewoni,
ak, al gade nan valè yo ki asosye ak yo.
>> Se konsa, isit la yo se kle nou yo nan vèt.
Fwomaj, pepewoni, legim, poul Buffalo.
Isit la se flèch la ki fè sa a kle valè pè kat.
Lè sa a, isit la yo se valè yo nan ki kote etalaj.
Se konsa, li tankou li di etalaj 0 egal 8.99.
Kle a se 0.
Valè a se 8.99.
Mwen kapab kounye a di etalaj fwomaj, oswa nan sa a ka pitza fwomaj, fwomaj se kle a,
epi ki sa mwen jwenn nan pitza fwomaj se 8.99.
Sa a valè a ke mwen jwenn la.
>> Se konsa, mwen ka di bagay sa yo renmen. $ pitza fwomaj = 7.99.
Di mwen gen yon sale.
Mwen vle dis-- mwen vle lage pri a nan pitza a fwomaj.
Oswa mwen ka itilize legim nan pitza kòm yon pati nan yon kondisyon,
oswa mwen kapab ajoute yon eleman ki nouvo nan m ' etalaj, jis tankou mwen te kapab fè deja.
Mwen kapab ajoute yon eleman nouvo nan sa a asosyatif etalaj ak kle "bekonn a"
ak valè a 13,49.
>> Men, sa a sòt de entwodui yon pwoblèm, si ou panse sou li pou yon dezyèm fwa.
Ki jan nou ta repekte nan etalaj sa a?
Dwa?
Nan C, nou ta jis gen yon pou riban, tipikman, ki
ta kouri ki ant 0 a nan gwosè nan etalaj la mwens 1.
Etalaj la gen eleman n nan nan, nan endis ki valab yo se 0 a n mwens 1.
Se konsa, nou te kapab itilize yon pou riban etap nan chak eleman sèl.
>> Men, sa a pa reyèlman ka a ankò, dwa?
Koulye a, kote nou gen valè kle pè mapin kote kle yo se mo,
ki jan nou repekte sou tout nan mo sa yo?
Oke, erezman, PHP gen yon fason fè fas ak sa a tou,
e konsa nou pral so tounen pasan pou yon dezyèm
prezante yon kalite katriyèm nan bouk ki egziste nan PHP rele yon bouk fortch.
Ak sa ki yon bouk fortch fè se li nan fondamantalman lide a menm.
Ou ka sèvi ak li pou nenpòt ki kalite etalaj.
Men, li la fondamantalman nan menm lide kòm yon pou riban,
eksepte olye pou yo lè l sèvi avèk nimewo endèks, ou jis
gen sentaks sa a etranj kote ou rele chak eleman sèl
yon non pou rezon ki nan sa a riban.
>> Se konsa, nan ka sa a, fortch ($ etalaj kòm $ kle).
Fondamantalman, kòm sa yo ki nòt kòmantè, andedan nan ki bouk fortch,
li pral ale sou chak yon sèl eleman nan $ etalaj, ki se tipikman
pral fè yon etalaj asosyatif, men yo ka vrèman dwe nenpòt kalite etalaj
ke ou vle nan PHP.
Apre sa, chak fwa ke nan yon pou riban ou ta ka
te di $ etalaj parantèz kare $ mwen, ou ta ka jis di $ kle.
Se konsa, ke kle $ vin yon alyas pou chak endèks nan etalaj asosyatif PHP ou,
epi konsa ou ka sèvi ak li tankou sa.
>> Se konsa, pou egzanp, nou te kounye a te resevwa etalaj pitza nou an.
Mwen te kalite rantre li nan kwen an gen
pou nou ka sèvi ak li nan fè yon egzanp rapid.
Si mwen di fortch ($ pitza kòm $ pitza), byen, sa k ap pase?
Oke, mwen pral repekte nan chak sèl eleman nan etalaj $ pitza yo,
ak nan li ap fè travay, mwen pral yo rele chak eleman, lè mwen se andedan
nan kò a nan ke pou riban, $ pitza.
>> Se konsa, sa a, se sòt de yon kanpe-a, sonje, ke $ pitza
se yon kanpe-an pou li di $ pitza parantèz kare $ mwen
si nou te lè l sèvi avèk yon pou riban, kote nou t 'ka ale soti nan $ mwen = 0 a, nan ka sa a,
$ mwen = 3.
Si nou pa t 'gen valè kle pè isit la, sa a ta ka eleman 0, 1, 2, 3,
e nou ta sèvi ak yon pou riban yo ale $ pitza 0, $ pitza 1, $ pitza 2,
$ pitza 3.
Se konsa, kounye a jis $ pitza se ranplase pou sa kle endividyèl elèv yo.
>> Se konsa, sa sa a se ale nan enprime soti?
Mwen enprime soti $ pitza.
Kisa mwen pral jwenn at-- si mwen enprime soti $ pitza, $ mwen?
Dwa?
Si mwen pral enprime soti eleman nan on nan pitza,
sa mwen pral ekri ak lèt ​​detache?
Mwen pral enprime soti nan valè nan ki kote, dwa?
Fè tankou si nou t ap fè sa a nan yon kontèks la nan C,
nou pa anjeneral itilize iterator nou an varyab, int mwen = 0, mwen se mwens pase 3,
mwen ++, nan enprime soti 0, 1, 2, 3.
Nou ap enprime soti etalaj 0, etalaj 1, etalaj 2, etalaj 3.
Se konsa, ki sa sa a simagri soti se sa a.
Li nan lis la nan pri.
8.99, 9.99, 10.99, 11.99.
>> Koulye a, yon nòt rapid isit la.
Yon riban fortch pa fè sa nesesèman enprime soti bagay sa yo nan lòd.
Li pa nan garanti.
Li anjeneral fè.
Li nan anjeneral ki baze sou lòd la nan ki eleman yo te ajoute nan etalaj la,
Se konsa, jis pote ki nan tèt li.
Li pa ta ka nan lòd.
Men, yon bouk fortch pral repekte atravè chak eleman yon sèl
nan etalaj la nan kesyon an.
Nan ka sa a, ankò, ki etalaj la se $ pitza.
>> Mwen ka chanje sentaks la, menm si, si Mwen vle tou de kle a ak valè a.
Olye pou yo di $ pitza ke $ pitza, mwen kapab di sa a.
Men, si ou gade nan ki sa mwen te make nan vèt isit la,
li sanble yon kle valè pè kat.
Se konsa, si you-- menm si ou pa antyèman asire ki sa li pral fè,
ou ka pwobableman devine ke $ topping ki pral
yo dwe kle a nan ka sa a ak $ pri a pwal valè an.
Se konsa, mwen ranplase kounye a chak eleman de $ pitza kòm yon valè kle pè,
e kounye a, mwen kapab, al gade nan kle a epi valè a, ki ta ka an sou la men,
pou egzanp, jan sa a.
>> "Yon antye" - sa a se yon anpil nan enprime ale sou isit lan-- "Yon antye"
topping "pitza koute $" pri, ak Lè sa Mwen enprime soti yon peryòd ak yon n antislach.
Se konsa, kounye a, avi ankò mwen gen aksè nan yon kle, $ topping, ak yon valè, $ pri.
Se konsa, ou ka devine ki sa sa a ki pral enprime soti?
Genyen yon anpil nan deklarasyon ekri an lèt detache, men gen nan sèlman yon sèl antislach n,
se konsa li k ap pase yo enprime yon bagay sou yon entire-- sou yon sèl liy nan kòd.
>> Si m 'ka al gade nan kle a ak valè a, lè sa a kounye a,
olye pou yo jis ke yo te kapab ekri ak lèt ​​detache soti pri yo,
Mwen kapab enprime soti yon bagay tankou sa a.
"Yon pitza fwomaj antye koute $ 8.99."
Epi, koulye a mwen lè l sèvi avèk tout nan keys-- nan fwomaj, pepewoni, legim,
Buffalo chicken-- ak valè yo.
8.99, 9.99, 10.99, 11.99 Se konsa, sa se sèlman yon fason diferan
fè yon bouk fortch ke olye pou yo jis bay ou gen aksè nan valè yo,
li jis bay you-- li ba ou aksè nan kle yo ak valè yo.
>> Se konsa, enprime soti enfòmasyon.
Mwen te deja fè l 'yon koup la diferan fason, ou ta ka gen remake.
De fonksyon yo nou te prensipalman wè yo enprime ak eko.
Se pou bèl anpil tout entansyon ak rezon, yo ap ekzakteman menm bagay la.
They're-- gen nan yon trè sibtil diferans sa a, se pa menm vo
trape nan, men fondamantalman tout kote ou ka itilize ekri an lèt detache ou ka pwobableman itilize
eko kòm byen.
>> Epi sa a, pa de a sèlman.
PHP gen yon anpil nan diferan fason yo enprime bagay sa yo soti,
epi li tou te gen fason yo entegre varyab nan mitan an nan fisèl.
Se konsa, sonje soti nan C, ou sonje sa fonksyon
nou ka sèvi ak pran plas varyab nan bagay sa yo nou vle enprime soti?
Ou pwobableman itilize sa a fonksyone byen yon anpil.
printf, dwa?
Se konsa, sa a se ki sa nou te gen anvan andedan nan kontèks la nan bouk fortch nou an.
Nou te gen sa yo senk deklarasyon ekri an lèt detache ki apa a,
paske sa te sèlman nan fason mwen reyèlman te konnen nan moman an
Ki jan yo enprime soti mesaj.
Mwen pa t 'konnen ki jan yo entegre nan varyab $ topping nan kòd PHP m 'yo.
Bon, si mwen jis pran yon devine sovaj, printf, li aktyèlman ta gen te travay.
printf se yon fonksyon ke mwen ka itilize nan PHP, jis tankou mwen ka sèvi ak li nan C.
>> Se konsa, yon bagay tankou sa a, printf, ankò, nou ap abitye ak sa.
Premye% s la se ranplase ak valè a nan $ topping.
Dezyèm% s la se ranplase ak valè a nan $ pri.
Se konsa, mwen interpellating, ki se jis yon fason anpenpan
nan di mwen rete soude nan varyab nan ki kote.
Se konsa, mwen rakorde nan $ topping kote a wouj% a se ak $ pri ki kote% nan ble a
se, ak lè sa a mwen ta jwenn mesaj la, "Yon pitza fwomaj antye koute $ 8.99."
>> Pa wout la sèlman mwen ka fè l ', menm si.
Petèt mwen ta vle sèvi ak metòd sa a.
Sa a se aktyèlman sa ki nan pi souvan rele varyab entèrpelasyon.
Mwen ka itilize yon eko.
Mwen te kapab sèvi ak yon ekri an lèt detache tou, jan nou pral wè.
Men, sa ki k ap pase isit la?
>> Premye a tout, mwen gen yo chape siyen an dola.
Paske sonje, lè nou te aktyèlman enprime soti pri yo nan pitza yo,
Mwen te aktyèlman yo kòm fòma figi monetè ak yon siy dola.
Men, nou ap sèvi ak siy dola tou ki reprezante non varyab nan PHP,
ak an patikilye lè mwen se lè l sèvi avèk metòd sa a nan Curly a
varyab atèl metòd entèrpelasyon, mwen bezwen
yo sove siy dola m 'konsa li pa fè sa panse mwen ap pale de yon varyab.
Li k ap pase yo aktyèlman, literalman enprime yon siy dola.
>> Se konsa, sòt de analogize li nan sa ou wè nan fen a.
Li fè sa ki pa aktyèlman ekri an lèt detache antislach n, dwa?
Li simagri soti yon karaktè nouvo liy.
Sa a is-- li a pa ale nan ekri an lèt detache siy dola antislach,
li pral ekri ak lèt ​​detache soti jis yon karaktè siy dola.
Menm lide.
Chape anba sekans, ki sa bagay sa yo rele.
>> Men, remake ke mwen pa fè nenpòt ki sòt de% s sibstitisyon,
Mwen jis literalman rakorde nan sa yo varyab.
Se konsa, nan sa a men sa ki ta rive isit la se ke valè a nan $ topping-- ankò,
jis kenbe ak sa nou ve yo te ap pale de se konsa far-- fwomaj ta jwenn
ploge nan la.
Ak $ pri ta dwe tou sa valè a pitza, parantèz kare, fwomaj,
ki te 8.99.
Se konsa, sa a ta tou enprime soti "Yon pitza fwomaj antye koute $ 8.99."
Li te tankou mwen te di, mwen ta ka itilize enprime isit la olye pou yo eko,
ak fonctionnalités nan gen bèl anpil ekzakteman menm bagay la.
Li ta enprime soti menm bagay la.
>> Genyen yon lòt fason yo fè l ', ak sa a se yon lòt avantaj
nan PHP travay ak strings.
Nou ka fè fisèl Anchènman.
Nou te kapab fè sa nan C, tou, lè l sèvi avèk yon fonksyon rele strka,
men ankò, nou te rele fonksyon ki apa a.
Li te dezòd sa a antye rive sou fè.
Nou te gen liv-gen ladan string.h.
Se te yon pwodiksyon, dwa?
Men koulye a, mwen ka jis itilize sa a operatè dot anchene strings ansanm.
>> Se konsa, mwen konkatenan "Yon antye" ak Lè sa a, tou sa valè a nan $ topping se,
Lè sa a, yon lòt ak fisèl, "depans pitza $"
Lè sa a, tou sa konkatenan ak valè a nan $ pri se,
ak Lè sa a nan fen a anpil mwen se tacking sou peryòd antislach n.
Se konsa, sa a ta tou enprime soti "Yon antye" - ankò,
si nou ap pale de premye a eleman nan ki array-- pitza
"Yon pitza fwomaj antye koute $ 8.99."
Peryòd, antislach n, ankò, ak $ topping a ak $ pri ranplase enfòmasyon
pou ki sa nou te espesifye nan fortch nou an bouk kòm kle valè pè kat la.
>> PHP ka okipe fonksyon.
Fonksyon te sòt de entegral nan C, jan nou te wè.
Fè tankou varyab, nou pa bezwen presize kalite a retounen nan fonksyon an,
paske li pa reyèlman gen pwoblèm.
Apre sa, nou pa presize nan kalite done nan nenpòt ki paramèt,
paske yo pa fè sa vrèman matyè, tankou nou te wè nan PHP.
Chak fonksyon prezante ak mo kle a fonksyon.
Sa a ki jan nou endike PHP ki ki sa nou ap pale de se yon fonksyon.
>> Apre sa, nou pa bezwen fas ak prensipal nan tout,
paske entèprèt la, PHP a entèprèt, travay depi anwo jouk anba,
kèlkeswa.
Si li wè ou ka fè yon apèl fonksyon, li pral
ale jwenn apèl la fonksyon, menm si li rive pita.
Men, li k ap pase yo li depi anwo jouk anba, se konsa nou pa bezwen presize,
isit la nan kote ou kòmanse.
Ou kòmanse sou liy 1 de ou PHP ak travay desann soti nan la.
>> Se konsa, isit la se ki jan nou ta kreye yon fonksyon rele hard_square.
Li aparamman pran yon sèl paramèt, ki mwen ap rele $ x.
Se fonksyon sa a konplike jis ilistre divès kalite bagay sa yo.
Nou toujou gen valè retou.
Mwen lè l sèvi avèk yon pou riban isit la.
Men, li la fondamantalman jis, ki sa sa a kantite lajan nan se jis $ x fwa $ x.
Sa mwen ap aktyèlman fè se jis ajoute x nan 0 x fwa oswa $ x nan zewo $ x fwa.
Men, li la efektivman egzakteman nan menm jan ak miltipliye $ x fwa $ x.
Mwen ka toujou retounen yon valè, nan sa a $ rezilta a,
ak mwen te fè yon fonksyon nan PHP.
>> Men ki jan ou ta ka sèvi ak li nan yon kontèks.
Se konsa, petèt mwen se andedan nan kèk dosye PHP.
Avi nan ble deyò ki Mwen te itilize separateur PHP m 'yo,
bracket ang kesyon mak PHP.
Nan ant sa yo se tout nan PHP a ke mwen vle ekri.
Se konsa, mwen aparamman ale nan get-- Mwen pral pouse itilizatè a
ban m 'yon nimewo, magazen ki varyab, magazen nan varyab sa $ x,
tou sa yo te ban m '.
Lè sa a, mwen pral repete hard_square nan ki valè,
ak aparamman pral fofile sou yon liy nouvo
kòm byen, ak Lè sa a pita sou mwen pral defini fonksyon an se konsa hard_square
ke lè mwen fè a rele nan hard_square,
li konnen sa m ap pale de.
>> Koulye a, mwen ta ka tou fè yon bagay tankou sa a.
Sa a se yon ti kras diferan.
Li nan prèske egzakteman nan menm jan ak sa nou te wè anvan,
eksepte olye pou yo li di jis $ x gen kòm paramèt nan hard_square,
M ap di $ x = 10.
Se konsa, sa a se yon egzanp sou pwogram defans,
veye pwogram ou kont itilizatè move.
>> Sa a se yon fason fè kèk erè tcheke ke nou pa t 'reyèlman
gen kòm yon opsyon nan C. Nou te kapab pa janm presize valè a default nan yon bagay.
Nou toujou te gen yo tcheke si wi ou non nan, pou egzanp,
si nou te fè yon rele nan GetString, li te pi bon si imedyatman apre nou
tcheke sa, nou tcheke si wi ou non fisèl la
ki itilizatè a te ban nou se pa egal a nil,
paske nou pa vle kòmanse travay ak yon afè nil.
>> Isit la, sa a se yon fason gade kont sa.
Si itilizatè a pa bay nou yon bagay yon jan kanmenm, kisa nou pral fè?
Oke, nou pral jis di tou sa yo pa t 'bay nou,
nou ap jis ale nan ploge nan 10 pito.
Se konsa, si yo pa t 'ban nou yon valè, jis itilize 10 pa defo. Se konsa, isit la,
remake ke mwen fè yon rele nan hard_square,
men gen nan pa gen èd memwa itilizatè a, dwa?
Mwen jis fè yon apèl vid.
>> Men, fonksyon mwen hard_square ap tann yon paramèt.
Ki sa ki sa a pral enprime soti?
Li nan ale nan enprime soti 100, dwa?
Paske itilizatè a pa t ' ban m 'anyen.
Se konsa, mwen jis ale nan asime ki 10-- 10 se valè a default.
Se konsa, sa a ta enprime soti 100 sou liy pwòp li yo.
>> PHP dosye pa bezwen ka jis yon dosye sèl.
Ou ka konbine dosye miltip ansanm, jis tankou ou kapab nan C. Fason ki
nou te fè ke nan C te tipikman fè yon # enkli yo ka resevwa dosye header rale nan.
Nou pa fè sa nan PHP.
Nou fè yon bagay yo rele require_once.
Lè sa a, gen nan antye sa a bagay, sa ki nan __dir__ sa a?
Se jis yon espesyal varyab, oswa konstan espesyal,
reyèlman, ki espesifye ki sa anyè ou ye kounye a se.
Se konsa, li k ap pase yo gade nan anyè ou ye kounye a
pou yon dosye rele cs50.php nan egzanp sa a isit la,
epi li k ap pase nan bwa ke dosye nan tèt la nan pwogram PHP ou,
an konsideran ke ou mete mande pou nan yon fwa liy nan tèt la nan dosye PHP ou yo.
>> Se konsa, PHP se sitou itilize, men se pa sèlman itilize,
kòm yon lang pou pwogram ki baze sou wèb.
Sa ki nan vrèman ki jan li te vini yo dwe.
Men, li se yon plen lang, kòm nou te wè.
Nou te wè bèl anpil tout bagay sa yo ke li ka fè sa yo sanble ak C,
epi li ka fè yon èk nan yon anpil plis pase sa.
>> Men, paske li nan yon lang plen epi nou kapab fè pwogram liy lòd nan li.
Nou ka kouri pwogram liy lòd.
Tout sa ki nan oblije kouri nan yon lòd pwogram liy ki nan ekri nan PHP
se ke ou gen yon entèprèt PHP.
Se konsa, li sòt de analoji nan li te gen yon du sou sistèm ou
si ou vle konpile kòd ou a C vire l 'nan dosye ègzèkutabl.
Ou bezwen gen yon entèprèt PHP ki egziste sou sistèm ou
pou ke ou ka entèprete PHP dosye.
>> Si nou sipoze ou, epi anjeneral se entèprèt sa a yo rele PHP,
ak li a anjeneral fourni ak pi downloads oswa enstalasyon nan PHP
ke ou kapab jwenn sou entènèt, ak sètènman non an nan entèprèt la PHP
nou gen nan CS50, IDE.
Tout sa ou fè se kalite dosye php.
Ak sa ki pwogram ou an pral fè se li nan
ale nan kouri nan entèprèt la, li nan
ale nan inyore tout bagay sa a, se pa nan ant kesyon mark--
oswa, ang bracket mak kesyon PHP, separateur yo PHP, epi enprime li soti,
epi li pral entèprete ak egzekite nan Kòd andedan nan separateur PHP ou yo.
>> Se konsa an n pòp nan men CS50 IDE ak gen yon gade nan yon koup nan PHP dosye,
kouri yon koup la PHP dosye, nan lòd liy koòdone nan CS50 IDE.
Se konsa, isit la nou yo nan CS50 IDE, epi mwen te pran libète a
nan ouvèti yon dosye rele hello1.php.
Apre sa, aparamman, sa ki nan sa a dosye yo se jis separateur yo PHP a,
ak nan ant, eko ("hello, mond").
Sa a se yon pwogram PHP trè senp.
Mwen jis ale nan desann bò fennèt tèminal m 'isit la,
ak mwen pral tape php hello1.php, frape antre.
Hello, nan lemonn.
Sa a pwobableman sa nou te tann li fè, dwa?
>> Ann al leve, li pran yon lòt gade nan yon pwogram.
hello2.php.
Bèl anpil menm bagay la, pa yon anpil ale sou isit la.
Tan sa a, menm si, mwen pral pouse itilizatè a ban m 'non yo.
Mwen lè l sèvi avèk ki fonksyon rèdlin ankò.
$ Non = rèdlin.
Sa a èd memwa a, "Ki jan ou rele?"
>> Aparamman mwen se enprime l 'sou liy pwòp li yo.
Lè sa a,, se konsa liy ki anba la a ki pral èd memwa a
kote itilizatè a ka antre nan non yo.
Lè sa a, m ap lè l sèvi avèk yon ti kras nan varyab entèrpelasyon isit la sou liy 3
ekri ak lèt ​​detache soti "Alo" ak tou sa ki kalite itilizatè.
Se konsa, sa a se analoji nan li di: Hello, vigil,% s si nou te lè l sèvi avèk printf nan C.
>> Se konsa, kite yo ale ak entèprete pwogram sa a.
Se konsa, ankò, mwen pral desann bò fennèt tèminal m 'yo.
php hello2.php.
Ki jan ou rele?
Doug.
Hello, Doug.
Mwen gen tou yon lòt dosye rele hello3.php.
Mwen pral klè m ' ekran ak kontwòl L,
ak mwen pral al touye sa.
Ki jan ou rele?
Doug.
Hello, Doug.
Se konsa, konpòtman an se ki idantik ak hello2.php, men poukisa se li hello3.php?
>> Oke, isit la nan diferans lan.
Nan ka sa a, avi ki sou liy 1 isit la,
Mwen gen yon bagay sa a pa nan ant separateur yo PHP.
Mwen jis enprime out-- oswa mwen jis tape, "Ki jan ou rele?"
Lè entèprèt la PHP wè sa a, li pa gen okenn lide ki jan ka esplike nou rèv li kòm PHP,
e konsa olye pou yo li pap resevwa, li nan jis ale nan krache li soti.
>> Se konsa, remake sou liy 3 kounye a, rele mwen nan rèdlin, gen nan pa gen èd memwa ankò.
Mwen jis aktyèlman pral to-- lè entèprèt la PHP wè sa a,
li k ap pase yo enprime soti "Ki jan ou rele?"
Lè sa a, li wè, o, OK, here's-- Tout Lòt Bagay a pwal
entèprete kòm PHP, se konsa Se poutèt sa sa a travay.
Mwen pa gen nesesèman pouse to-- nan itilizatè andedan nan rèdlin,
Mwen ka jis genyen li deyò a separateur yo PHP
epi ki pèmèt entèprèt la jis enprime li pou mwen.
>> Se konsa, ou pa aktyèlman sèlman gen gen yon sèl seri separateur PHP
nan pwogram ou an.
Ou ka gen aktyèlman plizyè nan yo, louvri ak fèmti yo jan sa nesesè.
Se konsa, kite a pran yon gade Yon koup nan pwogram
nan CS50 IDE kote nou ilistre ide sa a ki gen
miltip kouche nan séparer PHP.
>> OK, se konsa mwen te louvri yon dosye isit la yo rele add1.php.
Apre sa, remake sa k ap pase isit la.
Jis tankou anvan, mwen gen yon sèl PHP mete nan separateur.
Mwen pral enprime soti nan mesaj, "Tanpri, ban m 'yon kantite."
Lè sa a, mwen pral li yon liy ak magazen li nan $ num1 nan varyab.
Lè sa a, mwen pral enprime soti ankò.
Ban m 'yon dezyèm kantite.
Li yon liy ki soti nan itilizatè, magazen an tou sa yo tape nan nan $ num2.
Ajoute yo ansanm epi estoke ki rezilta nan yon varyab rele $ sòm,
ak Lè sa a enprime soti, "nan sòm nan de nimewo sa yo
se, "ak Lè sa a entèrpele gen $ sòm total la varyab.
Se konsa, kite yo jis kouri sa a a entèprèt la
nan konfime ke sa a se ki sa nou atann.
php add1.php.
Tanpri, ban m 'yon nimewo, 3.
Tanpri, ban m 'yon nimewo dezyèm lan, 4.
Sòm nan de nonb sa yo se 7.
Sa a 3 plis 4.
OK?
Se konsa, pa gen anyen fò anpil anpenpan a.
>> Epi, koulye a kite a louvri moute add2.php.
Isit la, mwen te gen yon koup nan PHP séparer kouche a, dwa?
Liy 1, 3-- liy 1 ak 3 pa gen okenn separateur PHP.
Se konsa, lè entèprèt la wè yo, li nan jis
ale nan krache konnen egzakteman sa m 'te tape a.
Se konsa, sa a, se kote mwen se fè tout mwen pouse.
Sou liy 2 ak 4, nou wè anpil nan abitye $? php sòt de separateur,
se konsa de liy sa yo se ale nan egzekite kòm PHP.
Lè sa a, sou liy 5, mwen gen sa a etranj bagay dwa isit la, dwa?
Sa a bracket ang kesyon mak egal siy.
Mwen pral menm rale nan yon ti jan pi lwen.
Ou ka wè sa a se sa mwen se ap pale de dwa gen, sa a $? =.
>> Li sanble ke li nan tèlman komen ki rezon ki fè yo ke nou louvri moute yon seri PHP
separateur se ekri ak lèt ​​detache soti yon valè.
Epi sa a, tout sa nou ap ale nan fè.
Men, gen nan menm steno pou sa.
$? = Se PHP steno pou li di yon bagay tankou $? php repete sòm total la
a num1 ak num2.
Se konsa, sa a se jis yon lòt steno pou sa.
>> Se konsa, si mwen kouri sa a pwogram, php add2.php.
Mwen pral rale desann yon ti jan ti kras.
Tanpri, ban m 'yon nimewo, 4.
Tanpri, ban m 'yon dezyèm kantite.
E depi mwen pa reyèlman sousye de kalite done nan PHP, mwen kapab di 4.8.
Sòm nan de nonb sa yo se 8.8.
Sa fonksyon konpòte li bèl anpil egzakteman menm jan nou ta atann,
kòm byen.
Apre sa, mwen gen yon sèl plis louvri moute isit la rele dice.php.
Eseye sa a ankò.
Mwen gen yon nan men yo rele dice1.php, ki tou, wè,
gen kesyon sa a bracket ang make notasyon egal siy nan la,
men remake ke nan ka sa a mwen se rele rand a fonksyon, ki jan ou
ta ka atann jenere yon nimewo o aza.
"Ou woule yon," epi li k ap pase yo kalkile kèk nimewo o aza, mod 6 +
1.
Se konsa, ki pral ban m 'nimewo nan seri a nan 1 a 6.
>> Sonje ke mod 6 va fè m ' yon PO nan a ranje 0 a 5,
men si mwen similye woulo zo, ki se sa m ap fè isit la,
Mwen pa vle zo sa yo yo ale ki ant 0 a 5, mwen vle zo ki ale nan 1 rive nan 6.
Se konsa, sa a se yon fason jwenn m 'nan seri a nan 1 rive nan 6.
M ap fè sa a de fwa.
Se konsa, aparamman mwen woule de zo nan pwogram sa a.
>> Se konsa, mwen pral klè ekran m 'yo, epi mwen pral fè php dice1.php.
Ou woule yon 4 ak yon 2.
Men, si mwen kouri pwogram nan ankò, ou woule yon 5 ak yon 5.
Se konsa, chak fwa mwen kouri pwogram nan, Mwen ap resevwa nimewo diferan,
paske chak fwa mwen fè se konsa, li nan kòmanse sou.
Li k ap pase yo jenere yon nouvo mete nan nimewo o aza pou mwen.
>> Se konsa, si nou ap itilize yo kouri pwogram nan C,
nou ap itilize yo sezisman ./ nan non nan yon pwogram, dwa?
Sa a ki jan nou te fè tout nan pwogram nou yo nan C byen lwen tèlman.
Nou ka fè sa a nan PHP kòm byen lè yo ajoute yon bagay yo rele
yon kaz nan tèt la nan dosye PHP nou yo.
Mwen konnen li nan kalite yon mo dwòl.
Li nan kout pou regle Bang.
Sa a de karaktè yo nan premye a.
Sonje nou rele pwen esklamasyon souvan yon Bang nan syans òdinatè.
Li ta ka tou pou byen file Bang.
Genyen yon fason koup ka esplike nou rèv li.
Men, li la fondamantalman yon sòt espesyal a bay lòd pou entèprèt la PHP
konprann tankou, oh, mwen vle nou al touye pwogram sa a,
ki se aparamman / itilizatè / bin / php, ki se aktyèlman kote entèprèt la PHP
espesyalman ap viv sou sistèm nou an.
Se konsa, sa k ap pase it's-- isit la se entèprèt la konprann, o,
Mwen aparamman sipoze itilize nan pwogram sa a nan kouri sa a ranpli.
Se konsa, li pèmèt ou sote sou etap la
ki gen yo di php something.php.
Genyen yon lòt trape isit la, ki se ke si nou
vle pwogram nou yo travay jan yo espere, nou
bezwen fè yon bagay yo rele yon chanjman dosye pèmisyon pou sa.
Epitou, n ap go-- epi nou pale yon ti kras ti jan plis sou dosye pèmisyon chanjman
nan videyo nou an sou mv, men sufi li vle di ke sa a se ki sa ou bezwen fè
nan lòd fè ou php dosye ègzèkutabl.
Se konsa, kite a pran yon gade nan sa a kòm final egzanp nou an sou nan CS50 IDE.
>> Se konsa, isit la nan IDE Mwen gen de dosye nan sa a PHP anyè ki parèt pa yo dwe
rele php.
Mwen gen yon fonksyon rele add-- Mwen gen yon dosye rele add3
ak yon dosye rele dice2.
Se konsa, kite a pran yon rapid gade epi yo louvri moute add3.
Ak jan ou ka wè, nan kòmansman an nan dosye mwen mwen gen kaz sa a, dwa?
Sa a pwen regle mak esklamasyon.
Koulye a, ou pral tou petèt remake ke pou kèk rezon,
Mwen pa gen okenn sentaks en ankò,
ak sa a se sa m 'mansyone pi bonè, ki te ke si mwen pa non dosye mwen
php, mwen pa gen benefis nan a sentaks en ankò.
Sa a se dosye jis rele add3.
Pou m 'ka kouri li pita sou ak ./ add3 epi yo pa ./ add3.php.
>> Se konsa, reason-- nan li la toujou amann, li la toujou PHP valab,
men li pa nan sentaks make, paske sa a ranpli se pa sa yo rele something.php.
Sa a se sèlman diferans lan reyèl isit la, plis kaz la.
Se konsa, kite a wè sa ki pase lè Mwen eseye epi kouri pwogram sa a.
./ Add3, jis tankou mwen ta ak C. bach.
./ Add3 pèmisyon refize.
Sa a se sa w ap ale yo wè si ou ta bliye
yo sèvi ak yo lòd, ki chmod chanje autorisations yo nan dosye a.
>> Kòm li vire soti, PHP regilye dosye pa ka jis dwe egzekite.
Yo ka vle di: men nou ap fè yon bagay yon ti kras diferan isit la.
Nou ap egzekite li.
Se konsa, mwen bezwen ajoute pèmisyon an nan ekzekisyon, chmod yon + x add3.
Apre sa, mwen ka di ./ add3.
Tanpri, ban m 'yon kantite.
5, 6.
Sòm nan de nonb sa yo se 11.
>> Menm jan tou, mwen te deja chmoded dice2, se konsa mwen ka jis tape ./ dice2,
ou woule yon 1 ak yon 1, ou woule yon 5 ak yon 4, ak sou sa.
>> Se konsa, sa a, se bèl anpil nan lide nan yon sentaks PHP, dwa?
Genyen yon anpil yo ka resevwa a, mwen konnen.
Men, èspere ke ou te wè kounye a ke PHP se pa reyèlman ki diferan de C
ak reyèlman ban nou kapasite nan pran bagay yo yon Notch oswa de.
Nou pa reyèlman gen enkyete twòp sou- nou pa fè sa vrèman
gen enkyete twòp sou ba-nivo detay sa yo nou
te gen enkyete sou ak C, dwa?
Nou ka konsantre sou ki pi wo a bagay nivo ki PHP
pèmèt nou fè ak yo pran pou akòde ke li pral travay pou nou.
Se konsa, li ban nou kapasite nan kounye a, tranzisyon soti nan C rive nan PHP,
fè pwogram ki yon anpil plis konplèks e petèt yon anpil plis gaya.
>> Se konsa, mwen espere ou pran plezi k ap travay ak PHP, ak mwen se Doug Lloyd.
Sa a se CS50.