>> SAM LEVATICH: Dobrodošli oddelek za ta teden.
Nisem Andi.
Andi je zbolel za ta dan, in jaz so bili nekako imenuje v zadnji minuti
prevzeti.
To je sezona gripe, zato poskrbite, da boste prebivajo čisto, umivanju rok,
in zdravo prehranjevanje, tako da tudi vi niste Iznemogao.
>> Toda brez nadaljnje ado, začnimo.
Danes bomo govorili približno PHP malo bit-- kako
PHP se nanaša na HTML, kako ga nanaša na CSS, in nekatere spleta
stvari si na zadnji dodelitvi.
Bomo pogovoril malo o SQL
in kako lahko delate z bazami podatkov, ki je zelo bistvena sestavina P
nastavite 8-- P nastavite 7.
P nastavite 7.
>> In potem bomo govorili malo malo o tem, kako krmilniki pogled deluje
in zakaj to je filozofija nekaj sodobne spletne strani in drugačno zasnovo.
Precej veliko vrst aplikacij in aplikacije, ki jih lahko ladja
so z uporabo tega modela, Okvir pogled krmilnik,
da si bo z uporabo v P nastavljena 7, tako da bom
govori malo o tem, zakaj da je postalo
priljubljen, zakaj je pomembno in lepo.
In potem bom končno premakniti na nekaj nasvetov o reševanju P nastavite 7.
In če bomo imeli čas ostala na koncu,
bomo lahko dejansko narediti nekaj delati na tem skupaj.
>> Torej, PHP.
V bistvu, ste morda opazili this-- vam ni res, da se potopite v it--
ampak P nastavite 6 imel nekaj PHP kodo, ki se dogaja.
In zato, ker PHP je C-like jezik, PHP, za razliko od HTML in CSS,
je programski jezik, ker se HTML in CSS so statična.
Oni označevalni jeziki, ki se ukvarjajo s stilom in vizualno postavitev.
PHP je prava stvar.
>> PHP ima zank, da ima conditions-- vse te stvari, da je zabavno o C.
To je nekaj stvari, ki so malo malo bolje kot C, kar bomo videli,
ampak mislim, da je najlažje govoriti o PHP je le, da se potopite v.
Tako da sem šel desno v IDE na tej točki.
Prva stvar, ki jo boš storiti, je dejansko videti
malo na nekatere izmed PHP koda, ki je bila v P nastavite 6.
Torej način, da delamo that-- prej, tako, da smo bili z operacijskim
strežnik za napravo je bila, da bi morali type--
ali uporabite svoj izvajanja ali izvajanje Kadrovskih je
od server.c ki ga bo v imenik in teče server.c bodisi ni
arguments-- tako samo pozivam lokalnega gostitelja, ki je tisto, kar ste verjetno
storila večina time-- in nato s polnjenjem
directory-- z za uporabo kot koreninah
kjer je spletna stran bi biti prost, v bistvu.
>> Ta teden P set 7, kakor velik kot naš kode za server.c
je, da obstajajo ljudje, ki imajo že napisal te lepe stvari znova na CS50
ki imajo malo več funkcionalnosti,
program strežnik, ki je sposoben ki se ukvarjajo z malo več
od zapletenosti da bomo glej tako v P nastavite 7 in P nastavite 8.
In način, da začnete gor Strežnik, ki ga vtipkate "apache50."
>> In preden narediš karkoli, želite prepričati
da je Apache 50 ne že teče, kot je
na mojem računalniku, ki sem jo naredil, da ga preizkusite.
In ti to, da ga kliče apache50.
Stop, in videli boste, da je ustavljanje spletni strežnik, če si lahko ogledate tam
Na dnu okna terminala.
In potem samo za začetek, smo bo poklical, "apache50 začetek."
In potem gremo ga nahraniti imenik.
>> Zdaj, ker smo želeli videti na nekatere P določi 6 kodo
da smo izvajali, sem dejansko kopirali malo P
nastavite 6 kodo v mojo mapo, ki jih lahko vidite na levi strani tam.
To se imenuje "SECTION8" v vseh z velikimi tiskanimi črkami
saj sem samo tako navdušen da bo v živo predvajale-danes.
>> Torej, če tečemo s tem bi bilo Vse deluje zelo učinkovito.
Piše, OK, naša stran je zdaj na voljo na naslovu IDE,
v bistvu, ki je tisto, kar ste bili z uporabo točno tako, kot je bilo v P nastavite 7-- P nastavite 6.
Vsi moji indeksi so eden indeks danes.
Torej, lahko gremo na to naslov, če si boste zapomnili,
s klikom ta mali gumb v zgornjem desnem kotu.
>> In se spomnite to kodo, ki se je zgodilo, ko si šel v hello.php.
In kaj koda je zasnovan tako, da storiti, je, ko ste vnesli ime
here-- če rečete Sam ker to je moj name--
in sem kliknite Hello Say, ko smo šli na naslednjo stran,
To ime naj bi bil prikazan.
To bi rekel: "Zdravo, Sam" ali "Hello", karkoli vam ime
vanjo, čeprav smo šli na povsem novi spletni strani.
>> In to je reč da lahko PHP stori za vas.
PHP je sposoben, da prenese podatke med dvema spletnih straneh.
To je popolnoma drugačna stran.
Videli boste, naslov je "zdravo" tukaj.
Pravzaprav imajo isti naslov, vendar sem
Obljubim, da so različni web strani, če gledamo na viru.
In lahko prenese podatke, ki je vnesejo v tem besedilnem polju,
ga predloži naslednji strani, ki je vpoklican,
in nato, da se podatki lahko tam v svoji sedanji obliki.
>> Zdaj smo še ne izvajajo to sami, ki
je tisto, kar bomo storili zdaj, da nekako dobili okus za to, kako PHP deluje,
vendar je ključna ideja je, da PHP-- lahko nekako si o njej mislijo kot funkcijo.
Nekaj, kar lahko PHP vam pustiti pa je lahko trajalo parametre
da vnesete v HTML stran z uporabo PHP in oblik,
in se lahko prenese s tistimi kot parametri na naslednjo stran, ki je naložila gor.
>> V tem primeru, bomo nakladanje up to Stran z gumbom "pozdravi".
Ampak za zdaj, sem dejansko črta nekaj te kode
v hello.php da je prost dostop da je bil dejansko prikazovanje "zdravo,
svet "ali" zdravo, Sam ", ali "zdravo", kar je samo vhod.
Torej za zdaj, smo bo za to, v bistvu.
Bomo ponovno, da je in dodate tudi nekaj več funkcionalnosti,
narediti malo več z njim, si oglejte kaj PHP je res sposoben.
>> Torej, najprej, kaj je govoril o ta datoteka, hello.php.
Torej, če smo zoomom malo bit-- in zdaj sem
nekako poskuša pomikanje vse način around-- tam gremo.
Boste videli, da se imenuje hello.php, ampak sintaksa njega
Izgleda datoteko HTML.
To je zato, ker Dejanska PHP v tej datoteki
se vsi zaljubljen med njimi vprašanje mark-strešica bloki.
Vse je tukaj Šteje se PHP koda.
>> In boste opazili, da ko sem komentar,
boste videli poznajo dve poševnici.
In če boste spomnimo, v HTML, če sem tip komentar,
je videti nekaj bližje to, kar je komentar v HTML.
Torej, res je vse med ti dve kotni nosilci
Zdaj je PHP koda, ki se odraža v tem,
da je to malo simbol komentar je obrnil v komentarju.
>> Torej, vsakič, ko pišete PHP kodo, celo če ni HTML koda zunaj njega,
to je vedno bo zaprti v teh kotnih oklepajih
z vprašaji.
Lahko nekako misliti it-- kako vse kode, ki je potekal v vaših programih C
je bil zaprt v int glavno, praznino, kodrasti naramnicami, konec kodrasti izjava brace.
In videli boste, zavite oklepaje v PHP, tudi, toda to je vrsta
kot glavno metodo PHP.
>> Torej sedaj, kako bomo storili ničesar v PHP?
Zdaj, PHP je programski jezik, ki je zelo-C, kot so,
ampak deluje na spletu.
Torej, ena stvar, ki boste immediately-- eno
od prvih stvari, ki jih res z C je bil ste tiskali stvari, kajne?
Torej, v C smo naredili, da s funkcijo printf.
Dali smo to niz, verjetno z novo linijo,
potem pa preneha je s podpičjem.
>> Torej tako, da bomo za to, da v PHP-- ker to ni čisto printf.
To je malo drugačen sintakso.
Tako, da smo natisnete stvari v PHP je, da smo rekli, "echo zdravo"
ali "echo" kakršno koli besedo.
In da ima tak učinek printf z vrvico, "zdravo."
In dodaja novo linijo z njo.
>> Torej, kaj je zdaj, da sure-- Bom pomanjšati spet malo bit--
dajmo se prepričajte, da da koda deluje
ker je morda zelo pa gre za napako v tem kodeksu
da bomo morali lotiti.
Torej je strežnik že teče.
Torej, če smo pomikanje nazaj na dno, Ja, je strežnik še vedno teče.
Torej, če smo samo pritisnete na to malo desno here--
welcome-- moramo get-- super.
>> Še vedno smo ob seznanjeni "Pozdravi" dialog,
ampak ko sem tip v "hi", bomo videli da je besedilo "zdravo" je bil dejansko
natisne, ki je točno tako, kot smo pričakovali, saj odmeva v PHP
je tako kot izjavo printf.
Torej nazaj na kodo, kako v P nastavite 6 storil porazdelitev koda, ki jo pod
bi bilo tako, da je PHP bi izhod za stvar, ki se vam
vnesli na prejšnji zaslon?
>> In nekako preuči zakaj se to zgodi, smo
bo šel v index.html, ki je izvirna datoteka, datoteka, ki
se pojavi na zaslonu z gumbom "pozdravi".
Opazite, da je vse klasične stvari,
smo prišli, da pričakujejo od HTML takega kot te stvari, zaprto te oznake
v kotnih oklepajih, kot so PHP vendar brez vprašaji,
kar kaže na posebno stvar HTML.
Imamo naziv, ki je "zdravo."
In boste opazili, da se, kot smo videli, naslov je "zdravo", v obeh primerih.
Oglejmo spremeniti tole da "reči" samo zato, da bomo
mogoče razlikovati sebe, kje smo.
>> Ampak imamo telo.
In potem je zanimivo bit je bit, ki se prikaže v HTML,
je ta oblika element.
In tako smo dobili obliko.
In to je ključ.
To je, kako delamo s PHP.
Akcijski parameter Obrazec pravi, da hello.php
je tisto, kar bomo poslali vrednosti v tej obliki do.
To je, če smo mimo parametri, če se tako izrazim.
>> Opazili boste, še ena stvar tukaj je, da je metoda "znebiti."
Obstajata dva osnovna Načini, s katerimi bo
lahko z uporabo PHP, da prenese podatke med websites-- spletnih straneh,
rather-- v tej nalogi.
In te metode so "dobili" in "delovno mesto."
Obstaja nekaj subtilno Razlike med get in pošti
da bomo dobili into-- smo bo "dobil" v, če hočete.
>> Ampak za vse namene in namene, dobili in post
sta le načini, da podaš parametre
z nekoliko drugačnimi usmrtitev.
Za zdaj, bomo uporabili priti, ker dobil je, kar je bilo prvotno uporabljena
V datoteki PHP P nastavite 6.
In dejansko, če gremo v in poglej preden smo uredili ničesar drugega,
Grem pozdravit to-- kako ti je ime?
>> OBČINSTVO: Elliot.
SAM LEVATICH: Oh, bog.
Ne vem, kako naj napiše.
Lahko napiše, da je za mano?
Skupina: E-L-L-I-O-T.
>> SAM LEVATICH: I-O-T?
>> OBČINSTVO: Ja.
>> SAM LEVATICH: Popolna.
V REDU.
Mislim, da sem vedel, kako se napiše.
Oprosti zaradi tega.
Toda, če rečemo »Say Hello«, to ni da se ne bo prikazal na zaslonu
vendar, ker smo spremenjeno koda malo.
Toda, če ne bomo "Pozdravi" - OK, tako "zdravo", je tu.
Ampak, če vzamemo bližje poglej URL sama,
bomo videli, da se konča Ime s hello.php? = Elliot.
>> Torej, to je način komuniciranje na naslednjo spletno stran
parametri, ki smo jih opravili.
Rekli smo name = Elliot.
In to je, navsezadnje, kako P nastavite 6 pogledali spremenljivke, ki smo jih opravili v
preko obliki.
In to je nekaj, kar je značilen za zahtevo GET.
Zahteva za get naredi parametre znana v URL spletne strani.
>> In se spomnite, preveč, v P nastavite 6, ki vas
moral napisati funkcijo da je ukvarjal z dejstvom,
da te poizvedbe niz lahko obstajajo po datoteki.
Tam bi se lahko vprašanje znamka sledila ga bistvu poljubno število znakov.
In to je točno tisto, kar se dogaja tukaj.
In razlog, da si je moral razčleniti, da v vašem izvajanju server.c v P
nastavite 6 je tako, da lahko poveš PHP koda, da naštejemo = Elliot.
Je potrebno, da bo lahko razčleniti, da iz URL-ja
tako da je datoteka PHP v vprašanju ni vedel, kaj je bilo, ki se ukvarjajo z.
>> Zato upajmo, da to daje motivacija za server.c
zdaj, ko se selimo na izven C v PHP.
Torej, kaj je dejansko osredotočiti na dostopom do Stvari prečkale zahtevo GET zdaj
na tej točki.
Bom rešil to.
Mi ni spremenilo nič.
Izgleda, da imamo vnosno polje.
>> Mi smo nastaviti nekaj lastnosti, saj ne moremo storiti HTML.
To so preproste stvari.
Ne potrebujemo jih.
Ampak imamo autocomplete off, ki v bistvu says-- veste,
Ko vtipkate stvari v spletu, včasih
poskuša zapolniti, da se za vas.
Torej, to je lepa stvar.
Želimo, da ga izklopite za ta namen.
To je bila odločitev CS50.
Tako bomo lahko izbrišete, da če smo želeli.
>> Samodejno ostrenje samo palice kazalec v pravi obliki na začetku.
Še enkrat, ni preveč pomembna.
>> Ampak name = "ime" - to je malo težavno, ker je to ime in ime.
Ampak lahko smo spremenili da je to nekaj drugega.
In z dejstvom, da je Kaj bomo storili zdaj.
Bomo rekli "osebo", ki je nekaj podobnega imena
če je oseba definirana njihova imena.
>> Torej, kaj je blizu tega, ponovno odpre našo spletno stran
saj naš strežnik še vedno teče Apache 50, in bomo rekli, zdravo, tukaj je
Elliot znova.
Zakaj ne?
Zdravo.
In če gremo tukaj gor, bomo videli potem namesto imena = Elliot,
piše oseba = Elliot.
In to je neposredna posledica dejstva, da smo pravkar spremenili name = "osebo."
>> Torej, v vhodni element obrazec HTML, polje ime
je identifikator za parameter, ki se je mimo.
To je tako kot če ste ustvarili funkcijo "dodati", ki je v dveh števil
in si rekel int A in int b.
To bi bilo imena, in če si je želel še en obrazec, ki
lahko storimo samo s kopiranjem in lepljenje, potem bomo imeli ime b.
>> Sedaj bomo imeli dva parametra ki se prenašajo prek
dobili na naslednjo website-- naslednjo spletno stran, hello.php.
In bomo lahko dejansko videli da še enkrat, če želimo.
To je najlažji način za spopadanje s spletna koda v IDE, v bistvu.
Zaženete strežnik, da dobim teče, in nato vsakič, ko
narediti nekaj sprememb, tako blizu da datoteko samo, da je varna.
S pritiskom na gumb za nazaj je malo zapleteno
ker bi bilo nalaganje prej različica, ni najbolj posodobljene ena.
>> In potem si samo kliknite vaš Gumb za ponovno pop desno up-- oh,
in sedaj obstajata dve vrsti.
In tako, če vpišemo eno stvar v vsakem one-- "Jason Hirshhorn," za instance--
smo pozdravit.
Mi poglej gor na naših parametrov.
Izgleda, da imamo, kot je Pričakuje se, a = Jason in b = Hirshhorn,
kar predstavlja dva parametra da smo opravili s to funkcijo.
>> Torej, zdaj, kaj je v resnici priti do izvajanje te funkcije, ki jih
imela v P nastavite 6.
Torej, zdaj smo šele odmeval zdravo.
In to ni zelo koristen.
Želimo, da odmeva nekaj spremenljivko ki je bil sprejet na nas.
In vemo, ime te spremenljivke.
Imamo in smo b.
Tako smo lahko odločijo, da odmeva niti enega.
>> Toda, kako lahko dostopate do njega?
No, obstajajo določene globalne spremenljivke v PHP.
In bom napisal jim v komentarjih tukaj.
Dve najpomembnejše so get in post za naše namene zdaj.
To so nizi ali, Tehnično, slovarji
kjer so naši spremenljivke, ki sva prehod na naslednjo spletno stran živi.
In bomo kmalu videli, kako jih uporabljati.
>> Še ena kratka opomba o PHP kodo in nekatere posebnosti it-- v C,
da razglasi spremenljivko ali za uporabo spremenljivk,
ste prvič imeli, da jih razglasi.
In kaj ste morali storiti, ko ste razglasila jim je rekel, int a ali char b.
Si moral razglasiti vrste teh spremenljivke, preden jih ustvarili.
PHP-- vam ni treba storiti nič od tega.
PHP ne zaprosi za tip spremenljivke.
In pot, ki vas ustvariti variable-- precej
kot pravijo, int, char, string-- ki je res char *, kot smo know--
namesto šel vse da, ker je vse
je istega tipa, typeless, lahko smo samo
uporabite en znak, ki je znak za dolar.
In boste videli, da je že popping gor, malo samodokončanje stvari.
In je rekel, da _GET in _POST sta dve možnosti, ki jih imam na voljo
meni.
Nekatere od teh drugim so druge globalne spremenljivke v PHP
da boste uporabljali več potek P nastavite 7.
Za zdaj bomo osredotočiti na get in post.
Ampak to je koristno stvar, da je IDE ne
kjer je nekoč ste vnesli v tem znak za dolar,
da bomo začeli izpolnjevanju globalnih spremenljivk ali spremenljivke, ki ste jih že določili.
>> Torej, če boste želeli opredeliti spremenljivka imenuje "niz"
si lahko samo nastavite tako enaka "živjo".
In to je v bistvu tako enostavno, kot da.
In potem lahko storimo nekaj podobnega "echo $ string."
IDE treba metanje nekatere Napake, če delam kaj narobe,
zato upajmo, da delam vse, kar je prav.
Vendar bugs vedno ne pojavijo.
>> Drug rafiniran stvar PHP je, da je niso pripravljeni.
Torej s programi C, bi vam dnevna rutina of-- bistvu,
vam bi Uredite kodo, ki ste jo shranite,
in potem bi bi bilo, če je bil make
korak, ki se imenuje prevajalnik, Jek, da bo svojo kodo, to besedilo
datoteke, v izvršljiv.
PHP je C-všeč, vendar pa je že izvedena na letenje s strani spletnega brskalnika.
Torej ni mogoče vedeti.
>> Naj bi vrgel tisti, koristne napake, kajne?
To bi bilo všeč, ni prijavil te spremenljivke
preden si se potrudil, da ga uporabljate.
Si naredil vse to slab stuff-- segfault, segfault, vse to vrsta zabavno-krat
ki je prišel z znamko.
PHP je dvorezen meč ker ne boste dobili te napake,
vendar to tudi pomeni, da ne boste vedeli, Res, kaj je narobe z vašim programom
če si jo vodijo in to ne deluje.
Vendar bi morala razhroščevalnik poudariti nekateri upajmo koristnih malenkosti
skladenjsko da lahko popravim.
>> Torej, zdaj, če gremo čez to-- reči, kaj je zapreti to.
Znova odpreti.
In smo spet tukaj.
Torej imamo spremenljivko in spremenljivi b.
In ti ne bo na koncu važno.
Mi jim bomo poklical h in g brez posebnega razloga.
>> In smo pozdravit.
Zdaj pa izgleda naš niz "hi" je dejansko za tiskanje.
Ustvarili smo spremenljivko z imenom "niz", nastavljen je enaka "živjo".
Obvestilo, da nismo imeli opraviti malloc ali narediti niz znakov.
>> V PHP, ker spremenljivk so typeless, niz
je enak kot za char vse namene.
To bi lahko bilo "živjo".
To je lahko samo k značaj.
To je lahko število 1.
In to ne skrbi.
PHP ne skrbi tip vašega spremenljivke.
Ali pa to ne skrbi.
Prav briga ko poskušate in delati stvari, s tem,
vendar ne skrbi, v korak deklaracija.
>> In tako kot si lahko v C, lahko razglasi strune na sklad, kot je ta
čeprav pravijo, "kup", je malo bit potencialnega napačno ime kadar
govorimo o PHP.
Ampak mi ne bo treba skrbeti za to.
Tako smo dobili našo niz "hi", in mi echo niz.
Torej, zdaj smo razpravljali spremenljivk.
Torej sedaj moramo govoriti o get in post in opraviti končni stvar, ki je
potrebno, da bo res dobil to nazaj gor k funkcionalnosti P nastavite 6.
Torej, zdaj smo odmeval niz, vendar smo
imajo te spremenljivke dobiti in po njem.
In ker smo s pomočjo metoda dobili pa
Zdi se logično, da je naša spremenljivka, ki smo zainteresirani, tako a in b,
se bo nahajal v matriki ali slovar, tehnično dobili.
>> Torej, če smo postavili dobili takole s svojim groups-- Pritisnil sem vstopiti
in to it-- ni všeč ampak tukaj smo dobili.
In tako dobili že obstaja.
Tako bomo lahko že začnete z dostopom nekaj elementov dobil.
Če ne bomo dobili, to sintakso za nizi v PHP je zelo C podobno.
Imamo dve oglatih oklepajih.
>> Torej, če rečemo, priti v normalno matrika, smo lahko dostopate
indeks Ničti, prvi indeks.
PHP je nič kazalo.
Lahko bi rekli nič, ena, dvo stvari, kot je ta.
In sem rekel, da bi dobili je tehnično slovar.
Torej, kaj PHP počne pod pokrovom, ki je malo lepše od C,
je že daje vam nekaj slovar funkcionalnost, ki
je res hash tabele, ali poskuša, menda.
Ali pa, tehnično jo je lahko poskušali tudi.
Vendar PHP je izvajanje razpršene tabele, ki tvori učinkovito slovar.
>> In tako vemo ime naše spremenljivke, kajne?
To pa je opravil v poizvedba niz PHP.
Imamo = H in B = g, kje in b so imena spremenljivk.
Torej način, da bomo lahko dostop do Vrednost, ki se ujema s ključem
v našem slovarju, je samo z besedami _GET_GET ["a"].
>> Torej, zdaj imamo _GET ["a"].
In če smo samo zamenjati znotraj naša echo, če bomo echo _GET_GET ["a"] -
in bomo videli, če razhroščevalnik meče vse napake glede this--
bomo prihranili da in zapreti to.
Jo odprli.
Tako da smo samo delaš pravico Zdaj, da b ne bi pomembno.
"njo" in "njega" - "hum." "njo" in "hum."
Sliši se dobro.
>> In to izpisal "ji", ki je noro.
Ampak to je točno tisto, se je dogajalo v P nastavite 6.
V bistvu, kaj P nastavite 6 je doing-- echo zdravo,
name-- kjer je imela Ime spremenljivke in to šele
prosi, da tip v tem nekaj besedila.
Obstajala je tudi nekaj dodatna številka, kjer
vključen, če izjave, ki jih lahko storite zdaj.
>> Lahko rečemo, če obstaja, ki je funkcionalnost v PHP,
_GET Z podčrtaj, "ime" - ki je v bistvu rekel,
"če je bilo ime izpolnjen", ker smo lahko samo kliknili na gumb
da predloži obrazec brez karkoli vpisali v tem področju.
In smo zaviti, da je v naši Prijazno zaviti oklepaji.
Imamo lahko stavka drugega.
In to je vse v PHP kotom nosilec, vprašaj, kot nosilec,
če hočete.
>> In zdaj bomo videli, če to deluje.
Držim čakajo na to, da debug in sranje od mene, v bistvu,
vendar to še ni.
Mogoče se bo zdaj ker sem govoril o tem.
Ja.
To je storil, v resnici.
Torej, nič ne kaže navzgor.
To je zato, ker nečesa napačnega da sem napisal v PHP kodo.
In omenil sem razhroščevanje je zapleteno, ker v PHP, smo
ga ni predhodno pripravijo in prevajalnik ni bilo všeč,
tukaj je, kjer so vaše napake.
>> Toda kaj lahko storimo is-- ljudje spomnite
kako gledati na drugo omrežje zahteva, da PHP-- ali da spletne strani
poslali?
[? Malin?] To storili v predavanje enkrat ali dvakrat.
Se spomniš, kam gremo, da bi našli različni dolgovi in ​​200 OKS,
vse te kode, ki se pošiljajo preko HTTP od spletne strani na spletni strani?
Ali kdo ne pozabite kam gremo, da to storim?
>> OBČINSTVO: Page Source.
SAM LEVATICH: vir Page.
Točno tako.
Če greste na stran Source-- popoln.
Torej Page Source potegne navzgor inšpektorja.
>> In jaz sem z uporabo Safari.
Veliko vas bo verjetno lahko uporabljate Chrome ali Firefox.
Ampak tako dolgo, kot ste v vsaki sodobni browser--
in vas prosimo, da sledite skupaj, če hočeš.
Lahko vnesete to kodo ali samo poglej znotraj P set 6
imenik za kakšno podobno stvari.
hello.php je tisto, kar smo Trenutno delajo na posnemanju.
>> Torej obstajajo različne zavihke.
Mi lahko ogledate na vseh virov.
Vidimo lahko izvorno kodo.
Torej izgleda, da ni dobili mimo telo na koncu.
Napako je najti v PHP in njej ustavil nalaganju celotno spletno stran.
Nimamo še konec tag za HTML ali karkoli.
>> In če se ozremo na omrežje, smo lahko videli, da smo se pošlje zahtevek.
To je domena.
To je naslov.
To je dokument.
Mi smo z metodo get.
>> In to je rdeča.
Ali pa je bila rdeča, ko sem ni ga izberete.
Kako ga unselect?
No, bilo je rdeče.
Dovolite mi, da osvežite.
Tukaj je.
Zdaj je rdeča.
>> Torej, to je rdeče, kar pomeni, to ni uspelo, kar je slabo.
Torej, si oglejmo, zakaj je propadel.
Torej vse, da Page Source lahko v bistvu povedal, da je tvoja stvar
ni delo, ki smo ga že lahko videli.
Torej v najboljšem primeru pa bi biti bolj uporabno orodje.
In tam so nekateri razširitve brskalnika ki vam omogočajo, da debug PHP,
vendar ne bomo do pisanje tono PHP,
tako da je verjetno samo najboljše odmisliti kodo
previdno in samo poskrbite, da to ne počne nič drugega.
>> Torej, da vidimo, če je format tega če izjava je, kje je problem.
Želim naložiti, da tu gor nazaj.
Pozdravljeni, hi.
Torej je problem tam.
>> Torej za pravilno sintakso PHP, PHP se dogaja
biti-C, kot s tem, da boste videli zanke.
Če izjavah boste videli.
Videli boste vse te prijatelje da ste postali seznanjeni
s tekom tega CS50 semestra.
Vendar je najboljši način, da ugotovimo, kako storiti nekaj v PHP je, da ga vprašaš
ali pa, da pogled na nekaj primerov PHP kodo saj veš funkcionalnosti.
>> Veš, kaj lahko delati s programom.
Lahko zanka.
Lahko zanko tolikokrat, kot želite.
Lahko zanka v vseh vrste različnih načinov.
Lahko ustvarite funkcij.
Ustvarite lahko funkcije, ki poklicati druge funkcije, funkcije
ki se imenujejo.
In imate imena za te koncepte.
Imaš rekurzijo, zank, če pa se drugi tokovi nadzora.
In tako Google je tvoj najboljši prijatelj.
Celo rekli, "PHP če izjava "in tam bom
bo ton mest s odgovori na druge ljudi
ki ste imeli podobnih vprašanj za vas, ki so šele začenjajo z PHP
in so radovedni skladnje stvar.
>> Ker imamo razkošje bivanja lahko pogled na kodo v P set 6,
smo ga dejansko potegnite navzgor in videli, da OK, tukaj je nekaj zanimivega.
Torej, to je tisto, kar je pravzaprav izgledala v P nastavite 6.
Torej, če gremo skozi to, lahko vidimo, da smo jih
dobil več od teh malo -PHP kot bitov vprašaj.
>> In tam niso zaviti oklepaji.
Obstajajo dvopičja.
In tam so kodrasti naramnice v PHP, vendar je to
je oblika in način delovanja PHP, ki dobro deluje s HTML
saj, kot boste videli, bomo zaprli off teh PHP bits-- elses
in jev in vsi that-- in nato smo interspersing HTML znotraj njih
medtem ko še vedno sledi nadzor pretoka določena s PHP.
>> Tako da sem le, da bo Hiter sprehod skozi to
ker je veliko enako koncepti, ki smo počeli prej.
Imava če ni prazna, oklepaje, _GET_GET ["ime"].
To je vse isto stvar.
Mi smo s pomočjo _GET slovar, ki PHP pošlje na zahtevo oblik,
ker je parametri dejanje, in ta metoda znebiti.
In potem, da se konča to.
Debelo črevo je označevalec, da samo to storiti če, če izjava ovrednoten kot resničen.
To je kot kodrasto opornico.
In v resnici, je kodrasti brace v drugih jezikih, kot so Python,
ki lahko naletite, če ste le to, da za svoj končni projekt.
>> In potem je ta linija, zdravo.
Potem imamo to čudno stvar.
Imamo več konzol.
Ni HTTP there-- ali PHP, žal.
Ampak tam je enačaj.
In potem imamo funkcijo, htmlspecialchars (_GEThtmlspecialchars (_GET ["ime"]).
To je nekako tako kot bolj napredna različica odmev.
Tako kot smo odmeva kot način natisniti stvari v PHP.
To je funkcija, ki je opredeljena v PHP, ki
se bo spopadel z nekaterimi bolj grdo znaki in bajt vrednosti
da bi lahko to prenese.
To je vedno najvarnejša treba uporabljati.
Ampak echo bo to delo čisto v redu, če ne bomo
ki se ukvarjajo s čimerkoli preveč grdo.
>> In tako ima to isto Učinek bistvu
te stvari med vprašanjem Ocene se ovrednoti s PHP.
htmlspecialchars vrne lepo HTML tiskani vrednost _GET_GET ["name"], t.j.
karkoli bomo vnesli v obrazec.
In potem bo to pozdravi, vejica prostor, nato pa, da je.
To je stvar med kotni nosilci
bodo nadomestili karkoli htmlspecialchars postavlja ven.
Tako da je v bistvu podoben s tem, kar delamo.
In imamo izjavo drugega, ki je Zdravo svet, ki ima smisel.
Torej sedaj se vrnimo k naši kodo in videli exactly-- oh.
Omenjeni I obstaja, ki ni stvar, ki smo želeli storiti.
Smo želeli povedati, ni prazna.
>> In tako bi to moralo delati malo malo bolje, ni prazna _GET_GET ["ime"].
In da kodrasti brace ujema kodrasti oklepaja.
Imamo naše zavitimi oklepaji tukaj.
echo zdravo _GET ["ime"].
Poglejmo, če to deluje malo bolje.
Mi smo še vedno teče našo strežnik.
Hello Jason.
In je delal ta čas.
In da je to dokaz, da lahko zares
uporabite zavitih oklepajih, ki jih poznajo in ljubezen v PHP kodo v HTML.
PHP koda zagotovljena ste v pset 6-- pset 6--
zagotavlja drug način počne to isto stvar.
>> Torej, zdaj imamo moč.
Imamo funkcionalnost za izvajanje PHP kodo, ki smo videli v pset 6
sami, v bistvu.
Preden sem korak naprej, kaj so nekateri od Vprašanja, ki ste jih v tem trenutku?
Da [neslišno].
>> OBČINSTVO: Torej, v različici, ki pset6, ko jo zaženete, tam je prostor.
In vidim, kje je prostor vejico. [Neslišno] start
odprta nosilec.
Kako ste vključiti prostor, v tako, kot si napisal svoje kode?
>> SPEAKER: To je dobro vprašanje.
In tako da je to ugotovil.
Tako, da je res dobro vprašanje in tisti, ki mi ni zdelo.
Ampak dajmo skupaj.
>> Torej, najprej, kaj Delam z echo
je, ko smo pravkar odmeva Pozdravljeni, realizacij zdravo.
Če bomo echo zdaj to dobite na ločen linija, si oglejmo, kaj se dogaja.
Tako smo kliknite to.
Hranimo rekel, hi Jason.
Torej še enkrat, nimamo tega prostora.
>> In da je zato, ker v PHP, ko smo odmeva,
ne glede na to, koliko spaces-- nope, ne V-
ne glede na to, koliko mest smo se v here-- če smo zdaj naložili, da spet gor,
hi Jason.
Ja, vidiš, vsi tisti, prostori požrta up.
In to je nekaj, kar odmev funkcija počne.
>> Torej, da skrbijo za ta prostor, in to je
eden od razlogov zakaj jih ne uporabljate odmev
in uporabljate htmlspecialchars namesto.
Sem radoveden, kaj bi se zgodilo, če bomo to storili
kjer smo zaprti prostor v nizu.
Jaz sem iskreno ne vem, kaj se bo zgodilo, ko sem to naredil.
>> Torej, to je eden od načinov.
To je eden od načinov, da poskrbimo za to.
Če ste zaviti prostor v niz, nato prostor
bo izhod lepo ga odmev.
Najvarnejši stvar je, storiti htmlspecialchars.
To je vedno varna stava.
Zdaj pa imamo tako opraviti je z echo, če je potrebno.
In na podoben način lahko echo novih progah, vse vrste
stvari ste seznanjeni delaš v PHP.
>> Kdorkoli drug, kaj so vse bolj vprašanja, ki jih imajo drugi ljudje
v tem trenutku približno PHP?
Če ljudje prišel malo pozno, Jaz sem vesel, da ostanejo po malo
in govori o nekaterih začetku.
In to je tudi vse livestreamed, in arhivirajo, ki je noro.
>> Kakorkoli že, tako da zdaj naredimo nekaj bolj napredne stvari s PHP.
In ena od prvih stvari, ki jih so bili uvedeni, da je bila pri C zank.
In PHP ima močnejši za zanka se imenuje foreach zanke.
In izgleda, da this-- za vsako prazno kot prazne, zavitih oklepajih, narediti stvar.
Torej, to je v bistvu okrajšava.
>> Vidite, za zanko kot sintaktične konstrukcije
je bil zasnovan v C in pri montaži jezik in stvari všeč.
Oblikovala v C, natančneje, kot okrajšavo za veliko vrst zank
da bi ljudje videli.
Kot takrat, ko si napisal zanko, obstaja je pogosto inicializacija korak
izvrši takoj na začetku, a stanje, ko bi se zanka stop--
in da je funkcija da je samo v while zanki,
ali da ima, medtem ko natanko samo, da feature-- in nato
naraščanje v korak konec.
In tako boš pogosto znajdete pisanje kode, kot spodaj.
Jaz grem izbrisati nekaj tega.
>> Ampak, če smo ponavljanjem skozi znaki v array,
na primer, kot smo jih dobil niz znakov.
Žal mi je, da bi nazaj C. I know, ste mislili storiti.
Ampak to je samo za namen za učenje PHP, obljubim.
Torej, če imaš char str dolžine 8, in ne dovolimo,
pravijo, da pravi Hellooo z odtočnem null.
Super, tako da je naš niz.
>> In potem smo imeli za zanke.
Imamo int i enak 0.
In želimo, da zapustite ko STR od i enaka ni enaka NULL,
ker smo izhod, ko je enaka nič.
In potem mi i ++ na vsaki točka v zanko.
Narediti nekaj s str dne i.
>> Tako da je osnovna formula je bila, smo imeli to vrsto, da smo
želel obravnavati kot ločene elemente.
Ampak tisto, kar smo morali storiti, je, da smo imeli na v bistvu ustvariti ločen celo
spremenljivko, ki je štetje gor vsak Tokrat smo šli skozi zanko.
In potem bi morali potem klic strstr [i], ko tisto, kar smo res želeli storiti
se pojdi značaja ga značaja, kajne?
Nočemo, da prirastek celo število in nato uporabite, da celo
dostop vsak znak posebej.
Res želimo znak za znakom.
>> In tako za vsako pametno izračuna, da je za nami.
Če imamo matriko, ki bomo lahko v PHP razglasi
kot just-- če imamo spremenljivko imenovan, recimo ji niz.
Čudeži brez tipkanja, je tako kot vsako drugo spremenljivko.
To je samo polje.
In imamo malo všeč 1 [neslišno] 2, 3, le nekako inicializiranem matrike.
To je v redu, da ne mara moje foreach.
>> Toda, če ne bomo foreach-- dejansko Sem tipkal, da malo narobe.
Obstajata dva načina, da to foreach zanke.
Tam je v sintakso in kot sintakso.
In bomo storili v sintakse prvič, ni tako.
To je moja napaka.
>> Torej foreach num v array, echo num.
In PHP kričiš me iz neznanega razloga.
To je ugotovitev nepričakovan leta v nekaj,
ki je malo moti.
Ampak bomo razbrati Zato, da je v trenutku.
Torej ni všeč.
Poskusimo z uporabo kot.
To raje kot skladnja zdi.
Torej, kaj je storiti foreach paleto, kot num.
>> Torej, malo razlaga o tem, kaj se je zgodilo
je kot skladnja je dobro saying-- prvič, oglejmo, kaj to natisne.
Tako smo odprli našo IDE.
Gremo tukaj.
Pravimo, Hello Jason.
In je to storil 123, ki je bila vsebina matrike, ki smo ga ustvarili do vrha.
>> Torej, potapljanje v tem foreach zanke, imamo spremenljivo imenovano zaporedje
ki je niz treh številk.
In potem delamo foreach matrika kot num, echo num.
In da je bolj intuitivno kot za lop.
Mi praviš, zdravljenje vsako stvari v matriki kot num,
Želim si, da mi tel.
In to je točno to, kar počne.
>> PHP je izračun, ki ko rečeš foreach niz,
in imate opravka s paleto, kar boste želeli ponoviti čez
je liki v tej matriki, Je Ints v tem polju,
se elementi v tem polju.
In to je kar vam omogoča shranjevanje te spremenljivke so num,
in potem samo izhod num Takoj namesto rekel,
Imam spremenljivko i, in potem hočem izhodni strstr [i].
>> In tako, da nam omogoča narediti kul stvari.
Tako kot v bistvu nimamo za ustvarjanje te spremenljivke, kot so i je in storila vse,
to naraščanje v stvari na koncu.
PHP skrbi za vse to za vas.
>> Torej, zdaj kaj je govoril o foreach kot to velja tudi za naše _GET slovarju.
Torej bomo to zakomentirajte hitro.
Torej imamo _GET paleto.
Imamo te spremenljivke.
In to je dobil nekaj stvari v njem.
>> Zdaj imamo samo eno spremenljivko prevalili na to, kar je ime.
Ampak, če bomo pritisnite tipko Enter, zdaj lahko imamo dve spremenljivki.
Imamo lahko ime in starost, na primer, če želimo, da bi dobili starosti in tudi
ime osebe, Ljevkasto dovolj.
>> Torej, zdaj _GET se dogaja, da se slovar z dvema elementoma,
z dvema ključnima parov vrednosti.
In prvi key-- grem napisati tole gor na krovu preveč.
Mi imamo Slovar je _GET.
Žal mi je, da je je malo težko videti.
Vendar znotraj našem slovarju imamo ime, ki se bo nekaj
da smo dati.
In bomo imeli starost, ki je prav tako bo nekaj, kar bomo dano.
In to je celota našega slovarja.
>> Torej, to je dobil dva elementa v njem.
In zato, ker foreach zanke so pametni, smo
Morda mislite, in pravilno Morda mislite, da foreach
lahko Ponovil skozi to slovar, tiskanje
vrednosti, ki jo ime in starost.
>> Torej, kaj je v resnici prav to.
Dajmo zgraditi foreach zanke.
In bomo narediti za _GET kot.
In bomo storiti naslednje.
Torej, da vidimo, kaj se zgodi, če vpišemo samo beseda, potem pa pravijo echo besedo.
Mi smo se tudi dogaja, da odmeva novo linijo samo, da bi bilo malo bolj jasno,
kaj se dogaja.
>> Torej, poglejmo.
To mi je ne daje nobenih napak.
In bomo to zaprlo.
Na naši spletni strani, boste, da se delaš veliko, da tekom pset7.
Tako rečemo, moje ime je Sam.
Moja starost je 45.
Ni.
Ampak to natisne, kot je bilo pričakovano, Sam 45.
>> In tako boste opazili, da kaj foreach zanke did-- tukaj,
pojdimo nazaj, da tako da je do na board-- pridemo _GET kot besede.
In tam so štiri stvari v _GET.
Ampak to samo natisne dve stvari.
foreach, pri čemer je njegovo inteligenco sebe, Predpostavlja se, da tisto, kar smo res želeli
je vrednosti, ne pa ključi.
>> Vendar pa je tako, da lahko tiskamo od ključev, kot tudi, če smo želeli.
Če smo želeli izvedeti tudi, kaj Te spremenljivke so bili imenovani,
tam je pot, ki smo lahko dostopate tudi to.
In način, da se nekako ne da, tako da lahko rečemo, omogoča zares
je razdeljen na ključnih parov vrednosti.
Torej, da vidimo, kaj se bo zdaj zgodilo.
>> Torej imamo ključ.
Imamo vrednost.
Imamo še eno novo linija za berljivost.
In da vidimo, kaj se zgodi ko to počnemo sedaj.
Ne vem, koliko je star Jason je.
Jason je 15.
Torej imamo ime Jason, starost 15.
Tako da smo bili sposobni za dostop do ključa in parov vrednost tega slovarju
samo z besedami, kot ključne točke na vrednost.
In to je foreach skladenjska malo sladkorja, ki omogoča
vam omogoča dostop do stvari v slovarju.
>> Zato upajmo, da to nekako poudarja moč foreach zanke.
Lahko precej met karkoli da iterable zdi,
kot karkoli, ki ima več elemente, kot so matrike,
Tako kot dictionary-- tiste, sta dva osnovne stvari, boste delali z
tako v življenju in v pset 7.
Tako da lahko vrgel te stvari na njej, in da bo ugotoviti,
kaj želite storiti z njim.
To bom rekel, OK, grem, da bi dobili te stvari iz podatkov, ki jih
je bil sprejet z mano.
In to je nekaj, kar ste dogaja, da se z veliko od pset 7.
>> Bom hitro pomikanje dol samo da vidim, kje sem na.
Ali imajo ljudje vprašanj na tem mestu?
Vprašanja sploh?
Ja?
>> OBČINSTVO: Torej, s ključem in vrednosti, lahko bi to ime kaj drugega
in bi to še vedno deluje?
SPEAKER: Ups.
Wow, sem popolnoma izbrisal celotno linijo.
Veliko delo.
Torej, a.
Key in vrednost je le dogovor.
To je koristno.
Ti bi dobili nekaj zasnovo točke, morda nekaj slog točk
za to, da je zato, ker je res izraža namero.
Vendar smo rekli in yarp.
>> OBČINSTVO: Nimate za ničesar spremeniti v datoteki HTML
da bi odražala to?
SPEAKER: Sploh ne.
OBČINSTVO: In to samo ve, da ker ne doseže večjo than--
SPEAKER: Da.
OBČINSTVO: --that kazalnik, ki that's--
SPEAKER: Da.
To je foreach sintakso, ampak ja.
>> OBČINSTVO: Ni vrste.
Pa kaj, če si hotel starost, da je le nekaj?
Ali obstaja način za to?
>> SPEAKER: Obstajajo načini, da preverite, če spremenljivke v skladu z nekaterimi vrstami.
Torej PHP zahteva malo več od ste, ker ni vrste v.
Nekaj ​​načinov, da vpraša manj.
V nekaterih pogledih se sprašuje več.
Ker če imaš samo nekaj v spremenljivko,
nimate pojma, kakšne vrste je.
Ampak, če ste pametni o spremenljivkah da dodelite vrstami in se prepričajte,
da vam deluje le return-- želim funkcij v samo vračanje
en tip vrednosti tako da lahko v bistvu
Pričakujem, da spremenljivka dobiš nazaj iz funkcije bodo tipa
da misliš, da bo, v bistvu.
>> Vendar pa obstajajo nekatere metode s katerim lahko preverite.
Jaz jih ne spomnim off vrhu moje glave.
Čakam, da obarva modro.
isint?
isstr?
Obstajajo metode zgrajena v PHP, ki lahko
preverite vrsto spremenljivk za vas.
Ampak, če ga dodelite spremenljivke pametno, da ne bi smeli
morali storiti, da preveč v pset 7.
Vendar te metode ne obstajajo.
In to je nekaj, kar je v jeziku samem.
In jaz se ne spomnim natančno sintakso.
Lahko bi celo poglej gor.
Ampak čas je ključnega pomena.
ima še kdo Za vsa dodatna vprašanja?
Da.
>> OBČINSTVO: Imam samo eno več.
Torej ste omenili metodo GET, vendar nisi omenil metodo POST.
Smo se vračali na to?
>> SPEAKER: Ja, bomo se vrnemo na to.
To je točno to, kar sem iskal na moj telefon, ki je zdaj zaspala,
ampak ga bom našel.
Samo pazite, smo zadeli vse PHP not.
Ja, ni debugging version.
Ja, imamo še nekaj stvari, ki jih želimo narediti zdaj na tej točki.
>> Torej, govorimo o POST, ki ste jo omenili,
edina razlika med GET in POST je
da se spomniš, ko sva pogledala na tem URL in videli smo, oh,
Ime je enaka in starost je enaka yarp prav v URL tam za nas.
POST je malo bolj skrivnosten s prenosu podatkov.
>> Torej, če niste želeli uporabnika vedeti, za primer,
ni želel uporabniško ime in geslo osebe
Trenutno prijavljeni se prikaže v URL, ki je razumna stvar
da ne želijo v URL, ker je nekdo lahko videli.
Če se povežete nekoga na strani Ne želim njihov URL tam ometane,
saj bi to omogočilo ljudem, da prijavo samo z lepljenjem URL-ja namesto
dejansko izpolnite obrazec.
POST je malo bolj skrivnosten.
>> In edini stvari, ki bomo morali spremeniti
so ta metoda, sprememba od dobili bi objavili.
In nato znotraj HTTP, namesto dostopanja matrično _GET,
bomo dostop matrično _POST.
>> In bomo opazili, da se, če je smo odprli to spet nazaj,
Jason počasi upada v starosti.
ime Jason, starost 14.
Ista stvar izskoči.
Ampak gremo na URL in te spremenljivke niso tam.
>> In način, POST passes-- zato ne pozabite,
kako gledati na vir strani.
Gremo na omrežje.
Mi osvežiti.
In to je še ena stvar, ki POST vam bo dala opozorila o.
Morda ste opazili polje, besedilno polje, kot je ta v vašem brskalniku.
Ali ste prepričani, da želite spet poslala obrazec?
POST je, kaj se pošilja te oblike.
>> Ker v bistvu, če ste poslali vaš podatke o kreditni kartici, da nekdo,
da se ne bo pojavil v URL.
To se dogaja, da je zahteva za POST.
Torej, ko si osvežite stran, to je ponovno poslati to prošnjo naknadno.
Torej, zdaj smo pa želeli poslati tvorijo še enkrat, ker je ne bo
ustvariti nobenih podvojenih nakupe.
>> In bomo opazili, da tukaj, metodo smo uporabljate, POST.
In to je dejansko prenos bajtov.
Prenese 401 od njih.
Program je precej majhen.
Ampak tam je nikjer, da lahko vidimo, vrednote, ki se prenašajo.
Na spletnih straneh se lahko sami vidite, vendar smo kot uporabniki niso mogli videti,
če ste heker.
Če si dober hacker, si lahko ogledate.
>> Če veste, da je osnovni Oblika HTML,
Vrednosti bo javijo na straneh.
Boste lahko videli.
Vrednosti bodo tam, oni samo malo manj očitno za vas
dostop, v bistvu.
>> Ali imamo več Vprašanja o GET, POST
before-- kaj bomo storili Naslednja je pravzaprav pogled na nekatere kode
da ste kar v pset 7, govorimo o kako se uporablja nekatere od teh konceptov,
in govoriti o stvari, ki jih boste
morali narediti malo v pset 7.
Vsa več vprašanj pred tem?
Več vprašanj, ki jih fantje imajo?
Great.
>> V redu, si oglejmo malo na pset 7,
ni dvoma, kaj ste vsi najbolj veseli.
Mislim, da je to nekaj, kar David gre skozi malo.
Bom vendar imamo tri imenike na top, kakor tudi datoteka konfiguracijo.
To je za podatkovne baze, kar bomo govoriti v približno petih minutah.
Vključuje, vam nikoli ni treba pogledati v ta imenik
Če ne želite, vendar je lepo, da veš, da so vse vrste pomočniki.
Pomočniki je kot koristne funkcije.
In potem imamo zaupnik, ki določa nekaj stvari gor.
>> Obstajajo nekatere funkcije, ki jih ima CS50 zapisano, da so v pomočnika in zaupnik.
In nekaj PHP, ki že izstopi v datotekah
bo naredil veliko bolj vrste od topi dela noge za vas.
Like, če gremo v javnosti login.php, ki je kaj
pokaže prav, ko greste v pset 7.
Bomo videli, da obstaja to zahtevalo izjavo.
In to nekako kot oster vključujejo hashtag
vključujejo, če ste za novejšo generacijo.
Ampak to v bistvu pravi, da moram dostop
do vseh funkcij v config.php.
In lahko imate zahtevajo za vse vrste drugih stvari.
>> config dejansko potrebuje pomočnike.
Torej, ko boste potrebovali config, ste tudi
vključno ali zahteva pomočnike, kot dobro.
Tako da omogoča dostop do vseh kul funkcije, ki jih bomo uporabili,
Stvari všeč render.
Jaz sem pravzaprav dogaja, da olajša to dol malo.
Tako funkcijo, potem smo bom sprehod skozi
tik preden gremo na SQL malo bit je funkcija login.php, samo
saj uporablja nekatere teme da smo pravkar govorili v PHP.
>> Vidiš, prva stvar je, če $ _SERVER.
To je še ena globalna spremenljivka, boš se ukvarjajo z.
To je kot _GET in _POST, ampak kaj Strežnik vsebuje je lahko to pustil
vem, če je metoda zahteva je GET ali POST.
Tako kot prej, kar smo počeli je samo v našem kodo, ki smo pisali,
smo samo spremenili, da je GET in POST je odvisno od tega, kaj je HTML.
Vendar pa obstajajo tudi strani, ki jih je mogoče dostopate z obema vrstama zahtev.
In boste morda želeli narediti različne stvari, odvisno
na vrsto zahteve, tako kot prijava počne.
>> Torej, lahko preverite to zahtevo Metoda skozi dostop do ključev,
s pomočjo ključa in pridobivanje vrednost nečesa v slovarju
_SERVER.
Torej, to je druga svetovna spremenljivka kot _GET in _POST.
>> Če je to GET, želimo render obrazec za prijavo.
Render je funkcija, ki v bistvu samo postavlja ustrezno HTML
in prehaja nekatere parametre.
Ta naslov je parameter, ki je uporablja pri prikazovanju, Nenavadno,
naslov strani v Vprašanje je stvar tu,
povedati ali pozdravite v našem prejšnjem primeru.
Zdaj imamo drugačno stvar.
Else, če je delovno mesto, smo še nekaj drugih stvari.
Mi smo z uporabo te prazne metodo.
To ne obstaja, da je prazna.
In smo videli prej, PHP ima pošteno količino zgrajena
metod, da David will-- če obstaja so metode, ki so koristne za vas,
bodo opozorjeni, da vas na sprehod skozi ta Davidov
daje na začetku pregleda, in tudi koristnih bitov Zamyla je.
Ona je nazaj vsakdo.
Vsi smo se lahko veselili.
Opravičujem se je posrečeno poimenovali funkcija da samo v bistvu natisne
nekatera sporočila o napakah, ker CS50 je zelo vljuden.
>> In sedaj ta, da gre za zapleteno bit, ker ta
je, če smo poizvedovanju baze podatkov.
Zdaj nismo govorili o zbirkah podatkov.
In bomo v naslednjem pet minut ali tako, največja.
Toda to je funkcija da CS50 je napisal
dobiti mizo v bistvu iz baze podatkov da delamo z v pset 7.
Sem res slabo z mojim nič indeksiranje danes.
Ampak ja, je 7.
>> Tako poizvedovanje se dogaja, da se vrneta matrika, v bistvu je ključ bit.
In ker te stvari nimajo tipkanje, zato vrstic je niz polj.
Ker, ko razmišljamo o miza, kaj bomo storili
je, kot ste se naučili v psets kot igra 15, nekako
kjer boste imeli, da uporabite dvojna tabela, smo v bistvu
imajo vrsto drugih nizi naredi tabelo.
In imaš stolpce in vrstice.
In potem se lahko do njih dostopate kot [0] [1], dobiš [0] [1].
Osnovne stvari, kot je ta.
>> Torej, kaj delamo tukaj v tej funkciji,
smo prosi baze podatkov če uporabnik, ki je
poskuša prijavo, bo to poslana z metodo POST.
Bomo videli, smo dobili uporabniško ime iz _POST.
Ki so jih poslali bomo, uporabnika ali pa bodo poslali vrednost
prek obrazca prek POST ker to je uporabniško ime in geslo stvari.
Preverjamo uporabniško ime videti, je to v tabeli?
Ker če ga uporabnik prijavi , potem pa njihovo ime
morajo biti shranjeni v tabeli Uporabniki, ki obstajajo za to spletno stran.
Torej v bistvu če Uporabnik je v podatkovni bazi,
izraz se bo vrnil da je vrsta, ki je niz.
>> Toda rafiniran del je, da če četudi dvojna array je samo iz ene vrste,
tudi če je ena vrstica array-- kot imaš basically--
če imaš velikost enim nizom da je gospodarstvo še en niz,
ste res ukvarjajo z eno kolono.
Ampak to je še vedno zdravijo kot dvojni matriki.
>> In to je, če se lahko včasih težavno, saj imamo vrstice tukaj.
Naš spremenljivka je vrstice.
In potem smo ustvariti nova spremenljivka imenuje vrstica
in določanja enaka prva vrsta vrstic.
In boste opazili, da je komentar pravi, da je prva in edina vrsta.
>> Torej je to težavno del, kjer sedaj deluje
Lahko se vrnete nizi zelo enostavno.
Tam ni mallocs.
Ne boste videli mallocs.
Tako ne boste videli SEG napake.
Vendar bo funkcije še vedno poteka okoli nizi in podatkov v skupinah.
In moraš biti pozorna, kaj točno bodo vaši funkcije vrnejo.
In tudi če je ena stolpec, kot je ta, se pozanima
se še vedno dogaja, da se vrnete dvojni niz.
Torej, da dostopa, ki column-- ali ste lahko zamislite vse to, kot je obrnjen
saj govorimo o vrstah.
Ampak za dostop do tega eno vrstico, ne moreš kar reči vrstice.
Čeprav je ena vrstica, morate ne rowsrows [0], da bi nekako odpravila to
Zunanja bit niz in ima samo svojo vrstico.
>> Še nekaj drugih stvari.
Tam je funkcija imenuje password_verify
da preveri geslo, ki je bil objavljen.
In potem bomo videli drugo svetovno spremenljivka tukaj, _SESSION.
Seja v bistvu id je, kako spremljate
to, če nekdo, ki je prijavljen ali ne.
Torej, zdaj s login.php, smo prijavo uporabnika v.
Torej, kaj želimo storiti, je, da smo želeli pravijo id seje enaka zapored
id, ki je le smiselno, ker je vsaka vrsta bo imela drugačno id
število kot del tabele.
Bomo dobili v SQL je z po drugi strani, tako da, če nič od tega
Zdi se malo, kot bla, potem vse bo zjasnilo.
Ampak bomo nastavili id ​​enak pravilna stvar, prijavo uporabnika v.
Opravičujem se, če gre kaj narobe.
In to je prijave namen v življenje kot profesor Malan bi rekel.
>> Tako da je bil login.php.
In veliko PHP kodo pišete v pset 7, boste morali biti malo.
Ne pozabite, da chmod na ustreznih dovoljenj.
Tam bo malo o da je v začetku spec.
>> Ampak PHP, ki ste pisanje se bo
počne stvari, ki je podoben temu.
Ti boš, da bo dostop do nekaterih stvari, ki
so dana za vas v globalne spremenljivke PHP, ki
se ukvarjajo s sedanjim prijavljeni uporabnik, ali obstaja
so prošnje poslane s tem Stran, različne stvari, kot je ta.
In to bo tudi potencialno ponavljanjem skozi vrsticah to stvar.
>> V drugi funkciji, poizvedbo ne vrne ta dvojni niz.
In če obstaja več kot ene vrstice v njem,
če obstaja are-- ja, če obstaja več kot eno vrstic v njej,
potem bo miza.
In boste morda želeli Ponovil po vrsticah matrike, ki uporabljajo
foreach zanke, ki smo opisali.
>> Torej, če vam foreach na dvojni matrika, kaj bo word-- tukaj,
Bom dejansko pisati.
Bom napisati hitro tukaj.
>> Če bomo imeli foreach vrstic kot vrsti, kaj je tip vrstice?
Ali kdo ve?
Si razumel?
Torej vrstic je dvojna tabela.
Torej, kaj je foreach gre sklepati, da želimo iz te dvojne matrike
če smo ponavljanjem nad njo?
Mi v bistvu lahko domnevamo, da to se dogaja, da se bodisi elementi,
ali vrstice ali stolpce, v bistvu.
In tako vrstice in stolpce smo mogoče obravnavati kot isto stvar.
>> V bistvu, kaj foreach zanke se dogaja storiti, je, da se dogaja, da se vrnete vrstice.
vrstica se bo tipa zapored ker vrstic je dvojna tabela.
Torej, če daš foreach dvojni niz, to je
ne bo Ponovil globoka več kot ena raven.
Ki je v bistvu pravi, če obstaja osem celice v tem table-- 1,2,
3 4, 5, 6, 7, 8-- foreach zanke ni
šli skozi vsako od teh celic.
Kaj foreach zanke bo naredil je bo šel skozi te vrstice,
vam to celotno vrstico.
In potem bomo šli skozi te vrstice.
>> Tako da se ponovi samo eno raven globoko.
Če dodate ugnezdena foreach zanke, potem si
lahko obravnava vsako vrstico vrnil iz vrstice, vam foreach vrstico kot elementa,
recimo.
In potem si lahko echo element.
Tako, da je kratek Malo za osvežitev na to, kako
vas bo morda s pomočjo foreach zank v okviru poizvedbe.
>> Ali obstaja kakršna koli vprašanja o PHP?
Sploh kaj, preden smo premaknete na govorimo o SQL
in zabavno zbirko podatkov?
Počutiti se dobro?
Počutiti se dobro.
V redu.
>> Pojdimo nazaj k PowerPoint, ki jo verjetno izpustili.
SQL, yay.
Ljudje, ki so v mojem oddelku tipično bodo vedeli, da podštevilke kratic
so vedno samo prve besede Mislim, da te tekme, ki
algorithm-- to kratico.
To ni algoritem.
>> Torej SQL je baza podatkov.
To je jezik, ki dela z bazami podatkov.
In vse baze podatkov, so se mize, vsaj na način,
da SQL jih zastopa.
>> Drug način, da razmišljajo o zbirkah zbirke so nabor tipk in vrednot
v bistvu.
Lahko pomislite bazo kot Slovar in tudi kot mizo.
V bistvu je to način, da se povežete različnih podatkov z drugimi podatki,
pogosto po vrsticah in stolpcih.
In to je način, da je SQL deluje najbolje.
>> Torej, to je en primer mizo.
Imam nekaj primerov ljudje v mojem oddelku, ki
Nisem imel časa za spremembo.
Ampak imamo stvari, kot so ID, ime, velesila, in rojstni kraj.
Ne vem, kje kdo je od v mojem oddelku,
tako da sem šele tekoč, da prevzame vsakdo je iz New Yorka
Mesto, ker imam visoko statistično verjetnost, da je pravilna.
>> SQL bo samodejno sprejme skrbi za ID stolpec za vas.
Če vstavite novo vrstico v bazo podatkov SQL,
bo prirastek, ki ID številka in samo
v bistvu držijo kot pet imen, velesila, hometown, kdor
na koncu te tabele.
Torej ID je stolpec boste nikoli ni treba skrbeti.
Vendar, kot v primeru od login.php, ko smo
so dobili ID seje iz tabele, in samo z uporabo ID,
ID je način za identifikacijo element baze podatkov.
>> Torej, če bi imeli dva Sams, oba ki poučujejo CS50, in oba kdo
so bili iz Milwaukee, tistih bi še vedno različne identifikacijskih številk
in tako se razlikujejo v kontekst tabele.
Torej, to je tisto, kar SQL se ukvarja s, ki sodeluje z na zadnjem koncu.
>> To so štirje ukazi da boste morali za delo z SQL.
In sem jih vse bruhal na enem diapozitivu.
Vendar smo šli skozi jim individualno.
>> Prvi ukaz je UPDATE, ki počne tisto, kar bi pričakovali.
Recimo, da imate nekaj podatkov v tabela, ki je zastarel.
Like, če ste vodenje track imen ljudi
in starosti, če nekdo starost povečanja, nato
boste želeli, da gredo v in posodobiti starost samo, da osebe.
Za primer, da deluje z našo prvo table--
Ne skrbite pisanju vse ti ukazi hkrati.
Ampak, če imaš posodobitev navzdol, da bo dober za ta del,
ker bomo pojdi nazaj k mizi.
>> Torej, če se vrnemo k mizi, recimo, kaj se je zgodilo
je bil tam je bil potres ali vrstica krivda, da neposredno po delih
skozi New York City.
In smo želeli posodobiti vse ki je živel v New Yorku.
So vsi imeli preseliti v Pensilvaniji.
To ni hometown.
So vsi imeli preseliti v New Haven.
Tam gremo.
Torej, vsi v New Yorku preseli v New Haven.
>> In tako, da je nekaj, kar je urejanje tri vrstice v tej tabeli.
Toda v SQL, lahko to storite da je v samo enem izkazu.
Torej gremo nazaj v posodobitev.
Naj hitro ponovno izbrisati ta odbor.
Ko govorimo o posodabljanje obstajajo
nekaj delov sintakso, ki so ključnega pomena.
No, vse sintakse je ključnega pomena.
Toda stvari v zeleni barvi, je neobvezno.
Potrebna je bela, kot vnaprej določeni imena.
In svetlo modra, so stvari ki se razlikujejo glede na mizi.
Torej, to je tisto, kar se dogaja z barvna shema tu, tam gor.
>> Torej, če želimo posodobiti samo tiste vrstice od ljudi, ki živijo v New Yorku,
Torej, kaj bomo storili, če smo rekli UPDATE?
Torej miza, kjer smo se ime za našo mizo.
Naj samo povem ime za našo mizo je miza ena.
Zato želimo, da posodobite tabelo eno.
In želimo set-- kaj želimo nastaviti?
No, želimo povedati, da column-- PHP obravnava vrstice kot edinstvene identifikatorje.
In potem stolpci na različnih področjih
od teh elementov baze podatkov.
>> Torej prvega elementa podatkovne baze ima ime Sam, velesilo CS50,
in hometown Milwaukee.
Torej, če smo rekli nastavljena, si oglejmo spet parametri, ki set traja.
Imamo stolpec enaka vrednost.
Torej želimo povedati nekaj column-- ki spomnite
je field-- želimo videti polje enako nekaj novega.
>> Torej, če smo pravkar dejal update tabela 1, nastavite ime enako Elliot.
Dobili nekaj ljudi iz nov oddelek, v zvezi s tem.
Ampak, če smo le naredili posodobitev tabele 1 nastavite ime enako Elliot, kaj bi
poglej tabelo, kot po tem?
Ljudje imajo kakšno idejo?
Ja.
>> OBČINSTVO: Vse, da vrstica bi postal Elliot.
SPEAKER: Vse v kateri vrsti?
SKUPINA: V prvi vrstici.
SPEAKER: V prvi vrstici?
Zakaj prva vrstica?
Ne mislim, da poberem na vas.
>> OBČINSTVO: Mogoče je vse v celotni tabeli?
SPEAKER: Vse v celotna tabela, ja.
In to je ravno prav because-- I je bil samo ti pomagam malo
there-- ker smo izpustili opcijska WHERE.
Če nimate kjer klavzula, kaj ta ukaz bo naredil
se, da bomo delo z vsako enojna vrsta v tabeli.
Ime vsakogar bo postati Elliott, v bistvu,
ki Elliot je zelo zadovoljna.
Ali Yanni, ena od njiju.
Vendar bo ime vsakogar spremeni.
>> Torej, kako bomo uporabili KJE clause-- in to velja za vse Wheres
da so v vsakem ti različni stvari.
Torej, boste opazili, da SET ima stolpca enako vrednost.
In tako ne kam.
Ampak to so različni Vrste izkazov.
Torej kolona je enaka vrednosti SET je v nalogi.
Všeč mi govoriš želimo nastaviti imena enak Elliot.
Toda v oddelkih, kjer To so izjave enakosti.
Torej, recimo, da smo želeli le spremenite ime osebe za Elliot
če je bilo njihovo ime Ryan, recimo.
>> Torej, ko smo rekli,
>> WHERE ime enaka Ryan, ki bi uspešno le sprememba
name-- da bi le spremenite Ime polja v vrsticah
kjer je polje ime enako Ryan.
Torej, če bi imeli več ljudi imenom Ryan vseh njihovih imen
bi spremenilo na Elliot.
>> To je podobno kot v primeru o če je prelomnica razcepi
New York City, in vsakdo ima do preseliti v New Haven, na način, da lahko
to, da je v eni izjavi UPDATE Tabela1 SET hometown = New Haven
kjer hometown enaka New York City.
To je moč izjava UPDATE.
Mi lahko izberete poljubno število vrstice prek resničnih izjav
o poljih v teh vrsticah.
Ne moremo reči, UPDATE Tabela 1 komplet name = Elliot WHERE vrstica = 1,
razen, da bomo lahko, če bomo rekli, ID = 1.
>> Tako bomo lahko delo z enakostjo
polj, enakost stolpcev.
Le da smo uporabili ID področju je način izberite posamezne vrstice posebej,
ker polje ID je edinstven identifikator v zbirki podatkov SQL.
Torej, kot je posodabljanje vrstico eno, ID enaka 1.
Posodabljanje vrstico dve, samo spremeniti to ID številko.
Toda moč KJE izjava je, da smo
lahko posodobite stvari, ki temelji na kaj je njihova Trenutne vrednosti nekaterih stvari so.
Da Elliot?
>> OBČINSTVO: In kaj, če hočeš to-- še enkrat, to je drugo vprašanje.
Ampak moje prvo vprašanje je bilo, kjer se to dogaja?
Kje sem posodabljanje to?
Je to v PHP kodo?
>> SPEAKER: Kje ste posodobiti, ja.
Bomo govorili kje vse to
se zgodi, nekako, ko gremo skozi vse ukaze.
Ampak tisto, kar potrebujete, da vem, za zdaj je v bistvu
da vaš SQL podatkovno bazo obstaja kot nekaj,
da lahko dostopate s poizvedbo Funkcija, ki CS50 opredeljuje.
Torej, če uporabljate funkcijo poizvedbe, lahko dostopate do te tabele.
>> Torej boste poslali ti ukaze za vašo mizo v PHP datotek
prek funkcije poizvedbe.
Lahko tudi igral z vašo mizo neposredno.
In to je najboljši način za preizkušanje te vrste ukazov.
In bomo šli skozi točno kako narediti, da je v samo malo.
>> Torej, to je ukaz UPDATE.
In ostali ukazov se bo nekako podobno,
delajo na podobnih stvari.
INSERT INTO je verjetno najbolj razlikuje od UPDATE.
Bom zapustil, da je tam za samo malo in dela tukaj.
Torej vstavite, boste videli, da miza je še vedno isto.
Si želite vstaviti.
Kapitalizacija, SQL je občutljivo na velikost črk.
Tako da vam ne bi bilo treba izkoristiti te stvari.
Po dogovoru besede v beli barvi so kapitalizirane.
Ampak jaz tudi barvno jih kodirani.
Edini razlog, ki ga izkoristi tiste, ko ste jih tipkanje
je samo poudariti, da tisti so konstante.
In tako lahko bodisi poglej kapitalizacija ali dejstvo
da sem jih tudi drugačne barve.
>> Torej imamo vstavite, naredimo table1 znova.
To je vse v eni vrstici.
Jaz sem samo to ločevanje, ki jih različne izjave.
Torej, ne skrbite o tem, da Tabela1 jo je na drugi liniji.
>> Zato želimo, da vstavite INTO Tabela1 nekaj vrednosti.
In boste opazili, neobvezno bit, ki se bom v sekundi.
Torej imamo vrednote.
>> Torej, recimo, da želimo dodati Andi k naši mizi, ker smo zamudili Andi.
Andi je bolan.
Torej, kaj je dodati Andi na naši mizi.
Ne pozabite, da je ID številka se samodejno posodablja.
Tako da je edina področjih smo treba skrbeti
so ime, velesila, in rojstni kraj.
>> In tako pot, da bomo to storili, videti na naši sintakse, je, ki smo jih
pravkar dobil oklepaje, z vejico Ločene vrednosti, od katerih je vsak
je vrednota.
Torej, če smo želeli vstaviti Andi v naši miza, vse, kar moramo storiti, je prav Andi.
Kaj je Andi je velesila, ljudje v oddelku Andi je?
Rada polet, ali je všeč hitrost, ali kaj podobnega.
Kaj že imamo tam gor?
Imamo CS50, polet, Hitrost in žilavosti.
>> OBČINSTVO: Čas potovanja.
>> SPEAKER: Čas vožnje, neverjetno.
Torej imamo Andi, čas potovanje, in njen rojstni kraj.
To je res dobro vprašanje.
New York City, razen če kdo ve.
Vsakdo je iz New York je Lekcija vzeti od danes.
>> Torej, ta izjava bi vstaviti, kot peta zapored
z velesila potovanja skozi čas in hometown New Yorku.
Toda izbirno polje je v bistvu način
točno, kateri stolpci določajo želite vstaviti stvari.
>> Tako, da to delamo zdaj, Andi, čas potovanja, New York City,
se dogaja v točno določenem vrstnem redu našega table-- ime, supersila, rojstni kraj.
In če si hotel narediti nekaj drugega kot to,
kot pravijo, da niste vedeli nekdo velesila,
všeč, kako nisem vedel Andi je velesila na začetku.
Torej, vse, kar sem vedel, je bila ona ime in njen rojstni kraj.
Kaj lahko storim je, da sem lahko do-- bom izbrisati to hitro.
>> Rad bi samo posodobi stolpce.
In to je, če ni obvezno Seznam kolona prihaja v igro.
Želim samo, da posodobite imena in rojstni kraj.
In potem bom rekel vrednosti.
Naredil bom Andi in New York City.
>> Če sem izpuščen seznam stolpcev in samo narediti ti dve stvari,
kjer bi New York City šla?
Kateri stolpec bi New York Mesto so bile dane v?
Ljudje imajo kakšno idejo?
Velesila, točno.
>> Torej bo to samo pojdi v redu.
In ko to doseže konca seznam, se bo samo ustaviti polnjenje stvari.
In vrednote, ki bo to držijo v vsi stolpci bo zgolj NULL.
Zato, ker smo opredelili ime in rojstni kraj,
bomo imeli ID 5, ime Andi, velesila NULL.
Torej velesila je neinicializiranih vrednost.
Vam ne bo nujno dobiti Iste napake Valgrind Če skušate
in dostop do nje.
Vse bo lepo nastavi na ničlo ven, ker NULL je vrednost v SQL.
Da je konstantna.
In potem bo hometown biti New York City.
Tako, da je INSERT INTO ukaz.
Preden gremo, tam je dve ukazov.
Ali ljudje imajo kakršna koli vprašanja o UPDATE, približno vstavite, o SQL
splošno preden gremo na naših končnih bitov?
Ljudje se počutijo dobro, odlično.
Ljubim to.
Torej, kaj je govoril o SELECT.
Going jarku UPDATE tukaj.
>> In SELECT se bo zelo podobna.
Cilj izberite Namen izberite v življenju
je, da vam kup stolpcev ki izpolnjujejo določene pogoje.
In ko rečem zadovoljiti določeni pogoji,
vaš um morda takoj segajo da WHERE
ki je prišel v posodobitev.
In da klavzula točno tam izberete.
>> Če nam ne dajo, kjer Klavzula in rečemo SELECT ime,
hometown-- napisane, da je malo wrong-- ime, rojstni FROM Tabela1.
Če bomo samo reči, da je tisto, kar SELECT se dogaja, da se nam je, da je
dogaja, da nam double-- mizo, ne.
Dvojno matrika, če smo razmišljal v PHP zazna.
Ampak to je le, da bo dal nam dvojni niz dveh columns-- imena,
in rojstni kraj.
In bo prezreti ID.
In bo prezreti velesilo.
In bo to samo nam vsak single row navedene tabele.
Torej, če smo samo vstavljena Andi, bomo imeli Andi.
In bomo imeli prvotni štiri.
Če ste bili posodobljeni, bo to morajo odražati, et cetera, et cetera.
>> Torej, to je zato, ker mi ni uporabila klavzulo kje.
Vendar ga lahko uporabite v točno enak način smo ga uporabili pri posodobitvi.
Če smo le želeli tabelo imen in super pooblastila ljudi, ki živijo
v New Yorku, se lahko izvrši izjavo kot SELECT ime, superpower--
Jaz sem le, da bo zapustil that-- IZ Tabela1 KJE hometown = New York City.
>> Torej, to dokazuje, da lahko dobili povsem različne stolpce,
in nato dal stolpce, ki niste celo dobili nazaj v klavzuli kje.
Mi sploh ne želijo hometown vsakogar.
Ampak želimo ime in velesila ljudi
katerih rojstni kraj je New York City.
Torej, to je nekaj, kar smo lahko naredite s KAM
klavzula je lahko imamo opravka s stolpci da ne bomo nujno želijo nazaj.
Na enak način dopolnitve, lahko imamo opravka s stebri, ki jih ne nujno
želite posodobiti.
Mi lahko posodobite mesto vsakogar kdo je ime je Sam, na primer.
Mi lahko posodobite mesto Vsakdo, čigar ID številka 2.
Torej samo posodobiti mesto v drugi vrsti
kjer nam ni treba ukvarjati z potrebno skupno vprašanje.
>> In brisanje je, kot ste jo pričakujejo, DELETE FROM Tabela1.
In potem imamo klavzulo še kje.
Tako lahko rečemo, kjer je id = 1.
Izbrisati prvo vrstico.
In DELETE bo vedno izbrišete vrstico, ali bo to izbrisati določeno število vrstic.
DELETE FROM tabela WHERE hometown = New York City
bo izbrisal vse v New Yorku.
To je, če je bila nenadno tragično kuga
in si želel, da se odstranijo vsi iz tabele, ki
živel v nekem mestu ki je prizadela kuga.
Lahko počivajo v miru.
>> To so štiri SQL ukazi da boste morali uporabiti.
Morda ne potrebujete niti uporabiti vse.
Ampak to so štiri da CS50 vas pričakuje
biti zadovoljni z tekoč v tako kviz 1 in tudi pset7 in pset8.
>> Tam je samo, da tabela znova.
V tem enem, Roy velesila ima bila posodobljena zaradi laserskih žarkov, ki
je primer nisem uporabil.
Ne vem, katera Roy raje, vendar trdnost.
Roy je velesila moči.
Katherine ne bi bilo danes.
To je žalostno.
Ampak ona je super hitrost.
>> No, da je PHP.
Preden govorimo o MVC, ne kdo vprašanja o PHP?
Zdaj SQL ali PHP, če ste nenadoma prišli z vprašanjem o PHP?
Great.
Vse je v redu, smo vsi, ki takrat.
>> Torej govorimo malo o kontrolorjev modela pogled,
vrnimo na nekatere od stvari v pset7.
Torej, kakšen model pogled Krmilnik is-- Nisem
dogaja, da shranite svoje spremembe na prijavo ker popolnoma sem ga pobili.
Ampak v bistvu imamo dve ločeni stvari dogaja.
Imamo javnost imenika, ki vsebuje
koda, ki se dogaja, da se izvrši in spletne strani, ki bodo obiskali.
In imamo tudi to ogledov imenik.
In poglede vsebuje predloge.
>> To je tisto, kar je funkcija render-- smo videli ometa
Funkcija v kup PHP kodo da CS50 je že napisal za vas,
da je v določenih parametrih.
Kaj to kodo počne se dogaja v pogledih,
ki so sklopi, kot so napisanih HTML kodo,
in to je vstavljanje vrednote v nekaterih krajih.
To je, kako, če vas iti v CS50 finance,
ista glava je na vsaki strani.
Enako Noga je na vsaki strani.
To je zato, ker je način da postanejo del je, da bomo
samodejno obliž v tej glavi in Gledalec, ki jih lahko najdete v pogledih.
>> Mi lahko dejansko šel v glavo, in poglej, to je datoteka HTML z glavo.
Ima nekaj slogovnih.
Vam ni treba gledati CSS za pset7, če ne želite.
Vendar pa lahko spremenite jih, če želite, da
Vaše Finance poglej malo drugačna.
>> Ima nekaj PHP v glava malo videti
če je drugačen naslov je treba dati v tej glavi.
Vendar le nekatere druge skripte, in povezave, in druge stvari.
Glava se konča, začne telo in oops, imamo to čudno malo končni bit.
In tam je div, prav tako kot brezoblična vrsta elementa
da ima idejo sredini.
>> In potem, ko smo videli nogo, imamo konec div.
Imamo dno, ki je kjer je besedilo noga.
Konec div, konca telesa, konec HTML.
>> Torej, kaj ometa je početje je render je nekako
za krpanje gor glavo, A drugačna PHP datoteka, ki
bo vsebovala dejanske stvari, ki boste videti, kot vaši mizi zalog
če ste odkup ali prodajo zalog.
In potem bomo dodali v nogi.
In pogled modela Ideja krmilnik je, da smo
želijo ločiti kako stvari pogledati od kodeksa.
To želimo ločiti frontend in hrbtenica, kjer je začelje
stvari, ki jo uporabnik vidi se lepo visuals-- HTML, CSS, take stvari,
slike, et cetera.
In backend PHP.
To je koda, ki ste napisali.
To je, če je koda, ki je početje dejanske operacije.
To je, ko ste dodali stalež na vašo mizo,
Ko kupujete in prodaja, da je backend.
>> In bomo lahko, kot ste videli, vključno z PHP neposredno v HTML.
Torej, kaj bi lahko smo storili za Ta naloga je ravnokar
HTML datoteka za vsako stran, kot prijavo.
In potem na tej strani, samo imel ogromen blok PHP kodo,
vključno z vsemi kode, ki ta stran bi posebej potrebovali.
In potem lahko imamo narediti, da je za portfelj.
Lahko bi naredili vse za nakup in prodajo znotraj posameznih straneh.
>> Ampak zato, ker smo upodabljanje ločeno od koder
smo pisno backend koda, lahko zlahka
spremeniti, kako stvari videti brez spreminja vsak eno datoteko.
Počnemo stvari, kot le dodatek nov div na dno
of-- Pozdravljeni, sem spremenil nogo.
Lahko samo delati stvari, kot je ta.
Pa tudi, lahko spremenite celotna vizualna postavitev
brez vpliva na tisto, kar je dogaja v ozadju.
In lahko spremenite Celotna backend in še vedno
imajo to videti tako, kot je to storila prej.
To
>> Je ideja modela pogled krmilnika.
In to je pravzaprav vsiljen paradigma v nekaterih programskih jezikov
boste morda želeli uporabiti za končne projekte.
Če boste to storili razvoj iOS, imajo poglede,
ki je tisto, kar vidite na iPhone, in potem hrbtenica kot kot samostojna stvar.
>> Lahko pomislite malo.
Tam je veliko binarne datoteke v računalništva, kar je smešno,
ker je vse, kar je v binarno.
Nisem načrtovati, da.
To je bil pun nenamerna.
Da, pun ni namenjen.
>> Ampak kot .h datotek in .c datotek, tam je Veliko ločevanje od stvari, ki smo
ne bi potrebovali.
Tako smo lahko samo urejate h datoteke, ali lahko nekdo pravkar videli .h datoteko in vedeti
natanko funkcije, ki so v .c datoteka ni nujno, da vedo,
njihovo izvajanje.
Ta ideja, ki ločujejo komponent ki medsebojno odvisni
vendar pa lahko nekako dostop seboj prek različnih kanalov, ki poteka
spremenljivk, samo vključujejo izjav, stvari
kot da je to načelo prispeva k ustvarjanju aplikacij
da se lahko lažje uredil več ljudi,
lahko lažje spremenila ali spremenjena na velikem merilu,
in se lažje debug na veliko načinov.
>> Res hitro, imam Nekaj ​​nasvetov za pset7,
ki bom, poln zaslon, tako da ne samo gledaš na the-- Namig Namig tippee.
Tam se ne da veliko nasvetov.
>> Ampak sem omenil PHP je težko debug.
Dvojne in trojne preverite.
Če koda ni samo prikazujejo na strani,
je to verjetno PHP napaka, žal.
>> Vam nikoli ni treba pogledati CSS, če ne želite.
Ampak, ko ste končali, je lahko lepo zabavna stvar, pojdite v
in igraš s parametri CSS.
CSS in HTML so primer modela Pogled slog krmilnik stvar preveč, kajne?
Lahko bi slogovne oznake znotraj HTML elementov.
Ampak, če vas nekako jih outsourcing CSS,
oni lažje urediti, in play okrog z in se zabavajte s.
>> Privoščite CS50 pomočnika deluje kot črnih skrinjic.
Vam ni treba vedeti, točno, kaj render počne,
ampak mu zaupate, da vedno narediti pravo stvar, odvisno od tega, kaj vam je zgodilo,
Stvari, kot je ta.
In jaz bi priporočal gledal Davidovo walkthrough,
skozi vse stvari, ne samo todos,
ampak res lahko privoščite ti kot črne skrinjice.
Ne gredo v te Funkcije išče hrošče.
>> In pozdravljajo vrnitev naše Overlord Zamyla.
Great.
>> Ali obstajajo kakršne koli končne vprašanja pred smo nekako premetavati na dan?
Sem še vedno živi?
Great.
Hi Uživo ljudi.
Great.
Ali obstaja več vprašanj?
Ne?
>> In potem mislim, da smo na dobri poti za danes.
Jaz bom ostal malo potem, če ljudje imeli vprašanja
ki so se bali vprašati o potoku.
Drugače pa, imajo dober dan.