>> SAM LEVATICH: Byenveni nan seksyon pou semèn sa a.
Mwen menm mwen pa Andi.
Andi te tonbe malad jou sa a, ak mwen yo te sòt de rele nan dènye minit
pran sou.
Li nan sezon grip la, se konsa asire w ke ou ap rete pwòp, lave men ou,
ak manje an sante pou ke ou, tou, yo pa aje.
>> Men, san yo pa plis tarde, kite a jwenn te kòmanse.
Jodi a, nou ap ale nan pale sou PHP yon ti kras ki jan bit--
PHP gen rapò ak HTML, ki jan li gen rapò ak CSS, ak kèk nan entènèt la
bagay ou te fè sou plasman an dènye.
Nou pwal pale yon ti kras sou SQL
ak fason ou kapab travay avèk bazdone, ki se yon eleman trè enpòtan nan P
mete 8-- P mete 7.
P mete 7.
>> Lè sa a, nou ap ale nan pale yon ti kras ti jan sou ki jan vi contrôleur travay
e poukisa sa a, se yon filozofi dèyè kèk paj wèb modèn ak diferan konsepsyon.
Bèl anpil yon anpil nan kalite apps ak aplikasyon pou ou ta ka bato
ap itilize modèl sa a, View fondasyon kontwolè,
ke ou yo pral lè l sèvi avèk nan P mete 7, se konsa mwen pral
pale yon ti kras sou rezon ki fè ki nan vin
popilè, poukisa li enpòtan ak bèl.
Lè sa a, mwen pral finalman deplase sou li nan kèk konsèy sou abòde P mete 7.
Men, si nou gen tan rete sou nan fen a,
nou ka aktyèlman fè kèk travay sou ki ansanm.
>> Se konsa, PHP.
An reyalite, ou ka remake gen sa a men ou pa t 'reyèlman gen plonje nan l--
men P mete 6 te gen kèk PHP kòd ki te pral sou.
Epi paske PHP se yon C-tankou lang, PHP, kontrèman ak HTML ak CSS,
se yon lang programmation, Lè nou konsidere ke HTML ak CSS yo se estatik.
Yo ap fè fas lang markeup ak style ak aranjman tèks vizyèl.
PHP se kontra a reyèl.
>> PHP gen pasan, li gen conditions-- tout sa ki bagay sa a, se plezi sou C.
Li te gen yon bagay kèk ki se yon ti kras ti jan pi bon pase C, ki nou pral wè,
men mwen panse ke fason ki pi fasil yo pale sou PHP a se jis a plonje nan.
Se konsa, mwen pral ale dwat nan IDE a nan pwen sa.
Premye bagay nou pral fè se aktyèlman gade
yon ti kras nan kèk nan la PHP kòd ki te nan P mete 6.
Se konsa, fason a ke nou fè that-- anvan, wout la ke nou te kouri
sèvè a pou aparèy la te ke nou ta gen yo type--
swa sèvi ak aplikasyon ou oswa aplikasyon anplwaye a nan
a server.c pa pral antre nan anyè ak kouri ak swa pa gen okenn server.c
arguments-- Se konsa, jis rele li sou mòn lan lame lokal yo, ki se ki sa ou pwobableman
te fè pi fò nan time-- nan ak Lè sa a manje li
yon anyè ak ki yo itilize kòm rasin li yo
kote sit entènèt la ta gen kouri, fondamantalman.
>> Semèn sa a pou P mete 7, kòm gwo kòm Kòd nou an pou server.c
ye, se la yo se moun ki te deja ekri bagay sa yo amann sou nan CS50
sa yo ki te yon ti jan plis fonctionnalités,
yon pwogram sèvè sa a, se ki kapab pou fè fas ak yon pi plis ti kras
a sibtilite ki ke nou pral wè nan tou de P mete 7 ak P mete 8.
Ak wout la ke ou kòmanse moute nan sèvè se pa jis tape, "apache50."
>> , Epi anvan ou fè anyen, ou vle asire w ke
ki Apache 50 se pa deja kouri kòm li se
sou machin mwen an, ki mwen te fè li teste li.
Epi ou fè sa lè w rele apache50.
Sispann, epi ou pral wè ke li nan kanpe sèvè wèb la, si ou ka gade gen
nan pati anba a nan fennèt la tèminal.
Lè sa a, jis yo kòmanse, nou ap pral rele, "apache50 kòmanse."
Lè sa a, nou ap ale ba l manje l 'yon anyè.
>> Koulye a, paske nou vle gade nan kèk nan P a mete 6 Kòd
ke nou te aplike, mwen aktyèlman kopye yon ti kras nan P a
mete 6 Kòd nan katab pwòp mwen an, ki ou ka wè sou bò gòch la a.
Yo rele li "SECTION8" nan tout lèt majiskil
paske mwen se jis pou eksite yo dwe ap viv-difuze jodi a.
>> Se konsa, si nou kouri sa a, li ta dwe tout travay bèl efektivman.
Li di, OK, sit nou an se kounye a disponib nan adrès ki nan IDE a,
fondamantalman, ki se ki sa ou te lè l sèvi avèk egzakteman jan li te ye nan P mete 7-- P mete 6.
Tout endis mwen yo se youn endèks jodi a.
Se konsa, nou ka ale nan ki adrès, si ou pral sonje,
pa jis klike sa a ti kras bouton nan dwat a anwo kay la.
>> Men, ou pral sonje Kòd sa a, ki ki te pase lè ou antre nan hello.php.
Ak sa ki se kòd la fèt yo fè se lè ou tape nan yon non
isit lan-- si ou di Sam paske se sa mwen name--
ak mwen klike di alo, lè nou te ale nan pwochen paj la,
te ke non sipoze ap parèt.
Li ta di, "Hello, Sam" oswa "Alo," tou sa non ou
mete nan li menm si nou te ale nan yon paj entènèt totalman nouvo.
>> Lè sa a se sòt nan de bagay ki PHP kapab fè pou ou.
PHP se kapab pase done ant de paj wèb.
Sa a se yon paj totalman diferan.
Ou pral wè tit la se "alo" isit la.
Aktyèlman, yo gen menm tit la, men mwen
pwomèt yo diferan sou sit paj si nou gade nan sous la.
Epi ou ka pase done yo sa a, se antre nan sa jaden tèks,
ou soumèt li nan pwochen an paj ki nan yo te rele leve,
ak Lè sa a ke done se kapab dwe la nan fòm prezan li yo.
>> Koulye a, nou pa gen ankò aplike sa a tèt nou, ki
se sa nou ap ale nan fè sa ki dwat kounye a sòt ka resevwa yon gou pou konbyen PHP ap travay,
men lide a kle se ke ou kapab PHP-- sòt de panse a li tankou yon fonksyon.
Yon bagay ki PHP ka kite ou se li ka pran paramèt
ke ou D 'nan yon paj HTML nan sèvi ak PHP ak fòm,
epi li ka pase sa yo kòm paramèt nan paj la pwochen ke li charj yo.
>> Nan ka sa a, nou ap chaje moute sa a paj ki gen bouton an "Di alo".
Men, pou kounye a, mwen aktyèlman efase kèk nan ki Kòd
nan hello.php nan ki te ke yo te kouri ki te aktyèlman montre "alo la,
mond "oswa" hello, Sam "oswa "hello," tou sa te opinyon jis.
Se konsa, pou kounye a, nou ap ale nan fè sa, fondamantalman.
Nou pral rkree sa ki epi tou ajoute kèk fonctionnalités plis,
fè yon ti jan ti kras pi plis ak li, wè sa PHP se reyèlman kapab nan.
>> Se konsa, premye, se pou yo pale sou sa a ranpli, hello.php.
Se konsa, si nou rale nan yon ti kras bit-- e kounye a, mwen se
sòt de ap eseye woulo liv tout wout la around-- gen nou ale.
Ou pral wè sa yo rele hello.php, men sentaks la nan li
sanble yon dosye HTML.
Sa a se paske nan PHP aktyèl nan sa a ranpli
se tout kole ant sa yo kesyon mak-Lambda blòk.
Tout dwa isit la ki konsidere kòm PHP kòd.
>> Apre sa, ou pral avi ke lè m 'te fè yon kòmantè,
ou pral wè abitye a de pou pi devan bar.
Men, si ou pral sonje, nan HTML, si mwen tape yon kòmantè,
li sanble yon bagay pi pre sa a, ki se yon kòmantè nan HTML.
Se konsa, reyèlman tout bagay ant de parantèz sa yo ang
se kounye a PHP kòd, ki se reflete nan lefèt
ke sa a senbòl kòmantè ti kras se tounen nan yon kòmantè.
>> Se konsa, chak fwa ou ekri kòd PHP, menm si gen nan pa gen kòd HTML deyò nan li,
li nan toujou pral fè ki fèmen nan sa yo parantèz ang
ak mak kesyon.
Ou ka sòt de panse osijè de ki jan tout l-- nan kòd la ki kouri nan pwogram C ou
te fèmen nan yon int prensipal yo, anile, Curly atèl, fen Curly atèl deklarasyon.
Epi ou pral wè aparèy òtopedik Curly nan PHP, tou, men sa a se sòt de
tankou metòd prensipal la nan PHP.
>> Se konsa, kounye a, ki jan nou fè anyen nan PHP?
Koulye a, PHP se yon pwogram lang sa a, se trè C-tankou,
men li opere sou entènèt la.
Se konsa, yon sèl bagay ki ou pral immediately-- youn
nan bagay ki premye ou reyèlman te fè ak C te ou enprime bagay soti, dwa?
Se konsa, nan C nou te fè ki ak yon fonksyon printf.
Nou te bay li yon fisèl, pwobableman ak yon liy nouvo,
ak Lè sa a nou sispann l 'ak yon virgules.
>> Se konsa, fason a ke nou ap ale nan fè sa nan PHP-- paske li nan pa byen printf.
Li se yon ti kras nan diferan sentaks.
Fason ki ke nou enprime bagay sa yo soti nan PHP se nou di, "eko alo"
oswa "eko" nenpòt mo.
Apre sa, ki gen efè a nan fè printf ak yon kòd, "hello."
Apre sa, li ajoute liy nan nouvo nan li.
>> Se konsa nou kounye a fè sure-- Mwen pral rale soti ankò yon ti kras bit--
se pou yo asire w ke ke kòd ap travay
paske se la ta ka trè byen, se pou yon ensèk nan kòd sa a
ke nou va gen yo atake.
Se konsa, sèvè a se deja kouri.
Se konsa, si nou woulo liv tounen desann nan pati anba a, wi, sèvè a se toujou kouri.
Se konsa, si nou jis tiyo sou sa a ti kras dwat isit lan--
welcome-- nou ta dwe get-- gwo.
>> Nou toujou ap gen nan abitye "Di alo" dyalòg,
men lè mwen tape nan "hi," nou pral wè ki tèks la "alo" te depoze
enprime soti, ki se egzakteman jan nou espere paske repete nan PHP
se jis tankou yon deklarasyon printf.
Se konsa, tounen nan kòd la, ki jan nan P mete 6 te fè kòd a distribisyon w ap bay
fè li pou ke PHP ta pwodiksyon bagay la ke ou
tape nan sou ekran an anvan?
>> Men, sòt de egzaminen poukisa sa rive, nou ap
ale nan antre nan index.html, ki se dosye orijinal la, dosye a ki
montre moute sou ekran sa a ak bouton an "Di alo".
Ou remake ke gen nan tout bagay sa yo klasik
nou te vini nan atann de HTML sa yo kòm bagay sa yo, sa yo Tags ki fèmen
nan parantèz ang, tankou PHP men san yo pa mak yo kesyon,
ki endike yon bagay espesyal nan HTML.
Nou gen tit, ki se "hello."
Apre sa, ou pral avi ke jan nou te wè, tit la se "alo" nan tou de ka.
Se pou nou chanje yon sèl sa a nan "di" jis pou nou
fè distenksyon ant tèt nou kote ka nou ye.
>> Men, nou te gen yon kò.
Lè sa a, ti jan a enteresan, nan ti jan ki montre moute nan HTML a,
se sa a eleman fòm.
Se konsa, nou te gen yon fòm.
Lè sa a se kle a.
Sa a se ki jan nou ap travay ak PHP.
Paramèt nan aksyon nan fòm di ke hello.php
se sa nou ap ale nan voye valè yo nan fòm sa a nan.
Sa a se kote nou ap pase paramèt yo, se konsa pale.
>> Ou pral avi yon lòt bagay isit la se ke metòd la se "jwenn."
Gen de prensipal metòd pa ki pral
lè l sèvi avèk PHP yo pase done ant paj wèb websites--,
rather-- nan plasman sa a.
Ak metòd sa yo se "jwenn" ak "post."
Gen kèk sibtil diferans ki genyen ant jwenn ak pòs
ke nou pral jwenn nou into-- pral "jwenn" nan, si ou pral.
>> Men, pou tout entansyon ak rezon, jwenn ak pòs
tou de se jis fason ki ou pase paramèt
ak egzekisyon yon ti kras diferan.
Pou kounye a, nou ap ale nan sèvi ak jwenn paske jwenn se sa ki te te itilize orijinal
nan dosye a PHP a P mete 6.
Apre sa, aktyèlman, si nou ale nan ak gade anvan nou te edited nenpòt lòt bagay,
Mwen pral di hi to-- sa ki nan non ou?
>> ODYANS: Elliot.
SAM LEVATICH: Oh, bondye papa.
Mwen pa konnen ki jan yo eple sa.
Èske ou ta kapab eple ke pou m 'konsa?
ODYANS: E-L-L-I-O-T.
>> SAM LEVATICH: Mwen-O-T?
>> ODYANS: Yeah.
>> SAM LEVATICH: pafè.
OK.
Mwen devine mwen te fè konnen ki jan yo eple sa.
Regrèt sou sa.
Men, si nou di "Di hello," li pa li pa pral montre moute sou ekran an
ankò paske nou modifye kòd a yon ti kras.
Men, si nou "Di alo" - OK, se konsa "alo" se isit la.
Men, si nou pran yon pi pre gade nan URL la tèt li,
nou pral wè ke li fini Non = Elliot ak hello.php?.
>> Se konsa, sa a se yon fason pou kominike nan paj wèb la pwochen
paramèt yo ke nou te pase.
Nou te di Non = Elliot.
Epi sa a, finalman ki jan P mete 6 jwenn aksè varyab la ke nou te pase nan
a fòm nan.
Lè sa a se yon bagay ki se spesifik a yon demann jwenn.
Yon demann jwenn fè paramèt yo li te ye nan URL la nan sit entènèt la.
>> Men, ou pral sonje, tou, nan P mete 6 ke ou
te gen yo ekri yon fonksyon ki te fè fas ak lefèt
ke sa a fisèl query te kapab egziste apre yon dosye-a.
Ta ka kapab genyen yon mak kesyon ki te swiv pa fondamantalman nenpòt ki kantite karaktè.
Epi sa a, egzakteman ki sa k ap pase sou isit la.
Ak rezon an ou te gen yo analizan ki nan aplikasyon ou a server.c nan P
mete 6 se pou ke ou te kapab di kòd a PHP ki non = Elliot.
Ou bezwen pou kapab analizan ke soti nan URL la
se konsa ke dosye a PHP nan kesyon te konnen sa li te fè fas ak.
>> Se konsa, èspere ke sa a bay motivasyon nan server.c
kounye a ke nou ap deplase sou deyò nan C nan PHP.
Se konsa, kite a aktyèlman konsantre sou aksè nan bagay te pase nan mitan yon demann jwenn kounye a
nan pwen sa.
Mwen pral pou konsève pou sa a.
Nou pa t 'chanje anyen.
Li sanble ke nou te gen yon jaden opinyon.
>> Nou ap mete kèk pwopriyete, jan nou kapab fè yon HTML.
Sa yo se bagay sa yo ki senp.
Nou pa bezwen sa yo.
Men, nou te gen otokonple koupe, ki fondamantalman says-- ou konnen,
lè ou tape bagay nan entènèt la, pafwa
li ap eseye ranpli ke nan pou ou.
Se konsa, li yon bagay bèl.
Nou vle vire l 'la pou objektif sa a.
Sa ki te yon desizyon CS50.
Se konsa, nou ka efase ke si nou te vle.
>> Otofokus jis kole kurseur la nan bon nan fòm nan kòmansman an.
Yon fwa ankò, pa twò enpòtan.
>> Men non = "Non" - li a yon ti kras difisil paske li nan non ak non.
Men, nou te ka te chanje sa a yon lòt bagay.
Ak an reyalite, sa a, se ki sa nou pral fè kounye a.
Nou pral di "moun," ki se sòt de tankou non
si se yon moun defini nan non yo.
>> Se konsa nou fèmen sa a, reouvri moute sit entènèt nou an
depi sèvè nou an, se toujou kouri Apache 50, epi nou pral di, hello, isit la nan
Elliot ankò.
Poukisa nou pa?
Alo.
Men, si n 'al jwenn moute isit la, nou pral wè Lè sa a, olye pou yo Non = Elliot,
li di moun = Elliot.
Epi sa a, yon rezilta dirèk nan lefèt ke nou jis chanje non = "moun."
>> Se konsa, nan yon eleman D 'a yon fòm HTML, jaden an Non
se idantifyan a pou la paramèt ki nan ke yo te pase.
Se tankou si w ap kreye yon fonksyon "ajoute" ki te pran nan de nonm antye relatif
epi ou di int yon ak int b.
Ki ta ka non yon, epi si ou te vle yon lòt fòm, ki
nou ka fè jis pa kopye ak rakle, lè sa a nou ta gen non b.
>> Se konsa, kounye a nou pral gen de paramèt sa ki te mache nan tout
li ale nan website-- nan pwochen te paj wèb la kap vini an, hello.php.
Apre sa, nou ka aktyèlman wè sa ankò si nou vle.
Sa a se fason ki pi fasil fè fas ak kòd a entènèt nan IDE a, fondamantalman.
Ou kòmanse moute sèvè a, jwenn li kouri, ak Lè sa a chak fwa ou
fè kèk chanjman, jis fèmen ke dosye jis yo dwe san danje.
Peze bouton an tounen se yon ti kras difisil
paske li ta ka chaje yon pi bonè vèsyon, pa gen yon sèl ki pi mete ajou.
>> Lè sa a, ou jis klike sou ou bouton ankò, pòp dwat leve- oh,
e kounye a, ki te gen de fòm.
Se konsa, si nou tape yon sèl bagay nan chak yonn-"jason hirshhorn," pou instance--
nou di hello.
Nou gade moute nan paramèt nou an.
Li sanble ke nou te gen, kòm espere, yon = Jazon ansanm ak b = hirshhorn,
ki reprezante de paramèt yo ke nou te pase nan fonksyon sa a.
>> Se konsa, kounye a kite a aktyèlman ale nan mete ann aplikasyon ki fonctionnalités ke nou
te gen nan P mete 6.
Se konsa, kounye a nou ap jis eko hello.
Epi sa a, pa trè itil.
Nou vle repete kèk varyab ki te pase yo ban nou.
E nou konnen non an nan varyab sa a.
Nou gen yon epi nou te b.
Se konsa, nou te kapab chwazi yo repete swa yon sèl.
>> Men, ki jan nou jwenn aksè nan li?
Oke, gen sèten varyab mondyal nan PHP.
Apre sa, mwen pral ekri yo nan kòmantè isit la.
De moun ki pi enpòtan yo se jwenn ak afiche pou rezon nou an kounye a.
Sa yo se ranje yo oswa, teknikman, diksyonè yo
kote varyab nou an ke nou ap pase nan pwochen paj entènèt ap viv la.
Apre sa, nou va byento wè kouman yo sèvi ak yo.
>> Yon lòt nòt kout sou PHP Kòd ak kèk spesifik nan l-- nan C,
deklare yon varyab oswa yo sèvi ak varyab,
ou premye te gen nan deklare yo.
Ak ki sa ou te fè lè ou deklare yo te di Int yon oswa Char b.
Ou te gen yo deklare ki kalite sa yo varyab anvan ou te kreye yo.
PHP-- ou pa bezwen fè nenpòt nan sa.
PHP pa mande pou ki kalite varyab.
Ak wout la ke ou kreye yon variable-- olye
pase li di int, Char, string-- ki se reyèlman * Char, menm jan nou know--
olye ke fè tout nan sa, paske tout bagay
se nan kalite la menm, typeless, nou ka jis
itilize yon karaktè, ki se siy a an dola.
Men, ou pral wè li nan deja eklate moute, ti kras otokonple bagay sa yo.
Apre sa, li nan ki di ke _GET ak _POST yo se de opsyon ke mwen gen disponib
m '.
Gen kèk nan sa lòt bagay yo lòt varyab mondyal nan PHP
ke ou pral lè l sèvi avèk plis pase dwe kou a nan P mete 7.
Pou kounye a nou ap ale nan konsantre sou jwenn ak pòs.
Men, sa a se yon itil bagay ki IDE a fè
kote yon fwa ou te tape nan ki siy dola,
li pral kòmanse ranpli nan varyab mondyal oswa varyab ou te deja defini.
>> Se konsa, si ou te vle defini yon varyab rele "fisèl,"
ou ta ka jis mete l 'egal a "hi."
Lè li nan fondamantalman kòm senp tankou sa.
Lè sa a, nou te ka fè yon bagay tankou "eko $ fisèl."
IDE a yo ta dwe voye kèk erè si m ap fè anyen ki mal,
se konsa èspere ke m ap fè tout bagay dwat.
Men, pinèz toujou leve.
>> Yon lòt bagay difisil sou PHP se ke li pa nan konpile.
Se konsa, avèk pwogram C, ou ta fè woutin nan chak jou de- fondamantalman,
ou ta fè edits kòd ou a, ou ta sove li,
ak Lè sa a ou ta fè l ', kote fè te
etap la ki te rele du a, rezone, fè kòd ou a, sa a tèks
ranpli, nan yon ègzèkutabl.
PHP se C-tankou, men li la egzekite sou vole a pa navigatè entènèt ou.
Se konsa, gen nan pa gen fason yo konnen.
>> Fè ta voye jete moun erè itil, dwa?
Li ta dwe tankou, ou pa t 'deklare varyab sa a
anvan ou te eseye sèvi ak li.
Ou te fè tout bagay sa a move segfault stuff--, segfault, tout sa ki sòt de plezi fwa
ki vini ak fè.
PHP se yon kouto de bò paske ou pa pral jwenn sa yo erè,
men sa vle di ke ou pa pral konnen tou reyèlman sa ki nan mal ak pwogram ou an
si ou jis kouri li epi li pa nan travay.
Men, debugjeur a ta dwe pwen soti kèk èspere ke itil bagay ti kras
syntactically ke ou ka ranje.
>> Se konsa, kounye si nou ale sou to-- di, se pou yo fèmen sa.
Reouvri.
Apre sa, nou ap tounen nan isit la.
Se konsa, nou te gen yon varyab ak yon b varyab.
Apre sa, sa yo pa pral finalman gen pwoblèm.
Nou pral rele yo h ak g pou okenn rezon an patikilye.
>> Epi nou di alo.
Koulye a, li sanble afè nou an "hi" se tout bon enprime.
Nou te kreye yon varyab rele "fisèl," mete l 'egal a "hi."
Remake nou pa t 'dwe fè malok oswa fè yon etalaj karaktè.
>> Nan PHP, paske varyab se typeless, se yon fisèl
se menm bagay la kòm yon Char pou tout entansyon ak objektif.
Sa a te kapab "hi."
Sa a te kapab jis k la karaktè.
Sa a kapab yon nimewo 1.
E li pa pran swen.
PHP pa pran swen sou ki kalite varyab ou yo.
Oswa, li fè sa swen.
Li gen sousi lè w ap eseye ak fè bagay sa yo ak li,
men li pa pran swen nan etap la deklarasyon.
>> Apre sa, jis tankou ou kapab nan C, ou kapab deklare strings sou chemine a tankou sa a
menm si li di: "chemine" se yon ti kras ti jan nan yon pèsonalite misnomer potansyèl lè
nou ap pale de PHP.
Men, nou pa gen enkyete sou sa.
Se konsa, nou te resevwa fisèl nou an "hi," epi nou repete fisèl.
Se konsa, kounye nou te diskite varyab.
Se konsa, kounye a nou bezwen pale sou jwenn ak afiche ak fè bagay sa a, se final la
bezwen reyèlman jwenn sa a tounen moute fonksyonalite a nan P a mete 6.
Se konsa, kounye a nou ap Eko fisèl la, men nou
gen sa yo varyab jwenn ak pòs.
Epi paske nou ap lè l sèvi avèk metòd la jwenn, li
sanble natirèl ki varyab nou an ki nou ap enterese nan, tou de A ak B,
sa yo pral lokalize nan etalaj la oswa diksyonè, teknikman jwenn.
>> Se konsa, si nou mete kanpe jwenn tankou sa a ak groups-- ou mwen bourade antre
epi li pa t 'tankou l-- men isit la nou gen jwenn.
Se konsa, jwenn deja egziste.
Se konsa, nou ka deja kòmanse aksè kèk nan eleman ki nan jwenn.
Si nou jwenn, sentaks sa a pou ranje nan PHP se yon bagay ki C-tankou.
Nou gen de parantèz kare nou an.
>> Se konsa, si nou di jwenn nan yon nòmal etalaj, nou te ka gen aksè
endèks la zeroth, endèks la an premye.
PHP se zewo endèks.
Nou te kapab di zewo, yon sèl, two-- bagay tankou sa a.
Apre sa, mwen ve yo te di ke jwenn se teknikman yon diksyonè.
Se konsa, sa PHP ap fè anba kapo machin lan, ki se yon ti jan joli pase C,
se li deja an, ban nou kèk diksyonè fonctionnalités, ki
se tab reyèlman regle, oswa ap eseye yo, sipozeman te.
Oswa, teknikman li te kapab fè yon eseye kòm byen.
Men, PHP ap aplike yon tab regle, ki fòme yon diksyonè efikas.
>> Se konsa, nou konnen non an nan varyab nou an, dwa?
Li nan ke yo te pase nan fisèl la rechèch pa PHP.
Nou gen yon = h epi b = g ki kote ak b Se te non douz varyab yo.
Se konsa, fason a ke nou ka gen aksè nan valè ki koresponn ak kle nan
nan diksyonè nou an, se jis lè li di _GET_GET ["yon"].
>> Se konsa, kounye a nou gen _GET ["yon"].
Men, si nou jis ranplase andedan eko nou an, si nou repete _GET_GET ["yon"] -
epi n ap wè si debugjeur a lanse nenpòt ki erè sou sa a men
nou pral delivre sa epi fèmen sa a soti.
Louvri li.
Se konsa, nou ap jis ap fè yon dwa kounye a, se konsa b pa ta dwe gen pwoblèm.
"li" ak "li" - "hum." "li" ak "hum."
Son bon.
>> Epi, se enprime soti "li," ki se fou.
Men, sa a ekzakteman ki sa te vini nan P mete 6.
Fondamantalman, ki sa P mete 6 te doing-- eko hello,
name-- kote li te gen yon Non varyab ak li jis
mande w al fè tape nan ki ti jan nan tèks.
Te gen tou gen kèk adisyonèl postal kote
li enkli si deklarasyon, ki nou ka fè sa ki dwat kounye a.
>> Nou ka di si egziste, ki se yon fonctionnalités nan PHP,
_GET Ak souliye a, "Non" - ki se fondamantalman li di yo:
"si te non te plen nan" paske nou te ka gen sèlman klike bouton an
yo soumèt fòm lan san yo pa sezisman anyen nan ki jaden.
Apre sa, nou vlope ke nan nou an zanmitay aparèy òtopedik Curly.
Nou ka gen yon deklarasyon lòt bagay.
Epi sa a, tout nan ang lan PHP bracket, kesyon make, bracket ang,
si ou pral.
>> Epi, koulye a nou pral wè si sa a travay.
Mwen kenbe ap tann pou l 'bay dbug ak krap soti sou mwen, fondamantalman,
men li pa gen anyen ankò.
Petèt li pral kounye a paske mwen te pale osijè de.
Wi.
Li te fè, an reyalite.
Se konsa, pa gen anyen ki ki montre moute.
Sa a paske yo te yon bagay mal ke mwen te ekri nan kòd la PHP.
Apre sa, mwen mansyone debogaj nan se difisil paske nan PHP, nou
pa t 'konpile li davans ak du a pa te renmen,
isit la nan kote erè ou yo.
>> Men, sa ki nou ka fè is-- fè moun sonje
ki jan fè yon gade nan rezo a diferan demann ki PHP-- oswa ki sit
voye?
[? Malen?] Te fè sa a nan konferans yon fwa oswa de fwa.
Ou sonje ki kote nou ale nan jwenn dèt yo diferan ak 200 OKs,
tout kòd sa yo ki yo te voye a HTTP soti nan paj entènèt nan paj entènèt?
Nenpòt moun ki sonje kote nou ale nan fè sa?
>> ODYANS: Sous Page.
SAM LEVATICH: Page sous.
Egzakteman.
Si ou ale nan Page Source-- pafè.
Se konsa, Sous Page rale moute enspektè a.
>> Apre sa, mwen lè l sèvi avèk Safari.
Yon anpil nan ou pral pwobableman lè l sèvi avèk Chrome oswa Firefox.
Men, osi lontan ke w ap nan nenpòt navigatè modèn
ak santi yo lib yo swiv ansanm si ou vle.
Ou ka tape moute kòd sa a oswa jis gade andedan P mete nan 6
anyè pou kèk bagay menm jan an.
hello.php se sa nou ap aktyèlman ap travay sou Emulation.
>> Se konsa, gen yon varyete de onglè.
Nou ka gade nan tout resous yo.
Nou ka wè kòd la sous.
Se konsa, sanble li pa t ' jwenn kò sot pase yo nan fen an.
Li te jwenn yon erè nan PHP ak li sispann loading paj wèb la antye.
Nou pa menm gen yon fen tag pou HTML oswa nenpòt bagay.
>> Men, si nou gade nan rezo a, nou kapab wè ke nou se ke yo te voye yon demann.
Sa a se domèn nan.
Sa a se adrès la.
Li se yon dokiman.
Nou ap lè l sèvi avèk metòd la jwenn.
>> Lè li nan wouj.
Oswa, li te wouj lè m ' pa te chwazi li.
Kouman pou mwen deselèksyone li?
Oke, li te wouj.
Kite m 'rafrechi.
Gen li ye.
Kounye a li nan wouj.
>> Se konsa, li wouj, ki vle di li echwe, ki se move.
Se konsa an n egzamine poukisa li t 'febli.
Se konsa, tout sa ki Sous Page a kapab fondamantalman di ou se bagay ou
pa t 'travay, nou ka deja wè.
Se konsa, depreferans gen ta gen yon zouti pi plis itil.
Apre sa, yo se kèk ekstansyon navigatè ki pèmèt ou debug PHP,
men nou pa ap ale nan dwe ekri yon tòn PHP,
se konsa li a pwobableman jis pi bon fè yon gade nan kòd ou a
ak anpil atansyon ak jis asire w ke li nan pa fè nenpòt lòt bagay.
>> Se konsa, kite a wè si fòma a nan sa a si deklarasyon se kote pwoblèm lan se.
Mwen vle chaje ki tounen moute isit la.
Hello, Hi.
Se konsa, gen nan yon pwoblèm la.
>> Se konsa, pou kòrèk sentaks nan PHP, PHP ki pral
yo dwe C-tankou nan ki ou pral wè pasan.
Ou pral wè si deklarasyon.
Ou pral wè tout zanmi sa yo ke ou te vin abitye
ak plis pase kou a nan sa a semès CS50.
Men, fason ki pi bon figi konnen kouman ou fè yon bagay nan PHP se sou Google li
oswa fè yon gade nan kèk egzanp nan kòd PHP paske ou konnen fonctionnalités la.
>> Ou konnen ki sa ou kapab fè ak pwogram nan.
Ou kapab riban.
Ou kapab riban kòm anpil fwa tankou ou vle.
Ou kapab nan tout bouk kalite diferan fason.
Ou ka kreye fonksyon.
Ou ka kreye fonksyon ki rele fonksyon lòt, fonksyon
ki rele tèt yo.
Epi ou gen non pou konsèp sa yo.
Ou te gen rkursyon, pasan, si, lòt ap koule kontwòl.
Se konsa, Google se pi bon zanmi ou yo.
Menm di, "si PHP deklarasyon "ak gen pral
gen tòn posts ak repons bay lòt moun
ki te gen kesyon menm jan ak nou, ki ap jis kòmanse soti ak PHP
epi yo kirye de yon bagay sentaks.
>> Paske nou gen liksye a pou yo te kapab fè yon gade nan kòd la nan P seri 6,
nou aktyèlman rale li leve, li wè ke OK, isit la nan yon bagay ki enteresan.
Se konsa, sa a se sa li aktyèlman te sanble ak nan P mete 6.
Se konsa, si nou ale nan sa a, nou ka wè ke nou te
te resevwa plizyè nan sa yo ti kras PHP-tankou kesyon mak miyèt moso.
>> Apre sa, yo pa aparèy òtopedik Curly.
Gen kolon.
E genyen anpil Curly aparèy òtopedik nan PHP, men sa a
se yon fòma ak yon fason pou fè PHP ki travay byen ak HTML
paske kòm ou pral wè, nou ap fèmen koupe sa yo PHP bits-- elses nan
ak ifs a ak tout nan that-- ak Lè sa a nou ap entèrkale HTML andedan yo
pandan y ap toujou sa ki annapre yo kontwòl koule mete deyò pa PHP.
>> Se konsa, mwen jis ale nan rapid ti mache nan sa a
paske li nan yon anpil nan menm bagay la tou konsèp ke nou t ap fè anvan.
Nou te gen si se pa vid, parantèz, _GET_GET ["Non"].
Sa a se tout bagay la menm.
Nou ap lè l sèvi avèk diksyonè sou _GET ki PHP voye sou demann nan fòm,
paske li se paramèt yo nan aksyon, ak metòd la se jwenn.
Lè sa a, ki fini sa.
Kolon an se yon siyifyan nan jis fè sa si si deklarasyon an evalye vre.
Se tankou yon atèl Curly.
Ak nan reyalite, li se yon atèl Curly nan lòt lang tankou Piton,
kote ou ka rankontre si ou jis fè sa pou pwojè final ou a.
>> Lè sa a, liy sa a, hello.
Lè sa a, nou te gen bagay sa a etranj.
Nou te gen plis parantèz.
Gen nan pa gen HTTP there-- oswa PHP, regrèt.
Men, gen nan yon siy egal-ego.
Lè sa a, nou gen yon fonksyon, htmlspecialchars (_GEThtmlspecialchars (_GET ["Non"]).
Sa a se sòt de tankou yon pi plis vèsyon avanse nan eko.
Fè tankou nou te repete kòm yon fason ekri ak lèt ​​detache bagay sa yo soti nan PHP.
Sa a se yon fonksyon sa a, se defini nan PHP ki
ap fè fas ak kèk plis anbarasan karaktè ak valè multiple
ke ou ta ka pase l.
Li nan toujou pi bon yo sèvi ak sa a.
Men, eko pral fè travay la jis anfòm si nou pa ap
fè fas ak anyen twò anbarasan.
>> Se konsa, sa a gen menm bagay la tou efè nan fondamantalman,
bagay sa a nan ant kesyon an mak se evalye pa PHP.
htmlspecialchars retounen yon HTML bèl enprime valè de _GET_GET ["Non"], dir
tou sa nou tape nan fòm nan.
Lè sa a, li pral di hello, vigil espas, ak Lè sa a sa.
Sa tout bagay ant parantèz yo ang
pral ranplase pa tou sa htmlspecialchars mete deyò.
Se konsa, sa a, se fondamantalman menm jan an nan sa nou ap fè.
Epi nou gen yon deklarasyon sa a, se lòt bagay alo mond, sa ki fè sans.
Se konsa, kounye a kite a tounen nan nou an Kòd ak wè exactly-- oh.
M 'te di ki egziste, ki se pa yon bagay ke nou te vle fè.
Nou te vle di pa vid.
>> Se konsa, sa a ta dwe travay yon ti kras ti jan pi bon, pa vid _GET_GET ["Non"].
Epi sa atèl Curly alimèt ki atèl Curly.
Nou te gen aparèy òtopedik Curly nou an isit la.
eko alo _GET ["Non"].
Ann wè si sa a ap travay yon ti kras pi byen.
Nou ap toujou kouri sèvè nou an.
Bonjou Jason.
Apre sa, li te travay tan sa a.
Se konsa, sa a, se yon prèv ke ou ka tout bon
itilize aparèy òtopedik yo Curly ke ou konnen epi renmen nan kòd PHP nan HTML.
Kòd a PHP bay ou nan pset pset 6-- 6--
bay yon lòt fason nan fè sa menm bagay.
>> Se konsa, kounye a nou gen pouvwa a.
Nou gen fonksyonalite a aplike kòd a PHP ke nou te wè nan pset 6
pa tèt nou, fondamantalman.
Mwen anvan m 'deplase sou, ki sa yo se kèk nan la kesyon ke ou gen nan pwen sa a?
Wi [fèbl].
>> ODYANS: Se konsa, nan vèsyon an nan pset6, lè ou kouri li, gen nan yon espas.
Apre sa, mwen ka wè ki kote espas ki la se apre vigil la. [Fèbl] kòmanse
bracket a louvri.
Ki jan ou fè enkòpore espas ki la nan wout la ou te ekri kòd pwòp ou a?
>> Oratè: Sa se yon kesyon bon.
Se konsa, kite a figi ki soti.
Se konsa, sa a, se yon kesyon reyèlman bon ak youn ki mwen pa t 'konsidere.
Men, kite a fè l 'ansanm.
>> Se konsa, premye nan tout, ki sa M ap fè ak eko
se lè nou jis repete alo, li sorties hello.
Si nou repete kounye a sa a jwenn sou yon separe liy, se pou yo egzaminen sa ki rive.
Se konsa, nou klike sou sa a.
Nou kenbe li di: hi Jason.
Se konsa, ankò, nou pa gen espas sa a.
>> Epi sa a, paske, nan PHP, lè nou te repete,
pa gen pwoblèm konbyen spaces-- Non, pa V-- nan
pa gen pwoblèm konbyen espas nou mete nan isit lan-- si nou kounye a chaje ki moute ankò,
hi Jason.
Yeah, gade: tout nan tout sa yo espas te resevwa manje yo.
Epi sa a, yon bagay ki fonksyon an eko fè.
>> Se konsa, pran swen nan espas sa, e sa se
youn nan rezon ki poukisa ou pa sèvi ak eko
epi ou sèvi ak htmlspecialchars pito.
Mwen se kirye sa ki ta rive si nou te fè sa a
kote nou fèmen yon espas nan yon kòd.
Mwen se onètman pa fin sèten sa ki pral rive lè m 'fè sa a.
>> Se konsa, sa a, se yon sèl fason.
Sa a yon fason yo pran swen l '.
Si ou vlope espas ki la nan yon afè, lè sa a espas ki la
yo pral pwodiksyon joliman pa eko.
Bagay la pi bon fè se fè htmlspecialchars.
Sa a toujou parye a san danje.
Men koulye a, nou gen yon fason yo fè l 'ak eko si sa nesesè.
Apre sa, nan yon fason ki similè yo, nou kapab eko nouvo liy, tout sòt nan
nan bagay w ap abitye fè nan PHP.
>> Nenpòt lòt moun, ki sa yo nenpòt ki plis kesyon ke lòt moun gen
nan pwen sa a sou PHP?
Si moun te montre yo yon ti kras an reta, Mwen kontan yo rete apre yon ti jan
epi pale sou kèk nan konmansman an.
Apre sa, li la tou tout livestreamed, ak achiv, ki se fou.
>> De tout fason, se konsa kounye a kite a fè kèk plis bagay avanse ak PHP.
Apre sa, youn nan bagay ki pi bonè ou te prezante yo nan C te pou pasan.
Apre sa, PHP gen yon plis pouvwa anpil pou bouk yo rele bouk la fortch.
Apre sa, li sanble sa a men pou chak vid kòm vid, parantèz Curly, fè sa ki.
Se konsa, sa a se fondamantalman yon steno.
>> Al gade nan, pou la riban kòm yon konstriksyon sentaks
te envante nan C ak nan asanble lang ak bagay sa yo renmen.
Envante nan C, jisteman, kòm yon steno pou yon anpil nan kalite mouvman yo ak pasan
ke gen moun ki ta renmen wè.
Tankou lè ou te ekri yon bouk, gen te souvan yon etap inisyalizasyon
egzekite dwa nan kòmansman, se yon nan kondisyon kote riban an ta stop--
e ke sa a karakteristik nan sa se sèlman nan yon bouk ti tan,
oswa ki yon ti tan gen egzakteman sèlman sa feature-- ak Lè sa a
yon etap incrementation nan fen an.
Se konsa, ou ta souvan jwenn tèt ou ekri kòd tankou sa ki annapre yo.
Mwen pral efase kèk nan sa a.
>> Men, si nou ap iteration nan karaktè nan yon etalaj,
pou egzanp, tankou nou te te resevwa yon etalaj de karaktè.
Padon fè m 'tounen C. mwen konnen, ou te panse ou te fè.
Men, li la sèlman nan bi pou pou yo aprann PHP, mwen te pwomèt.
Se konsa, si ou te resevwa yon str Char nan longè 8, e kite yo
di li di Hellooo ak yon nil fin.
Great, se konsa sa a, se fisèl nou an.
>> Lè sa a, nou te gen yon pou riban.
Nou gen int mwen egal 0.
E nou vle sòti lè str nan mwen egal pa egal a nil,
paske nou sòti lè li egal nil.
Lè sa a, nou fè m ++ nan chak pwen nan a pou riban.
Lè w fè yon bagay ki gen str a mwen.
>> Se konsa, fòmil la debaz te, nou te gen sa a etalaj ke nou
te vle trete eleman kòm apa a.
Men, sa ki nou te gen fè se nou te fondamantalman kreye yon nonb antye relatif ki apa a
varyab ki te konte moute chak fwa nou mache ale nan tout bouk la.
Lè sa a, nou ta gen Lè sa a, rele strstr [mwen] lè sa nou reyèlman te vle fè
se jis ale pèsonaj pa karaktè, dwa?
Nou pa vle yon kantite nonb antye relatif ak Lè sa a sèvi ak sa nonb antye ki pè
jwenn aksè nan chak karaktè endividyèlman.
Nou vrèman vle pèsonaj pa karaktè.
>> Se konsa, pou chak intelijans kalkile ki pou nou.
Si nou gen yon etalaj, ki nou ka deklare nan PHP
kòm just-- si nou gen yon varyab rele, se pou yo rele li etalaj.
Mirak yo nan pa gen okenn sezisman, li nan jis tankou nenpòt ki lòt varyab.
Se jis yon etalaj.
Epi nou gen yon ti kras [fèbl] tankou 1, 2, 3, jis yon sòt de etalaj inisyalizèd.
Li nan OK, li pa renmen fortch mwen.
>> Men, si nou aktyèlman foreach-- Mwen tape ke yon ti kras mal.
Gen de fason yo fè yon riban fortch.
Genyen sentaks la nan ak jan sentaks la.
Epi nou ap ale nan fè nan sentaks premye, pa tankou.
Sa a erè m 'yo.
>> Se konsa, fortch NUM nan etalaj, eko NUM.
Apre sa, PHP se tap rele ke nan m 'pou kèk rezon.
Li nan jwenn yon inatandi nan nan yon bagay,
ki se yon ti kras nan yon deranje.
Men, nou pral konnen ki poukisa se sa ki nan yon moman.
Se konsa, pa renmen sa.
Ann eseye lè l sèvi avèk la kòm.
Li pwefere kòm nan sentaks se sanble.
Se konsa, kite a fè etalaj fortch kòm NUM.
>> Se konsa, yon ti kras esplikasyon nan sa ki jis rive
se kòm sentaks la se saying-- byen premye, se pou yo gade nan ki sa sa a simagri soti.
Se konsa, nou louvri moute IDE nou an.
Nou ale isit la.
Nou di, Bonjou Jason.
Apre sa, li te fè 123, ki te sa ki nan etalaj la ke nou kreye moute tèt.
>> Se konsa, plonje nan sa a riban fortch, nou gen yon varyab rele etalaj
ki se yon etalaj de twa chif yo.
Lè sa a, nou ap fè fortch etalaj kòm NUM, eko NUM.
Epi sa a, plis entwisyon pase yon pou lop.
Nou ap di: trete chak nan bagay sa yo nan etalaj la kòm NUM,
Mwen vle nou ban m 'NUM.
Epi sa a, egzakteman ki sa li la fè a.
>> PHP se kalkile ki lè ou di etalaj fortch,
epi ou ap fè fas ak yon etalaj, ki sa w ap ale nan vle repekte sou
se karaktè yo ki nan ki etalaj, se antye yo nan ki etalaj,
se eleman ki nan ki etalaj.
Apre sa, li la kite ou magazen moun varyab kòm NUM,
ak Lè sa a jis pwodiksyon NUM touswit olye ke li di:
Mwen gen yon varyab rele mwen, ak Lè sa a, mwen vle strstr pwodiksyon [mwen].
>> Se konsa, ki pèmèt nou fè bagay sa yo fre.
Fè tankou fondamantalman nou pa gen yo kreye sa yo varyab tankou m nan ak fè tout
bagay sa a incrementation nan fen an.
PHP pran swen de nan tout sa pou ou.
>> Se konsa, kounye kite nan pale sou fortch kòm li aplike a diksyonè _GET nou an.
Se konsa, nou pral fè kòmantè sa a soti byen vit.
Se konsa, nou gen etalaj _GET nou an.
Nou gen varyab sa a.
Apre sa, li nan te resevwa kèk bagay nan li.
>> Dwa koulye a, nou gen sèlman yon varyab ke yo te pase nan li, ki se non.
Men, si nou peze Antre, kounye a nou ka gen de varyab.
Nou ka gen non ak laj, pou egzanp, si nou vle jwenn laj la epi tou li
non an nan yon moun, kuryeuzman ase.
>> Se konsa, kounye _GET a pwal yon diksyonè ak de eleman,
ak de valè pè kle.
Apre sa, key-- an premye mwen pral ekri yon sèl sa a moute sou tablo a tou.
Nou gen diksyonè nou an, se _GET.
Padon, li la se yon ti kras difisil yo wè.
Men, anndan diksyonè nou an nou gen non, ki se ale nan yon bagay
ke nou ap bay yo.
Epitou, n ap gen laj, ki se tou pral fè yon bagay ke nou ap bay yo.
Lè sa a se antye a a diksyonè nou an.
>> Se konsa, li nan te resevwa de eleman nan li.
Se konsa, paske fortch pasan yo entelijan, nou
ta ka panse, ak kòrèkteman ta ka panse ke fortch
ka repekte nan sa a diksyonè, enprime soti
valè yo bay nan non ak laj.
>> Se konsa an n an reyalite fè sèlman sa.
Se pou nou konstwi yon bouk fortch.
Epi nou ap ale nan fè pou _GET kòm.
Epi nou ap ale nan fè sa ki annapre yo.
Se konsa, kite a wè sa k ap pase si nou tape mo jis, ak Lè sa a di eko mo.
Nou ap tou ale nan repete yon liy nouvo jis fè li yon ti kras pi klè,
sa k pase.
>> Se konsa, kite a wè.
Li pa nan bay m 'nenpòt ki erè.
Epitou, n ap fèmen sa a.
Sou sit entènèt nou an, w ap ale nan dwe ap fè yon anpil nan ki sou kou a nan pset7.
Se konsa, nou di non mwen se Sam.
Laj mwen se 45.
Li pa.
Men, li simagri soti, jan yo espere, Sam 45.
>> Se konsa, ou pral avi ke sa fortch bouk did-- isit la,
se pou yo tounen nan ke se konsa li a jiska sou board-- a nou jwenn _GET kòm mo.
Apre sa, te gen kat bagay sa yo nan _GET.
Men, li sèlman enprime soti de bagay sa yo.
fortch, yo te pwòp tèt ou entèlijans li yo, sipoze ke sa nou reyèlman te vle
te valè yo, pa kle yo.
>> Men, gen yon fason ki nou te ka enprime soti kle yo kòm byen, si nou te vle.
Si nou te vle konnen tou sa varyab sa yo yo te rele,
gen nan yon fason ke nou kapab jwenn aksè sa a tou.
Apre sa, wout la nan sòt de fè sa, pou nou ka di, pèmèt reyèlman
fann l 'nan valè kle pè.
Se konsa nou wè sa ki rive kounye a.
>> Se konsa, nou gen kle.
Nou gen valè.
Nou gen yon lòt nouvo liy pou lizibilite.
Li kite yo wè sa ki rive lè nou fè sa kounye a.
Mwen pa konnen ki laj Jason se.
Jason nan 15.
Se konsa, nou gen non Jason, laj 15.
Se konsa, nou yo te kapab jwenn aksè nan kle a ak pè valè de sa a diksyonè
jis lè li di kòm pwen kle nan valè.
Epi sa a, yon fortch Massachusetts Institute of Technology ti jan sik ki pèmèt
ou gen aksè a bagay sa yo nan diksyonè a.
>> Se konsa, èspere ke sa a sòt de mete aksan sou pouvwa a nan bouk la fortch.
Ou kapab bèl anpil voye jete nenpòt ki bagay ki sanble iterable,
tankou nenpòt ki bagay ki gen plizyè eleman tankou yon etalaj,
tankou yon dictionary-- sa yo se de bagay prensipal ou pral travay ak
tou de nan lavi ak nan pset 7.
Se konsa, ou ka voye jete ki bagay nan li, epi li pral figi konnen
ki sa ou vle fè ak li.
Li pral di, OK, mwen pral yo ka resevwa bagay sa yo soti nan done yo ki
te pase m '.
Epi sa a, yon bagay ke w ap ale nan dwe lè l sèvi avèk yon anpil nan nan pset 7.
>> Mwen pral woulo liv rapid desann jis yo wè ki kote mwen se nan.
Moun ki gen kesyon nan pwen sa a?
Kesyon nan tout?
Wi?
>> ODYANS: Se konsa, avèk kle a ak valè, ou te kapab non li nenpòt lòt bagay
epi li ta toujou travay?
Oratè: Wouch.
Wow, Mwen totalman efase liy lan tout antye.
Great travay.
Se konsa, yon, yon.
Kle ak valè se jis yon konvansyon.
Li nan itil.
Ou ta jwenn kèk konsepsyon pwen, petèt kèk pwen style
pou fè sa paske li reyèlman tradwi entansyon an.
Men, nou di yon ak yarp.
>> ODYANS: Ou pa oblije chanje anyen nan dosye a HTML
yo nan lòd yo reflete sa?
Oratè: Pa nan tout.
ODYANS: Apre sa, li jis konnen ke paske yo te egal, pi gwo than--
Oratè: Wi.
ODYANS: --that endikatè ki that's--
Oratè: Wi.
Sa se yon sentaks fortch, men wi.
>> ODYANS: Pa gen kalite.
Se konsa, sa si ou te laj yo dwe sèlman yon PO?
Èske gen yon fason yo fè sa?
>> Oratè: Gen fason yo tcheke si varyab konfòme yo ak sèten kalite.
Se konsa, PHP mande yon ti kras plis soti nan ou paske pa gen okenn kalite nan.
Gen kèk fason li mande mwens.
Nan kèk fason li mande plis.
Paske si ou gen jis yon bagay nan yon varyab,
ou pa gen okenn lide ki sa kalite li ye.
Men, si ou se entelijan sou varyab yo ke ou bay kalite pou ale ak pou asire w
ki fonksyon sèlman return-- ou vle fonksyon a sèlman retounen
yon kalite ki gen valè se konsa ke ou ka fondamantalman
espere ke varyab la ou jwenn tounen ki sòti nan yon fonksyon yo pral nan kalite la
ke ou panse ke li pwal, fondamantalman.
>> Men, gen kèk metòd pa kote ou ka tcheke.
Mwen pa sonje yo koupe tèt la nan tèt mwen.
Mwen ap tann pou l 'bay vire ble.
isint?
isstr?
Gen metòd bati nan PHP ki ka
tcheke kalite a nan varyab pou ou.
Men, si ou bay varyab smartly, ou pa ta dwe
gen fè sa twòp nan pset 7.
Men, metòd sa yo egziste.
Epi sa a, yon bagay ki se nan lang nan tèt li.
Apre sa, mwen pa sonje sentaks la presi.
Nou te kapab menm gade li.
Men, tan se nan sans nan.
gen Èske nenpòt lòt moun gen nenpòt kesyon pi plis?
Wi.
>> ODYANS: Mwen gen sèlman yon sèl plis.
Se konsa, ou mansyone metòd la jwenn, men ou pa t 'mansyone metòd la POST.
Èske nou vini tounen nan sa?
>> Oratè: Wi, nou pral dwe vini tounen nan sa.
Sa a ekzakteman ki sa mwen te kap a telefòn mwen, ki kounye a tonbe dòmi,
men mwen pral jwenn li ankò.
Jis fè si nou frape tout nan nòt yo PHP.
Oui, gen nan pa gen vèsyon debogaj.
Wi, nou gen yon kèk plis bagay sa yo ke nou vle fè kounye a nan pwen sa a.
>> Se konsa, pale de POST, kote ou mansyone,
diferans la sèlman ant JWENN ak POST se
ki sonje lè nou te a URL sa a epi nou te wè, o,
Non egal yon ak laj egal yarp se dwa nan URL la gen pou nou.
POST se yon ti kras pi plis sekrè ak pase li yo nan enfòmasyon.
>> Se konsa, si ou pa t 'vle yon itilizatè konnen, pou egzanp, ou
pa t 'vle non itilizatè a ak modpas nan moun nan
kounye a louvri sesyon an ap parèt nan URL la, ki se yon bagay ki rezonab
pa vle nan URL la, paske yon moun ka wè li.
Si yo konekte yon moun nan yon paj, ou pa vle URL yo rekrepi a,
paske yo ta ka pèmèt moun yo konekte jis ak kole nan yon URL olye pou
a aktyèlman ranpli yon fòm.
POST se yon ti jan ti kras pi plis sekrè.
>> Apre sa, bagay sa yo sèlman ki nou pral oblije chanje
se metòd sa a, chanjman soti nan jwenn yo pati.
Lè sa a, andedan HTTP a, olye pou a aksè _GET nan etalaj,
nou ap ale nan jwenn aksè nan _POST nan etalaj.
>> Epitou, n ap remake ke, si nou louvri sa a tounen moute ankò,
Jason tou dousman refize nan laj.
non Jason, laj 14.
Bagay la menm Pops leve.
Men, nou ale nan URL la ak moun varyab yo se pa la.
>> Apre sa, fason ke POST passes-- konsa sonje
ki jan fè yon gade nan sous la nan yon paj.
Nou ale nan rezo a.
Nou rafrechi.
Lè sa a se yon lòt bagay ki POST ap ba ou avètisman sou yo.
Ou ta ka gen pou wè yon bwat, yon tèks bwat tankou sa a nan navigatè ou a.
Èske ou sèten ou vle voye yon fòm ankò?
POST se sa k ap voye fòm sa yo.
>> Paske fondamantalman si ou voye ou enfòmasyon kat kredi ak yon moun,
ki pa k ap pase yo montre moute nan URL la.
Sa k ap pase yo dwe yon demann POST.
Se konsa, lè ou rafrechi paj la, li nan ranvwaye ke post demann.
Se konsa, kounye a nou vle voye nan fòme ankò paske li pa k ap pase
yo kreye nenpòt acha kopi.
>> Epitou, n ap remake ke desann isit la, metòd la nou ap lè l sèvi avèk se POST.
Epi, se te tout bon transfere bytes.
Li transfere 401 nan yo.
Pwogram nan bèl ti.
Men, gen nan okenn kote ke nou ka wè valè yo sa ki te pase.
Paj sa yo entènèt tèt yo ka wè, men nou kòm itilizatè yo pa kapab wè,
sof si ou se yon HACKER.
Si ou se yon HACKER bon, ou ka gade.
>> Si ou konnen debaz la fòma nan HTML a,
valè yo pral fè tèt yo li te ye nan paj sa yo.
Ou pral kapab yo wè.
Valè yo pral gen, yo ap jis yon ti kras mwens evidan pou ou
jwenn aksè nan, fondamantalman.
>> Èske nou gen nenpòt ki plis kesyon sou JWENN, POST
fè anvan sa nou ap ale nan fè pwochen se aktyèlman gade nan kèk nan kòd la
ke w ap bay nan pset 7, pale sou li montre kouman li sèvi ak kèk nan konsèp sa yo,
epi pale sou nan bagay sa yo ke ou yo ale
fè yo fè yon ti jan ti kras nan pset 7.
Nenpòt plis kesyon anvan sa?
Plis kesyon ou nèg genyen?
Great.
>> Tout dwa, kite pou yo gade yon ti jan nan pset 7,
pa gen dout sa ou yo tout pi eksite sou.
Mwen vle di, sa a se yon bagay ki David ale nan yon ti kras.
Men, nou pral gen twa repèrtwar nan la tèt, osi byen ke yon dosye konfigirasyon.
Sa a pou baz done, ki nou pral pale sou nan sou senk minit.
Gen ladan, ou pa janm bezwen fè yon gade nan anyè sa a
si ou pa vle men li la bèl yo konnen gen tout kalite moun k'ap ede.
Moun k'ap ede, se tankou fonksyon itil.
Lè sa a, nou gen config, ki etabli kèk moute bagay.
>> Gen kèk fonksyon ki CS50 gen ekri ki nan lòt moun sanble ak config.
Se konsa, kèk nan PHP a ki deja sòti nan dosye
pral fè yon anpil nan sòt nan plis a obti travay janm pou ou.
Fè tankou si nou ale nan piblik login.php, ki se sa
montre moute dwa lè ou ale nan pset 7.
Nou pwal wè ke gen nan sa a mande pou deklarasyon.
Epi sa sòt de tankou yon byen file enkli ladan yo, hashtag
gen ladan si w ap nan yon jenerasyon plus.
Men, sa a fondamantalman di ke mwen bezwen aksè
nan tout fonksyon yo nan config.php.
Epi ou te kapab gen yon mande pou pou tout kalite lòt bagay.
>> config aktyèlman mande pou moun k'ap ede.
Se konsa, nenpòt lè ou mande pou config, w ap tou
ki gen ladan oswa ki mande moun k'ap ede kòm byen.
Se konsa, ki ba ou aksè a nan tout fonksyon fre ki nou ap ale nan sèvi ak,
bagay renmen rann.
Mwen aktyèlman ale nan fasilite sa a desann yon ti kras.
Se konsa, fonksyon an Lè sa a, nou ap ale nan mache nan
jis anvan nou deplase sou li nan yon ti kras SQL ti jan se fonksyon an login.php, jis
paske li sèvi ak kèk nan sijè ki ke nou jis te pale osijè de nan PHP.
>> Ou wè nan premye bagay se si $ _SERVER.
Sa se yon lòt varyab mondyal ki w ap ale nan dwe fè fas ak.
Se tankou _GET ak _POST, men sa ki sèvè gen se sa a ka fè w
konnen si metòd la demann te yon JWENN oswa yon POST.
Fè tankou deja sa nou te fè se jis nan kòd nou ke nou te ekri,
nou te jis chanje li nan dwe JWENN ak POST depann sou sa ki HTML a te genyen an.
Men, gen paj ki ka aksè ak tou de kalite demann.
Epi ou ta ka vle fè bagay sa yo diferan ki depann
sou kalite a nan demann, jis tankou login fè.
>> Se konsa, ou ka tcheke ke demann metòd nan aksè kle,
a lè l sèvi avèk yon kle ak ap resevwa nan valè de yon bagay nan diksyonè sou
_SERVER.
Se konsa, sa a, se yon lòt mondyal varyab tankou _GET ak _POST.
>> Si li nan JWENN, nou vle rann fòm nan login.
Rann se yon fonksyon ki fondamantalman jis mete moute HTML ki apwopriye
epi pase li kèk paramèt.
Tit Sa a se yon paramèt sa a, se yo itilize nan montre, etranj ase,
tit la nan paj la nan kesyon, bagay la moute isit la,
di oswa alo nan egzanp anvan nou yo.
Koulye a, nou gen yon bagay diferan.
Lòt Bagay si li nan POST, nou fè kèk bagay lòt.
Nou ap lè l sèvi avèk ke metòd vid.
Li pa nan egziste, li nan vid.
Apre sa, nou te wè anvan, PHP gen yon kantite lajan ki jis nan bati
nan metòd jan David will-- si gen se metòd ki yo itil yo nou la a,
yo pral bay ou okouran nan mache a nan jan David
bay nan BECA a kòmansman, epi tou li Bits itil Zamyla a.
Li nan tounen tout moun.
Nou tout ka kontan.
eskize se yon fonksyon justesse yo te rele ki jis fondamantalman simagri soti
kèk mesaj erè, paske CS50 se yon bagay ki janti.
>> Epi, koulye a sa a, sa a se yon ti jan difisil paske sa a
se kote nou ap rekèt baz done a.
Koulye a, nou pa t 'te pale osijè de baz done.
Epi nou ap ale nan nan pwochen an senk minit oswa konsa, maksimòm.
Men, sa a se yon fonksyon li te ke CS50 ekri
yo ka resevwa yon tab fondamantalman soti nan yon baz done ke nou ap travay ak nan pset 7.
Mwen vrèman move ak mwen zewo Indexing jodi a.
Men, repons lan se wi, li se 7.
>> Se konsa, sijè rechèch li pral retounen yon etalaj, fondamantalman se ti jan a kle.
Epi paske bagay sa yo pa gen sezisman, se konsa ranje se yon etalaj de ranje.
Paske lè nou ap panse sou yon tab, ki sa nou ap ale nan fè
se, menm jan ou te aprann sa nan psets tankou jwèt la nan 15, de tout fason
kote ou te gen yo sèvi ak yon doub etalaj, nou fondamantalman
gen etalaj de lòt ranje fè yon tab.
Apre sa, ou te gen ranje ak kolòn.
Lè sa a, ou kapab jwenn aksè yo tankou [0] [1], ou jwenn [0] [1]. La
Bagay de baz tankou sa.
>> Se konsa, sa n ap fè isit la nan fonksyon sa a,
nou ap mande baz done a si itilizatè a sa a, se
ap eseye konekte, ki pral voye nan metòd la POST.
Nou pwal wè nou ap vin non itilizatè a soti nan _POST.
Yo pral menm ki voye, itilizatè a oswa ou 'va voye yon valè
atravè yon fòm nan POST paske li nan non itilizatè ak modpas bagay.
Nou ap tcheke non itilizatè a yo wè, se sa a nan tablo a?
Paske si yon itilizatè se antre nan, Lè sa a, non itilizatè yo
yo ta dwe estoke nan tablo a nan itilizatè ki egziste pou sit sa a.
Se konsa, fondamantalman si nan itilizatè se nan baz done a,
query ki pral retounen ki ranje, ki se yon etalaj.
>> Men, pati nan difisil se ke si menm si etalaj la doub se sèlman nan yon sèl ranje,
menm si li nan yon ranje yon sèl array-- tankou ou te gen basically--
si ou te gen yon gwosè yon sèl etalaj ki nan kenbe yon lòt etalaj,
w ap reyèlman fè fas ak yon sèl kolòn.
Men li la toujou trete tankou yon etalaj doub.
>> Lè sa a se kote li ka pafwa jwenn difisil, paske nou te gen ranje isit la.
Varyab nou an se ranje.
Lè sa a, nou ap kreye yon nouvo varyab rele ranje
ak anviwònman li egal a premye ranje a nan ranje.
Apre sa, ou pral avi ke kòmantè di li a premye e sèl ranje a.
>> Se konsa, sa a se difisil a pati kote kounye a fonksyon
ka retounen ranje trè fasil.
Gen nan pa mallocs.
Ou pa pral wè mallocs.
Se konsa, ou pa pral wè fot seg.
Men, fonksyon ap toujou gen pase alantou ranje ak done an gwoup.
Epi ou gen yo dwe Gèrye nan sa egzakteman fonksyon ou a pral retounen.
E menm si li nan youn kolòn tankou sa a, sijè rechèch
se toujou pral retounen yon etalaj doub.
Se konsa, yo aksè ki column-- oswa ou ka panse a tout bagay sa yo kòm Envèse
depi nou ap pale de ranje.
Men, jwenn aksè nan ke yon moun ranje, ou pa kapab jis di ranje.
Menm si li se youn ranje, ou gen rowsrows [0] a sòt de elimine sa a
ti jan deyò nan etalaj la ak gen sèlman yon sèl ranje ou yo.
>> Fè kèk lòt bagay.
Genyen yon fonksyon rele password_verify
ki verifye a modpas ki te afiche.
Lè sa a, nou wè yon lòt mondyal varyab isit la, _SESSION.
Fondamantalman id sesyon ki jan pou ou kenbe tras
a si yon moun ki louvri sesyon an oswa ou pa.
Se konsa, kounye a ak login.php, nou ap antre nan yon itilizatè.
Se konsa, sa nou vle fè se nou vle di id la sesyon ki egal a ranje a
id, ki jis fè sans paske chak ranje pral gen yon id diferan
Nimewo kòm yon pati nan tab la.
Nou pral jwenn nan SQL nan yon dezyèm lan, Se konsa, si nenpòt nan sa a
sanble yon ti jan tankou bla ti kras, Lè sa a, tout yo pral otorize yo.
Men, nou ap ale nan mete id nan egal a bagay la apwopriye, antre itilizatè a nan.
Eskize si anyen ale mal.
E ke se koneksyon objektif nan lavi tankou Pwofesè Malan ta ka di.
>> Se konsa, sa ki te login.php.
Ak yon anpil nan kòd la PHP ou ekri nan pset 7, yo pral yon ti kras.
Pa bliye fè chmod autorisations yo apwopriye.
Li pral fè yon ti kras sou ke nan konmansman an nan espèk a.
>> Men, PHP a ke w ap ekri a pwal
fè bagay sa a, se menm jan ak sa a.
W ap ale nan gen aksè kèk bagay ki
Yo ba yo ba ou nan nan varyab mondyal de PHP ki
ap fè fas ak aktyèl la louvri sesyon an itilizatè, si gen
gen te demann voye nan sa a paj, bagay sa yo diferan tankou sa.
Epi li pral tou pou potansyèlman iteration nan ranje nan bagay sa a.
>> Nan yon fonksyon diferan, query retounen sa a etalaj doub.
Men, si gen plis pase yon ranje nan li,
si gen sont- repons lan se wi, si gen yo gen plis pase yon ranje nan li,
Lè sa a, li pral yon tab.
Epi ou ta ka vle repekte a ranje yo nan sa a etalaj lè l sèvi avèk
bouk la fortch ke nou dekri yo.
>> Se konsa, si ou fè fortch sou yon doub etalaj, ki sa ki pral pawòl la- a isit la,
Mwen pral aktyèlman ekri li.
Mwen pral ekri li rapid isit la.
>> Si nou gen yon fortch nan ranje kòm ranje, sa ki nan kalite a nan ranje?
Nenpòt moun ki konnen?
Ou te resevwa li?
Se konsa, ranje a se yon etalaj doub.
Se konsa, sa se fortch ale nan dégager ke nou vle sa a soti nan etalaj doub
si nou ap iteration sou li?
Nou ka asime ke fondamantalman li k ap pase yo dwe swa eleman,
oswa ranje, oswa kolòn, fondamantalman.
Se konsa, ranje ak kolòn nou ka trete kòm menm bagay la.
>> Fondamantalman sa riban an fortch ki pral fè se li k ap pase yo retounen ranje.
ranje a pwal nan ranje kalite, Lè nou konsidere ke ranje se yon etalaj doub.
Se konsa, si ou bay fortch yon etalaj doub, li nan
pa ale nan repekte plis pase yon nivo fon anpil.
Ki se fondamantalman vle di si gen se uit selil ki nan sa a table-- 1,2,
3 4, 5, 6, 7, 8-- nan fortch bouk se pa
ale nan ale nan chak nan selil sa yo.
Ki sa ki riban an fortch pral fè te li pral ale nan ranje sa a,
ba ou tout ranje sa a.
Lè sa a, li pral ale nan ki ranje.
>> Se konsa, li sèlman iterates yon nivo fon anpil.
Si ou ajoute yon enbrike fortch bouk, lè sa a ou
ka trete chak ranje tounen soti nan ranje, ou fè ranje fortch kòm eleman,
kite a di.
Lè sa a, ou te kapab repete eleman nan.
Se konsa, sa a, se yon kout ti kras resiklaj sou kòman
ou ta ka lè l sèvi avèk fortch pasan nan yon kontèks query.
>> Èske gen nenpòt kesyon sou PHP?
Nenpòt bagay nan tout anvan nou deplase sou li nan ap pale de SQL
ak plezi a nan baz done?
Santi bon?
Santi bon.
Tout dwa.
>> Se pou yo deplase sou tounen nan la PowerPoint, ki pwobableman ou manke.
SQL, Yay.
Moun ki gen nan seksyon m 'tipikman n'a konnen se tit nan akwonim
yo toujou sèlman mo yo an premye Mwen panse ke nan ki matche ak ki
algorithm ki akwonim.
Li pa yon algorithm.
>> Se konsa, SQL se yon baz done.
Li se yon lang ki travay ak baz done.
Apre sa, tout baz done yo se tab, omwen nan chemen an
ki SQL reprezante yo.
>> Yon lòt fason yo reflechi sou baz done a se baz done se yon seri kle ak valè
fondamantalman.
Ou ka panse osijè de yon baz done kòm yon diksyonè ak tou kòm yon tab.
Fondamantalman li nan yon fason yo asosye done diferan ak lòt done,
souvan nan ranje ak kolòn.
Epi sa a, wout la sa a, se SQL travay pi byen.
>> Se konsa, sa a se yon egzanp sou yon tab.
Mwen te gen yon egzanp kèk nan moun ki nan seksyon m 'yo, ki
Mwen pa t 'gen tan chanje.
Men, nou te gen bagay sa yo tankou ID, non, gwo pwisans, ak vil.
Mwen pa konnen nenpòt moun ki nan kote soti nan nan seksyon m 'yo,
se konsa mwen jis ale nan asime tout moun nan soti nan New York
City paske mwen gen yon wo estatistik chans pou yo te kòrèk.
>> SQL pral otomatikman pran swen nan kolòn nan ID pou ou.
Si ou insert yon nouvo ranje nan yon baz done SQL,
li pral kantite ki Nimewo ID ak jis
fondamantalman bwa tankou senk non, gwo pwisans, peyi, moun ki va
sou fen a nan ki tab.
Se konsa, ID se yon kolòn ou pral pa janm gen enkyete sou.
Men, tankou nan ka a a login.php, lè nou
te resevwa ID a sesyon ki sòti nan yon tab ak jis lè l sèvi avèk ID,
ID se yon fason yo idantifye inikman yon eleman nan yon baz done.
>> Se konsa, si nou te gen de Sams, tou de ki anseye CS50, epi toude, ni nan ki moun
yo te soti nan Milwaukee, sa yo ki ta toujou gen nimewo ID distenk
e konsa gen distenk nan kontèks la nan tab la.
Se konsa, sa a se sa SQL se fè fas ak, travay ak nan fen a tounen.
>> Koulye a, sa yo, se kat kòmandman yo ke ou pral bezwen yo travay avèk SQL.
Apre sa, mwen mete yo tout moute sou yon sèl glise.
Men, nou ap ale nan ale nan yo tout endividyèlman.
>> Lòd nan premye se MIZAJOU, ki fè sa ou ta ka atann.
Di ou gen kèk done nan tab la sa a, se soti nan dat.
Fè tankou si w ap kenbe tras nan non moun nan
ak laj, si yon moun nan ogmante laj, lè sa a
w ap ale nan vle ale nan ak aktyalizasyon laj sèlman sa moun nan.
Pou yon egzanp ki travay ak premye table-- nou an
pa enkyete sou ekri tout nan kòmandman sa yo nan menm tan an.
Men, si ou te gen aktyalizasyon desann, ki pral bon pou pati sa a,
paske nou ap ale nan tounen nan tab la.
>> Se konsa, si nou tounen nan tablo a, se pou yo di yon bagay sa ki te rive
te te gen yon tranbleman tè oswa yon liy fòt ki fann dirèkteman
a New York City.
Apre sa, nou te vle mete ajou tout moun ki te rete nan New York City.
Yo tout te gen pou yo avanse pou Pennsylvania.
Sa a pa yon vil.
Yo tout te gen pou yo avanse pou New Haven.
Gen nou ale.
Se konsa, tout moun nan New York bwote al rete nan New Haven.
>> Se konsa, sa a, se yon bagay sa a, se koreksyon twa ranje nan tablo sa a.
Men, nan SQL, ou ka fè ke nan jis yon sèl deklarasyon.
Se konsa, nou tounen nan Mizajou.
Kite m 'rapid efase tablo sa a ankò.
Lè nou ap pale de jour, gen
yon pati kèk nan sentaks la ki kle.
Oke, nan tout sentaks la se kle.
Men, bagay la nan vèt se si ou vle.
Yo blan ki nesesè yo, tankou prédéfinis non.
Ak ble nan limyè yo se bagay ki varye selon sou tab la.
Se konsa, sa a, se sa k ap pase sou ak konplo a koulè isit la, moute a.
>> Se konsa, si nou vle mete ajou sa yo ranje jis nan moun yo ki ap viv nan New York,
Se konsa, sa nou ta fè si nou te di MIZAJOU?
Se konsa, tab se kote nou mete non an nan tablo nou an.
Se pou nou jis di non an nan tablo nou an, se tab yon sèl.
Se konsa, nou vle mete ajou tab yon sèl.
E nou vle set-- ki sa nou vle yo mete?
Oke nou vle di, se konsa column-- PHP trete ranje kòm Idantifyan inik.
Lè sa a, kolòn yo jaden yo diferan
nan tout sa yo eleman nan baz done a.
>> Se konsa, eleman nan premye nan baz done a gen yon non nan Sam, gwo pwisans nan CS50,
ak yon vil nan Milwaukee.
Se konsa, si nou te di mete, se pou yo gade nan paramèt yo ankò ke seri pran.
Nou gen kolòn egal valè.
Se konsa, nou vle di kèk column-- ki sonje
se yon field-- nou vle wè yon jaden egal a yon nouvo bagay.
>> Se konsa, si nou jis di aktyalizasyon tab 1, mete non egal Elliot.
Jwenn kèk moun ki sòti nan la nouvo seksyon nan sou sa a.
Men, si nou jis te fè aktyalizasyon tab 1 mete non egal Elliot, sa ki ta
gade nan tab tankou apre sa?
Moun gen nenpòt lide?
Yeah.
>> ODYANS: Tout bagay nan ki ranje ta vin Elliot.
Oratè: Tout bagay nan ki ranje?
ODYANS: Nan premye ranje a.
Oratè: Nan premye ranje a?
Poukisa premye ranje a?
Mwen pa vle di yo chwazi sou ou.
>> ODYANS: Petèt tout bagay nan tablo a antye?
Oratè: Tout bagay nan tab la tout antye, wi.
Epi sa a, egzakteman dwat because-- mwen te jis ede ou konnen yon ti kras
there-- paske nou omisyon si ou vle KI KOTE kloz a.
Si ou pa gen KI KOTE nan kloz, ki sa kòmandman sa a pral fè
se li pral travay ak tout sèl ranje nan tablo a.
Non tout moun nan pral vin Elliott, fondamantalman,
ki Elliot se trè kontan sou yo.
Ou Yanni, youn nan de la.
Men non tout moun nan pral chanje.
>> Se konsa, wout la nou itilize KI KOTE clause-- nan ak sa a aplike a tout nan Wheres yo
ki nan chak nan bagay sa yo diferan.
Se konsa, ou pral avi ke SET gen kolòn egal valè.
Se konsa, fè sa ki KI KOTE.
Men, sa yo, se diferan kalite deklarasyon.
Se konsa, kolòn nan egal valè nan ansanm se nan plasman.
Tankou nou ap di nou vle yo mete non egal a Elliot.
Men, nan Paragraf yo kote, sa yo, se deklarasyon egalite.
Se konsa nou di nou sèlman te vle chanje non moun nan an Elliot
si non yo te Ryan, se pou yo di.
>> Se konsa, lè nou di
>> KI KOTE Non egal Ryan, ki ta avèk siksè sèlman chanjman
name-- a li ta sèlman chanje jaden an Non nan ranje
kote jaden an non se egal a Ryan.
Se konsa, si nou te gen moun miltip yo te rele Ryan, nan tout non yo
ta chanje nan Elliot.
>> Sa a se menm jan ak egzanp lan a si yon liy fòt fractionne
Vil New York ak tout moun gen yo deplase li nan yon New Haven, wout la nou kapab
fè sa nan yon sèl deklarasyon ki MIZAJOU table1 SET vil = New Haven
kote vil egal Vil New York.
Sa a se pouvwa a nan deklarasyon an MIZAJOU.
Nou ka chwazi nenpòt ki kantite ranje a deklarasyon vre
sou jaden yo nan sa yo ranje.
Nou pa ka di MIZAJOU table1 seri Non = Elliot KI KOTE ranje = 1,
eksepte ke nou kapab si nou di ID = 1.
>> Se konsa, nou ap ale nan dwe travay ak egalite
nan jaden, egalite nan kolòn.
Men, lè l sèvi avèk jaden an ID se yon fason yo chwazi ranje endividyèl espesyalman,
paske jaden an se yon inik ID idantifyan nan yon baz done SQL.
Se konsa, tankou à ranje yon sèl, ID egal 1.
Mete ajou ranje de, jis chanje ladan nimewo ID.
Men, pouvwa a nan la KI KOTE deklarasyon se ke nou
ka mete ajou bagay ki baze sou sa yo valè aktyèl la nan sèten bagay ye.
Wi Elliot?
>> ODYANS: Ak sa ki si ou vle to-- ankò, sa a se yon lòt kesyon.
Men, anvan m 'te kesyon, kote se sa kap pase?
Ki kote mwen à sa a?
Èske sa a nan yon kòd PHP?
>> Oratè: Ki kote ou mete ajou, wi.
Nou pwal pale sou kote tout bagay sa yo
k ap pase nan yon fwa nou sòt ale nan tout kòmandman yo.
Men, sa ki ou bezwen konnen pou kounye a se fondamantalman
ki baz done SQL ou egziste kòm yon bagay
yo dwe jwenn aksè pa rechèch la fonksyon, ki CS50 defini.
Se konsa, si ou itilize fonksyon an sijè rechèch, ou kapab jwenn aksè tablo sa a.
>> Se konsa, ou yo pral voye sa yo kòmande sou tab ou a nan dosye PHP
a fonksyon an sijè rechèch.
Ou kapab tou jwe otou ak tab ou dirèkteman.
Epi sa a, fason ki pi bon tès sa yo kalite kòmandman.
Epitou, n ap ale nan egzakteman ki jan fè sa nan jis yon ti kras.
>> Se konsa, sa a, se MIZAJOU lòd.
Tout rès kòmandman yo yo pral yo dwe sòt de ki similè yo,
ap travay sou bagay sa yo menm jan an.
Insert nan a se pwobableman pi diferan ki soti nan MIZAJOU.
Mwen pral kite ki 'kanpe pou jis yon ti jan ak travay sou isit la.
Se konsa, INSERT INTO, ou ap wè ki tab se toujou menm bagay la.
Ou vle insert nan.
Lèt majiskil, SQL an se ka bra kwaze.
Se konsa, ou pa bezwen kapitalize bagay sa yo.
Pa konvansyon, mo sa yo nan blan yo pwofite kapitalize.
Men, mwen menm mwen te koulè kode yo.
Rezon ki fè la sèlman ke ou kapitalize moun lè w ap tape yo
se jis mete aksan sou ki sa yo se konstan.
Se konsa, ou ka swa gade nan lèt majiskil la oswa lefèt
ke mwen te ki gen koulè pal yo yon lòt jan.
>> Se konsa, nou te gen insert nan, kite a fè table1 ankò.
Sa a se tout sou yon sèl liy.
Mwen jis separe li pa diferan deklarasyon sa yo.
Se konsa, pa enkyete sou lefèt ke table1 te fè li sou liy, dezyèm lan.
>> Se konsa, nou vle insert INTO table1 kèk valè.
Apre sa, ou pral avi si ou vle nan ti jan, ki mwen pral ale nan nan yon dezyèm fwa.
Se konsa, nou te gen valè.
>> Se konsa nou di nou vle ajoute Andi sou tab nou an, paske nou manke Andi.
Andi ki malad.
Se konsa, kite a ajoute Andi sou tab nou an.
Sonje ke nimewo a ID se mete ajou otomatikman.
Se konsa, jaden yo sèlman nou bezwen enkyete sou
se non, gwo pwisans, ak vil.
>> Se konsa, wout la ke nou fè sa, gade nan sentaks nou an, se nou te
jis te resevwa yon parantèz, ak vigil valè separe, chak nan yo ki
se yon valè.
Se konsa, si nou te vle insert Andi nan nou an tab, tout sa nou dwe fè ki dwat Andi.
Ki sa ki nan gwo pwisans Andi la, moun ki nan seksyon Andi la?
Li renmen vòl, oswa renmen vitès, oswa yon bagay.
Ki sa nou deja genyen 'kanpe?
Nou gen CS50, vòl, vitès, ak fòs.
>> ODYANS: Tan vwayaj.
>> Oratè: Tan vwayaj, dwòl.
Se konsa, nou te gen Andi, tan vwayaj, ak vil li.
Sa se yon kesyon reyèlman bon.
New York City, sof si yon moun konnen.
Tout moun nan soti nan New York se nan leson yo pran lwen jodi a.
>> Se konsa, sa a ta deklarasyon Insert, kòm yon senkyèm ranje,
ak gwo pwisans tan vwayaj la ak yon vil nan vil New York.
Men, si ou vle jaden an se fondamantalman yon fason
ou presize egzakteman ki kolòn ou vle insert bagay sa yo nan.
>> Fason ki ke nou ap fè li kounye a, Andi, vwayaj tan, Vil New York,
ki pral yo nan lòd egzak la nan nou an Non table--, gwo pwisans, vil.
Men, si ou te vle fè yon lòt bagay pase sa,
tankou di ou pa t 'konnen gwo pwisans yon moun,
tankou ki jan mwen pa t 'konnen an Andi gwo pwisans nan kòmansman an.
Se konsa, tout mwen te konnen te li non ak vil li.
Ki sa ki mwen te kapab fè se mwen te kapab do-- mwen pral efase sa a rapid.
>> Mwen vle sèlman mete ajou kolòn yo.
Lè sa a se kote si ou vle nan lis kolòn vin antre nan jwe.
Mwen sèlman vle mete ajou non ak vil.
Lè sa a, Mwen pral di valè.
Mwen pral fè Andi ak Vil New York.
>> Si m 'te omisyon lis la nan kolòn ak jis fè de bagay sa yo,
kote ta Vil Nouyòk te ale?
Ki kolòn ta New York City yo te mete yo nan?
Moun gen nenpòt lide?
Gwo pwisans, egzakteman.
>> Se konsa, sa a pral jis ale nan lòd.
Ak yon lòt fwa li rive nan nan fen a lis, li pral jis sispann ranpli bagay sa yo nan.
Ak valè yo ke li pral bwa nan tout kolòn yo pral jis pou nil.
Se konsa, paske nou espesifye non ak vil,
nou ap ale nan gen ID 5, non Andi, gwo pwisans NULL.
Se konsa, gwo pwisans se yon valè uninitialized.
Ou pa pral nesesèman jwenn nan menm erè Valgrind si ou eseye
ak jwenn aksè nan li.
Tout bagay yo pral joliman zero soti, paske NULL se yon valè nan SQL.
Sa se yon konstan.
Lè sa a, peyi yo pral Vil New York.
Se konsa, sa a, se INSERT a nan lòd.
Anvan nou deplase, gen nan de plis kòmandman.
Moun ki gen nenpòt kesyon sou MIZAJOU, sou insert nan, sou SQL
jeneralman anvan nou deplase sou Bits final nou an?
Moun yo santi yo bon, gwo.
Renmen li.
Se konsa, kite nan pale sou chwazi.
Ale menm twou MIZAJOU sou isit la.
>> Epi chwazi a pwal trè sanblab.
Objektif la nan chwazi, Objektif chwazi nan nan lavi
se yo ba ou yon pakèt moun sou kolòn ki satisfè sèten kondisyon.
Apre sa, lè m 'di satisfè sèten kondisyon,
lide ou ta ka imedyatman tounen nan ki KI KOTE kloz
ki te vin moute nan MIZAJOU.
Epi sa kloz se egzakteman gen la nan chwazi.
>> Si nou pa mete KI KOTE nan kloz epi nou di non chwazi,
hometown-- eple ke yon ti kras Non wrong--, peyi KI SOTI NAN table1.
Si nou jis di ke, ki sa CHWAZI ki pral ban nou se li nan
pral bay nou yon double-- yon tab, olye.
Yon etalaj doub si nou ap panse sou nan PHP sans.
Men, li la jis ale nan ba nou yon doub etalaj de de Non columns--,
ak vil.
Epi li pral inyore ID.
Epi li pral inyore gwo pwisans.
Epi, se pral jis ba nou chak sèl ranje nan ki tab.
Se konsa, si nou jis eleman Andi, nou pral gen Andi.
Epitou, n ap gen kat orijinal la.
Si yo ve yo te mete ajou, ki pral dwe reflete, et setra, et setra.
>> Se konsa, sa a se paske nou pa t 'sèvi kloz a ki kote.
Men, nou ka sèvi ak li nan egzakteman nan menm jan nou itilize li nan MIZAJOU.
Si nou sèlman vle yon tab nan non yo ak pouvwa super nan moun k ap viv
nan New York, nou ka egzekite yon deklarasyon tankou non chwazi, superpower--
Mwen jis ale nan kite that-- KI SOTI NAN table1 KI KOTE vil = Vil New York.
>> Se konsa, sa a ale nan montre ke ou kapab jwenn kolòn totalman diferan,
ak Lè sa a mete kolòn ke ou pa ap menm ap resevwa tounen nan kloz a ki kote.
Nou pa menm vle a peyi a tout moun.
Men, nou vle non ak gwo pwisans yo ak pèp
ki gen vil se New York City.
Se konsa, sa a, se yon bagay nou kapab fè avèk KI KOTE nan
kloz se nou ka fè fas ak kolòn ke nou pa nesesèman vle tounen.
Nan menm fason an nan MIZAJOU, nou ka fè fas ak kolòn ke nou fè pa nesesèman
vle mete ajou.
Nou ka mete ajou vil la nan tout moun ki moun ki nan non se Sam, pou egzanp.
Nou ka mete ajou vil la nan tout moun ki gen ID nonb ki se 2.
Se konsa, jis mete ajou nan vil nan dezyèm ranje a
kote nou pa gen fè fas ak nesesè kesyon an komen.
>> Ak efase se, menm jan ou ta atann, efase soti nan table1.
Lè sa a, nou te gen yon lòt kloz KI KOTE.
Se konsa, nou ka di KI KOTE ID = 1.
Debarase m de premye ranje a.
Ak efase ap toujou efase yon ranje, oswa li pral efase kèk kantite ranje.
Efase nan tablo KI KOTE City vil = New York
pral efase tout moun nan Vil New York.
Sa a si te gen yon toudenkou epidemi trajik
epi ou jis te vle retire tout moun soti nan tab la ki
te rete nan yon vil sèten ki te frape pa epidemi an.
Se pou yo rès ak kè poze.
>> Sa yo se kat kòmandman yo SQL ke ou ap bezwen yo sèvi ak.
Ou pa ta ka menm bezwen sèvi ak yo tout.
Men, sa yo, se kat la ki CS50 espere ou
yo dwe konfòtab ak pral antre nan tou de egzamen 1 ak tou pset7 ak pset8.
>> Genyen sèlman sa tab ankò.
Nan yon sèl sa a, gwo pwisans Roy a gen te mete ajou ak travès lazè, ki
ki se yon egzanp mwen pa t 'sèvi ak.
Mwen pa konnen ki youn Roy pwefere, men fòs.
Roy gen yon gwo pwisans nan fòs.
Katherine pa t 'fè li jodi a.
Sa a malere.
Men, li te gen vitès super.
>> Oke sa ki te PHP.
Anvan nou pale sou mv, èske nenpòt moun ki gen kesyon sou PHP?
Koulye a, SQL, oswa PHP si ou rete konsa gen vini ak yon kesyon sou PHP?
Great.
Tout dwa, nou ap tout ansanm lè sa a.
>> Se konsa, pale yon ti kras sou modèl View contrôleur,
se pou yo tounen nan kèk nan bagay la nan pset7.
Se konsa, sa modèl View kontwolè is-- mwen pa
ale pou konsève pou chanjman mwen an login paske mwen totalman mennen labatwa li.
Men, fondamantalman nou gen de bagay apa pral sou.
Nou gen yon piblik anyè ki gen
kòd a ki k ap pase yo dwe egzekite ak paj sa yo entènèt ke yo pral vizite.
Apre sa, nou yo te genyen tou anyè opinyon sa a.
Ak opinyon gen modèl.
>> Sa a se sa fonksyon an render-- nou te wè nan rann
fonksyon nan yon pakèt moun sou kòd la PHP li te ke CS50 deja ekri pou ou,
ki pran an sèten karakteristik.
Ki sa sa ap fè Kòd se li k ap pase nan opinyon,
ki se kouche nan tankou prewritten Kòd HTML,
ak li a mete valè nan sèten kote.
Sa a se fason lè ou ale nan CS50 Finans,
menm header a se sou chak paj.
Footer nan menm se sou chak paj.
Sa a se paske wout la ki rann travay se li 'tout
otomatikman plak nan ki header ak visualiseur ki ou ka jwenn nan opinyon.
>> Nou aktyèlman ka ale nan header, ak gade, li nan yon dosye HTML ak yon tèt.
Li nan te resevwa kèk style.
Ou pa bezwen fè yon gade nan CSS pou pset7 si ou pa vle.
Men, ou ka modifye yo si ou vle, fè
Finans ou gade yon ti kras diferan.
>> Li nan te resevwa kèk PHP nan header nan yon ti jan yo wè
si gen nan yon tit diferan li ta dwe mete nan header sa a.
Men, jis kèk lòt Scripts, ak lyen yo, ak lòt bagay.
Head fini, kò kòmanse, ak Wouch, nou gen sa a etranj ti jan fen ti kras.
Apre sa, gen nan yon div, jis tankou yon kalite inform nan eleman
ki gen yon lide sou presegondè.
>> Lè sa a, lè nou wè footer, nou gen nan fen yon div.
Nou gen yon anba, ki se kote tèks la footer se.
Fen div, fen nan kò, nan fen HTML.
>> Se konsa, sa rann se fè se rann se sòt
a reparèt moute header, se yon diferan dosye PHP ki
pral gen bagay yo reyèl ki ou pral wè, tankou tab ou nan aksyon
si w ap achte oswa ou vann aksyon.
Lè sa a, li pral ajoute nan footer la.
Apre sa, gade nan modèl lide kontwolè se ke nou
vle separe ki jan bagay sa yo gade nan kòd la.
Li nan nou vle separe entèfas a ak entèfas a, kote entèfas a se
bagay la ki itilizatè a wè, bèl nan visuals-- HTML, CSS, bagay sa yo tankou sa yo,
imaj, et setra.
Apre sa, entèfas a se PHP.
Sa a se kòd ke ou ekri.
Sa a se kote kòd la sa a, se fè operasyon vrè.
Sa a se lè w ap ajoute yon estòk sou tab ou,
lè w ap achte ak vann, sa a, se entèfas.
>> Epi nou ka, jan ou te wè, ki gen ladan PHP dirèkteman nan HTML.
Se konsa, sa nou te ka te fè pou plasman sa a se jis te gen
yon dosye HTML pou chak paj, tankou login.
Lè sa a, nan paj ki, jis te gen yon blòk gwo PHP kòd,
ki gen ladan tout nan kòd la ki paj ki espesyalman ta bezwen.
Lè sa a, nou te ka gen fè sa pou pòtfolyo.
Nou te kapab te fè tout nan achte a ak vann nan paj sa yo endividyèl elèv yo.
>> Men, paske se nou ap rann separeman ki soti nan kote
nou ap ekri entèfas a Kòd, nou ka byen fasil
chanje fason bagay sa yo gade san yo pa chanje chak dosye sèl.
Nou fè bagay sa yo tankou jis ajoute yon nouvo div nan pati anba a
de- Alo Mwen modifye footer la.
Ou ka jis fè bagay tankou sa.
Men, tou, ou kapab chanje tout Layout la vizyèl
san sa pa afekte sa ki nan pral nan entèfas a.
Epi ou ka chanje a tout entèfas epi ou toujou ap
genyen li gade jis tankou li te fè anvan an.
Sa a
>> Se lide an nan modèl View kontwolè.
Apre sa, li la aktyèlman yon paradigm enpoze nan kèk nan lang yo pwogramasyon
ou ta ka vle sèvi ak pou pwojè final la.
Si ou fè sa iOS devlopman, yo gen opinyon,
ki se sa ou wè sou iPhone a, ak Lè sa a, entèfas kòm tankou yon bagay ki apa a.
>> Ou ka panse osijè de yon ti kras.
Genyen yon anpil nan binèr nan syans òdinatè, ki se komik,
paske tout bagay nan nan binè.
Mwen pa t 'plan pou sa.
Sa ki te yon Pun entansyonel.
Wi, Pun pa gen entansyon.
>> Men, tankou dosye h ak dosye c, gen nan yon anpil nan separasyon de bagay sa yo ke nou
ta ka pa bezwen.
Se konsa, nou ka jis edite dosye yo h, oswa yon moun ka jis wè yon dosye h ak konnen
egzakteman fonksyon yo ki nan la c dosye san yo pa nesesèman konnen
aplikasyon yo.
Lide sa a nan separe eleman ki depann sou chak lòt
men yo ka sòt de aksè youn ak lòt atravè chanèl diferan, pase
nan varyab, jis gen ladan deklarasyon, bagay sa yo
tankou sa yo, prensip sa a ede yo kreye aplikasyon pou
ki ka pi fasil edited by miltip moun,
ka pi fasil chanje oswa modifye nan yon echèl gwo,
epi yo pi fasil yo debug nan yon anpil nan fason.
>> Vrèman rapid, mwen gen yon konsèy kèk pou pset7,
ki mwen pral fè plein écran pou w pa jis gade nan the-- tippee pwent pwent.
Pa gen ke anpil konsèy.
>> Men, mwen mansyone PHP se difisil yo dbug.
Doub ak trip tcheke li.
Si kòd ou a se jis pa ki montre moute sou paj la,
li la pwobableman yon erè PHP, regrèt.
>> Ou pa janm bezwen fè yon gade nan CSS si ou pa vle.
Men, yon fwa w ap fini, li kapab yon bagay bèl ti plezi yo jis ale nan
ak dezòd ak paramèt yo CSS.
CSS ak HTML se yon egzanp sou yon modèl bagay View style kontwolè tou, dwa?
Ou te kapab gen Tags style andedan nan eleman HTML.
Men, si ou sòt de externalisation yo CSS,
yo ap pi fasil yo edite, ak jwe otou ak, ak pran plezi avèk yo.
>> Trete CS50 k'ap vin ede fonksyon kòm bwat nwa.
Ou pa bezwen konnen ekzakteman ki sa rann ap fè,
men mete konfyans li nan toujou fè dwat a bagay depann sou sa ki ou pase l ',
bagay sa yo tankou sa a.
Apre sa, mwen ta rekòmande pou l ap gade solisyon David la,
ale atravè tout tout nan bagay, pa sèlman Todos yo,
men ou reyèlman ka trete sa yo bwat kòm nwa.
Pa antre nan sa yo fonksyon kap chèche pinèz.
>> Ak akeyi retounen nan a Siprèm Zamyla nou an.
Great.
>> Èske gen nenpòt kesyon final anvan nou sòt de rebondisman pou yon jou a?
Èske mwen toujou ap viv?
Great.
Hi moun livestream.
Great.
Èske gen ankò kesyon?
Se pa?
>> Lè sa a, mwen panse ke nou ap bon yo ale pou jodi a.
Mwen pral bwa alantou yon ti jan apre sa si moun te gen kesyon
yo te pè poze sou kouran an.
Men, otreman, gen yon bon jou.