>> [Prehrávanie hudby]
ALLISON Buchholtz-AU: V poriadku, všetci, vitajte späť do kategórie.
Dúfam, že ste všetci mali skvelý Halloween víkend, alebo Halloweekend,
ako som chcel povedať, všetci oddýchnutí a späť.
A našťastie to nie je sneží už.
Je to vlastne slnečno vonku.
Bol som vážne rád.
Nie je pripravený vytiahnuť mojej zimné topánky.
Dúfajme, že pset6 šlo celkom dobre.
>> Ak ste unavení z C, som rád, povedať, že ste urobil s C teraz.
Plne sme prešli do programovania pre web,
takže budete pracovať v HTML, PHP, možno trochu JavaScriptu.
Ja neviem, čo budúci týždeň pset je, takže nemôžem zaručiť
aké sú vaše ďalšie pset bude byť, ale tento týždeň pset
je CS50 Financie, čo je v podstate vykonávanie druh webové stránky
ktorý vám umožní nakupovať a predávať skladom, a sledovať z nich.
A je to celkom v pohode, pretože všetky to je dynamicky generované.
Môžete mať rôzne užívateľov, ktorí Každý z nich má svoje vlastné informácie,
a budete mať vykonávanie všetkých, že.
To chvíľu trvá.
Rozhodne si myslím, je to jednoduchšie ako C psets, ale trvá dlhšie.
Učíš sa nový jazyk, PHP, ktorý je veľmi podobný C,
ale samozrejme bude vyžadovať môžete sa pozrieť na syntax a pochopiť,
ako previesť medzi jazykmi.
>> Ale ja si nemyslím, že existuje niečo, čo Super koncepčne ťažké o tomto pset.
Je to len učenie nový jazyk a získať
cez všetky tieto kúsky.
Ak vy prečítali spec, je to celkom dlho.
Myslím si, že toto je ako 21 strany, ak sa nemýlim.
Je to dlhý spec.
Takže ak ste nečítali to-- 22.
32.
>> Wow.
Takže som bol preč tam 50%.
Takže, 32 strán.
Takže je to dlho.
Existuje veľa kusov, ale žiadny kusov by malo byť tak zlé.
Je to proste veľa.
Takže rozhodne začať čoskoro ak je to možné, podľa obvyklé,
ale myslím, že by mal cítiť trochu krajší ako obzvlášť psets ako
obnoviť a veľkosť, ktoré sú práve veľmi ťažké zabaliť hlavu okolo.
>> Takže s tým, ideme do toho ponoriť.
Nemám váš program posuňte dnes, ale my sme
bude hovoriť o PHP.
Budem dávať tak nejako rýchlokurz v niektorých veciach
že možno budete chcieť vedieť o PHP.
Rôzne syntaxe veci, čo dávať pozor.
Budeme hovoriť niečo málo o SQL.
Len veľmi jednoduché veci tam, a potom tiež MVC
je Model View Controller, ktorý je, ako je váš pset nastavený,
tak pochopenie, ako to práca bude mimoriadne užitočné.
Dobrá.
Tak PHP.
Vy ste mali urobiť niečo veľmi, veľmi jednoduché
s PHP, ktorý je to dno vec tu,
kde ste odoslali nejakú formu na začiatok tu, že mal nejaké meno, ktoré vám
vstup, a to by som rád ahoj, Ben, alebo ahoj, Allison, a to by sa pop-up.
Takže to je vlastne to, čo ju Mal som vyzeral ako z pset,
V prípade, že chlapci chceli vedieť alebo nie celkom prísť.
>> Ale máme tieto otázniky Tu ukazujú, že to, že je PHP.
Oni zabaliť, a potom htmlspecialcharge, pamätajte, že je spravodlivý,
uistite sa, že ste v bezpečí z akéhokoľvek bláznivého vnútenie
alebo keď sa niekto snaží dať šialené škodlivé znaky
do poľa Názov vášho, to nie je Páči sa mi váš server alebo ktovie čo ešte.
>> A potom, ak sme si všimli, tento HTML Formulár mal spôsob $ _GET, ktorý,
Spomenieme Ak naša superglobals z PHP, $ _GET, $ _POST,
pôjdeme do tie trochu.
Ale my vieme, že máme nejaké meno tú, ktorá zodpovedá menu
že sme predložili.
Takže je to len niečo ako veľmi jednoduchý PHP HTML spolupráce
že vy ste mali od pset šesť.
>> Ale to nie je naozaj odpovedať na to, čo je PHP.
Je zrejmé, že je to jazyk, ale máme naozaj
Hovoril o tom v tejto časti, takže je tu trochu viac
o tom, čo PHP vlastne je.
PHP, takže je len PHP Hypertext Preprocessor.
>> Je to vlastne považované za programovací jazyk
pretože má logiku, zatiaľ čo v prípade Pamätáme si, hovoríme o HTML,
hovoríme, že značkovací jazyk proti programovací jazyk, pretože HTML
je prísne úprave, ako veci vyzerajú na stránke.
Je to len úpravou či je niečo tučne,
alebo či je to forma, prvok, alebo niečo také.
To nemá logiku.
Nemá slučky alebo podmienky.
Nemôžete chyba skontrolovať veci.
By ste zobraziť buď veci určitým spôsobom, alebo požiadať o veci
od užívateľa.
To je všetko.
>> Tak s PHP, ale v skutočnosti to, aby nás robiť všetky tieto logické veci,
ako overenie vstupu, alebo manipulovať s ním nejakým spôsobom.
Môžeme kombinovať s HTML, ako sme práve videl v poslednej pset a práve teraz,
a to nám umožňuje vytvoriť Tieto dynamické webové stránky.
Takže ak vy ever-- nemám, pokiaľ viem, si ako ja, ale na strednej škole
oni nám tento IT triedy, v ktorých Vytvorili sme len HTML stránky,
a boli statické a kliknite na tlačidlo okolo na iné veci, ale nikdy nezmenil.
>> S tých dynamické, čo sa dá urobiť, je, ako u CS50 financií,
budete mať rôzne užívateľa.
V závislosti na týchto užívateľov " preferencie, a to, čo kupujú
alebo to, čo predávajú ich zásob,
budete k zobrazenie rôzne veci.
Takže ak tam je nejaký identifikačné charakteristika
pre váš užívateľský pomocou tohto webové stránky, môžeme dynamicky
rozhodnúť, čo sa zobrazí pre nich.
Nie je to to isté pre každý osoba, ktoré, ak sme práve mali HTML,
stránka by bol rovnaký pre každý človek, ktorý navštívil.
PHP nám umožňuje prispôsobíte stránky.
>> A potom môžeme buď dať do rovnaký súbor, ktorý, rovnako ako v prípade
ako tu, sme videli, že máme HTML všetci tu
a potom tu máme trochu PHP.
Môžeme to urobiť takto, alebo CS50 financií,
či vy ste sa pozrel na files-- a my by sme mali mať čas
krokovať pár z nich spoločne na konci section-- my
môžete vidieť, ako je to možné vlastne uchovajte ich oddelene,
čo je vlastne lepšie vec.
>> So.
Crash course.
Všetky rýchle jednoduché veci čo by ste mohli potrebovať vedieť o PHP.
Deklarovanie premenných.
To modré je trochu nepríjemné, ale dúfajme, že vy môžete vidieť.
Ak nie, budem písať na kriedu palube.
Deklarovaní premennej.
Jedna vec je vedieť, je to, že na rozdiel od C, PHP je voľne alebo dynamicky napísaný,
čo znamená, že nemusíte povedzte premennú, aký typ to je.
Stačí si len jednoducho povedať niektoré premenné je rovná čo chcete, aby sa,
a rozhodne o typ že premenná v čase behu pre vás.
>> Ako uvidíte, že toto môže spôsobiť niektoré veľmi zaujímavé veci.
Ale pre väčšinu účelov, je nemusí určiť typ.
Môžete, a môžete zadať obsadenie veci, ako obvykle
neuvidí, ak chcete, aby núti to byť určitý typ,
ale nemusíte.
To nebude kričať na vás ak ste práve deklarovať premennú
a neurčíte typ na to.
>> Takže v prípade, že nemôžete prečítať tohle-- Viem, že to nie je najlepšie.
Myslel som, že by sa ukázal better-- spôsob, ako inicializovať premenné je len
s znak dolára, čo Chcete, aby bol nazývaný,
a potom to, čo ste priradenie.
Takže v tomto prípade, je to nejaký $ var = 3.
Ak teda vôbec používať $ var niekde to bude len
rovnaké ako uvedenie 3 tam.
OK?
>> Takže, všetky premenné, len znak dolára, bez ohľadu na
Ak chcete volať svoju premennú, a čo chcete, aby sa rovnaké.
Malý chladič.
Menej písať pre inicializáciu premenná, nie?
Znamená to, že zmysel pre každého?
Len rýchla syntax rozdiel medzi C a PHP.
>> Polia sú oveľa chladnejšie v PHP.
Môžeme im dať kľúče.
Takže spôsob, ako premýšľať o tom, je, že ak sa niekedy
chcel prístup prvok v matici,
sme potrebovali vedieť index z toho, že jo?
Takže vieme, že s C, my môže získať prístup k prvej prvok
tým, že robí poľa držiak nula, alebo ak my Ak prvý prvok, pole držiak
jedna.
A ak by sme chceli niečo tam môžeme len
musí iterovat, ak sme vlastne vedeli index.
>> Jedna vec, ktorá je naozaj v pohode s PHP polia
je to, že to, čo nazývame asociatívne.
Takže môžeme priradiť nejaký kľúč k nejakej hodnote,
a my sme vlastne deje to-- ja vám ukážem,
ako môžeme použiť v sekunde.
Ale v podstate, ak ste niekedy chceli k inicializácii poľa takého,
máte nejaké $ pole.
>> Takže rovnako, je to len niektoré premenné, ktoré budeme vytvárať.
To by sa dalo nazvať čo ste chceli.
To by mohlo byť napríklad $.
Len ďalšie premenné.
Čo je to pole je držiak syntax, ktorú tu máme.
Rovnako ako normálne C a my mať nejaký kľúč k nejakej hodnote.
Takže key1 ide value1, key2 dva ide hodnota2.
Tieto dvojice sú oddelené čiarka, rovnako ako normálne pole.
>> Však.
Veľký.
Klávesy sú nepovinné.
Nemusíte ich používať.
A ak nie, potom je to proste normálne.
Otázka?
Alebo, oh.
>> Publikum: No, asi pravdu.
Tam, kde prichádza spomienka z?
Môže to tiež byť rovnaká ako [Nepočuteľné] a zo zásobníka?
Je to tiež pomocou PHP?
Rovnako ako keď sme ich spája?
>> ALLISON Buchholtz-AU: S PHP, Nemáme tendenciu
sa starať o tom, kde naše Pamäť je pochádza.
Nechceme tráviť veľa čas hovoriť o tom,
takže to nie je naozaj nič musíte báť.
Takže kľúče sú nepovinné.
Rovnako tak, ak nemáte chcú, aby to súvisiace,
chcete len normálny pole tam, kde je pole nula je prvý prvok
a pole z nich je druhý prvok, môžete to urobiť presne to,
ako by ste v C. máte nejaké premenná, ktorá to bude vaše pole,
a tu sa rovná tieto konzoly.
Áno.
>> Divákov: Má to To isté prejdite na zápise.
Ako, môžem robiť ako pole ++, a ukazuje na druhej.
>> ALLISON Buchholtz-AU: Môžete do-- No, môžete mať nejaké iterátor, i,
že si môžete robiť aj ++ a to pole i rovnakým spôsobom.
Ale to je všetko.
Tak, ako v tomto prípade, Pole 1 by sa rovnal 20.
Rovnaký druh indexovanie notácie.
To je v podstate len implicitné vec tu, kde sa hovorí, nula, nula až 10,
na 1 až 20, 2 až 30.
Je to len implicitné kľúče pre neho.
Aké zmeny s PHP že teraz majú moc
priradiť tieto kľúče robiť, čo budete chcieť.
>> Takže jedna vec je tu.
Tak som si len niekoľko príkladov tu, že som spísal pre vás
pretože mám pocit, že príklady vždy pomôcť viac než len abstraktne.
Takže v tomto prípade tu máme nejaké asociatívne pole
to je moje krstné meno, moje priezvisko, a ja
som ozvenou, čo je len pre všetky účely tu
ísť vytlačiť na výstupe tu.
>> A hovorí, OK.
Vytlačte si hodnotu, ktorá odpovedá poli na kľúče Allison.
A môžem vám tiež posielať ľudí všetko tento kód po triede.
Takže, keď sme sa spustiť to, čo robiť si myslíte, že sa bude diať?
Čo sa deje vytlačiť?
Divákov: Vaše priezvisko.
ALLISON Buchholtz-AU: Moje priezvisko.
To robí.
Tu.
Vytlačte.
Takže ak by sme mali zmeniť a my pridali niekoho iného, ​​aby naše list--
Takže povedzme, že máme Emma tu a spájame svoje posledné name--
Poďme sa pozrieť, či som kúzlo tohto práva.
>> Divákov: Jo.
>> ALLISON Buchholtz-AU: Áno.
>> Divákov: Dobrá práca.
>> ALLISON Buchholtz-AU: Lovely.
Takže teraz keď máme toto a Chceli sme nájsť svoje priezvisko,
to máte tam.
Takže si môžete len myslieť na to, ako nahradiť tento kľúč tu.
Ste práve výmenou index.
Tak to umožňuje len hľadať cez pole oveľa jednoduchšie.
Nemusíte poznať index.
Tak dlho, ako tento kľúč, ktorý sa pozeráte pre existuje niekde v poli,
PHP nájdete ju a vráti sa hodnoty s ním spojené.
Tak to vám dáva oveľa viac moc so svojimi poli.
Áno.
>> Divákov: Ak máte dve klávesy rovnaký, bude vám chybu?
ALLISON Buchholtz-AU: Je to by vám mal poskytnúť chybu, jo.
Robí to trochu väčší zmysel pre vás?
A rovnakým spôsobom, máme pole tu, že nemá žiadne kľúče.
Aj tento je syntaxe že budete chcieť
byť vedomí, pretože budete musí použiť v pset.
>> Kedykoľvek robíte echo, máte tieto citácie,
a vždy, keď máte na mysli na časť poľa,
musíte mať tieto Zložené zátvorky okolo nich.
Je to trochu nepríjemné, ale stačí to urobiť.
Takže len niečo mať na pamäti.
Ak používate na chyby, Viem, že to existuje v mojom poli
ale je to hádzanie chyby na mňa, pokúste rovnátka okolo neho
a malo by to fungovať.
>> Takže v tomto prípade tu sa jedná o normálne C polia, ktoré sme zvyknutí.
Má tri, päť a šesť, a my sme chcete vytlačiť prvý prvok,
takže by to malo vytlačiť tri.
A ja som spustiť všetky tieto, tak dúfam, že sa nič nezmenilo.
Vidíme na dne tu, to jednoducho vytlačí tri.
V pohode.
Že zmysel pre každého?
Asociatívne pole.
Oveľa chladnejšie ako normálne poľa.
>> To je why-- Vedeli David ukáže, implementácia PHP pset6
Počas prednášky vôbec?
OK.
Takže, ukážem vám.
Neviem ho t--
>> Divákov: Urobil minulý týždeň.
>> ALLISON Buchholtz-AU: Bolo to minulý týždeň?
>> Divákov: Jo.
>> ALLISON Buchholtz-AU: Jo.
Takže pravopisu môže byť vykonané ako šesť liniek s PHP, a časť sily, ktorá
je to asociatívne pole, kde stačí nahrať každé slovo,
a máte je rovná true alebo false.
A tak si môžete povedať, oh.
Návrat slovník na nejaké slovo, a či je to tam, vráti true.
V opačnom prípade, nebude to nájsť to a bude to return false.
Tak trochu chladné maličkosť.
>> Dobrá.
To sú asociatívne pole.
Sú to celkom v pohode.
Moc sa mi páči je.
A samozrejme tohle-- Ah.
OK.
Teraz to funguje.
Možno.
OK.
Ďalšia vec.
Takže, s rovnosťou, len super vec je mať na pamäti.
S PHP, pretože to je dynamicky napísaný,
typ môže meniť v závislosti na tom, kedy môžete ho spustiť, ako sa vám to beží.
Vlastne som trochu v pohode príklady, ktoré som vám ukážem, chlapci.
>> Ale == len kontroluje rovnosť po type žonglovanie.
Takže ak máte niečo, čo je ako znak 1 a číslo 1,
PHP by sa povedať, že tie sú rovnaké, pretože to
Môžete žonglovať typy Dvaja z nich, kým je to rovnaké,
ktorý možno vo vašom prípade je v poriadku.
>> Ak potrebujete zistiť, či sú rovnaký druh hodnoty a rovnaký typ,
Chcete túto ===.
A nemyslím si, že máte niektorý prípad, kedy je nutné použiť, aby
v pset, ale pre mnoho vy, kto bude pokračovať robiť webové stránky
pre vaše záverečných prác a vecí, je to dobré vedieť, že == a ===
sú rôzne, a je to dobrý rozdiel pochopiť.
>> OK.
So.
Foreach slučky.
Oni sú spôsob, ako iterovat poľa.
Takže, rovnako ako pole sa stal toľko chladnejšie v PHP,
vaša cesta k iterácii cez pole, myslím,
sa tiež stáva oveľa chladnejšie a oveľa silnejší.
Takže namiesto toho, aby musel vytvoriť niečo pre i = 0, a to bez ohľadu,
a aktualizovať, aby aj ako prejsť,
máme túto strašnú slučky foreach.
>> Tak tu je norma všeobecné Štruktúra týchto dvoch.
Takže buď máte foreach nejaké pole ako hodnotu, ktorú chcete opakovať, ako.
Tak to je názov poľa premenné, ktoré chcete odkazovať,
a to je to, čo chcete to nazvať v rámci slučky.
OK?
Takže to zodpovedá každý prvok poľa,
a túto hodnotu použiť v rámci tejto slučky.
>> Mám príklad.
Viem, že príklady sú oveľa lepšie.
A tak je v prípade, že sú žiadne kľúče, takže je to ako
ak budeme len mať jeden, kde kľúče sú normálne indexy pre vaše pole.
Alebo je to aj v prípade, ak je nemáte využitie pre kľúče.
Ak nezaujíma kľúče a práve
Chcete iterovat s hodnotami pre každý z nich v ľubovoľnom poradí,
to je v poriadku.
>> Môžete použiť štruktúru.
V opačnom prípade, ak sú kľúče, naše $ Value len zmení na $ kľúčovú hodnotu.
Tak to jednoducho zmení na paru kľúčov hodnoty.
A potom sa môžeme odkazovať na $ key a $ value v rámci nášho cyklu.
OK?
So.
Príklad.
Nech je to krajšie.
OK.
>> Takže máme tento tu, ktoré máme niektoré
are-- Môžete tiež vytvoriť pole, ako je tento
tým, že niektoré premenné rovná do poľa s zátvorkách,
alebo môžete jednoducho držiak.
By ste mali urobiť, držiak, ale je to ďalší spôsob, ako to urobiť.
Takže tu máme nejaké pole troch prvky Jedna, dva, tri,
a máme foreach.
>> Všimnite si, toto zodpovedá pole, ktoré sme v priebehu iterácie,
a to je to, čo sme volanie každá vec v našom poli.
A to všetko robí, je, že je to bude tlačiť každú hodnotu.
Takže ak by sme ho spustiť, všimli sme si, že my majú jednu hodnotu, hodnotu dva, tri hodnoty.
>> A rovnakým spôsobom, ktorý zvyčajne poľa musí byť jedného typu,
polia nemusia všetky byť rovnakého typu tu.
Takže teraz máme nejaké int.
Máme dva reťazce.
Takže vaše pole môže dostať oveľa silnejšie
a možno aj trochu bit Messier, v závislosti
na ceste Ak sa chcete na to pozrieť.
Takže môžeme to zmeniť na čo chceme.
Používame hodnotu.
To je len štandardná vec, ktorú použiť.
Ale rovnako dôležité vedieť, že môžeme nazývajú ako čítač, ak sme chceli.
A ak sa zhodujú so, samozrejme všetci sú šťastní.
Ak ste niekedy chceli spustiť PHP spustiť niečo takého príkazu
linka viete tu, proste PHP,
a potom, čo súbor, ktorý chcete spustiť.
>> Takže ak chcete, aby neporiadok okolo s PHP a ďalšie logiky
a nemáte naozaj potrebujete vidieť ako vo webovom prehliadači,
stačí spustiť v príkazového riadku takhle
a echo vytlačí sa, čo sa vám páči.
OK.
Druhý spôsob, ktorý máme, je takto.
Tak to je prípad, keď možno budete chcieť použiť ako kľúč a hodnotu,
Viem, že sa jedná o podobné Super sprisahaneckej príklady
ale dúfam, že robia to trochu jasnejšie.
Takže tu máme nejaké pole znovu, ale tentoraz,
namiesto toho len s viete, že to nie je kľúč.
Máme kľúče pre každú z nich.
Takže sa to bude jedno, bude b zodpovedať na dva, bude a c odpovedať na tri.
A v tomto prípade, ak sme to takto napísať,
máme prístup k obom kľúč a hodnotu pre každú z nich.
>> Takže keď sme sa spustiť to, dostaneme každý z nich.
Tak to vytlačí naša kľúče a zodpovedajúce hodnoty.
Ďalšia super vec je, že aj ja viem, povedal, ako je tento, nemal kľúče,
ale vždy implicitne má kľúč, pretože ak nemáte delegovať
kľúč, samozrejme, vaše Tlačidlá sú len vaše indexy
alebo indexy, takže sme mohli Vždy si tiež urobiť tento.
Takhle.
Budem vytlačiť.
Takže v tomto prípade, ak si všimnete, máme implicitné kľúče
nula, jedna a dve tu.
>> A rovnakým spôsobom s tymto, môžete vždy len povedať, r ako hodnota,
a stačí mať prístup k hodnote.
Nemusíte starať o vaše kľúče, aj keď vaše má kľúče,
ak nechcete starať o je, nemusíte nutne
je potrebné, aby ich vo vašom slučky foreach.
Má to zmysel pre každého?
>> Divákov: stačí volajte kľúče, taky?
ALLISON Buchholtz-AU: Jo vás by úplne urobiť taky.
Vlastne, počkajte.
Vydrž.
by to-- Nie
Ak chcete kľúč, potom čo musíte urobiť, kľúč na hodnotu.
Divákov: Pridať hodnotu.
ALLISON Buchholtz-AU: Jo.
A vy proste nikdy použiť hodnota je všetko.
>> Divákov: OK.
ALLISON Buchholtz-AU: Ak sa vám stačí dať jednu vec tam,
to bude predpokladať, že ste hovorí o hodnote, nie kľúčové.
Veľká otázka.
Dobrá.
V pohode.
Vlastne, vydrž.
Ukážte mi, čo mám.
Takže predtým, než sa dostaneme do pošty a získať, som len chcem vám ukázať chlapci trochu
o tom, ako je to dynamicky napísaný, čo je celkom fajn.
Mám všetky tieto.
Mám ako štyri príklady tu, a ja Vám zašleme všetky tento kód
po triede.
>> Takže tu máme nejaké premenná.
Je to len 1 plus 1, nie?
A budeme tlačiť, čo to je rovná, a potom máme nejaký druh.
A niekto nejaké odhady o tom, aký to bude?
>> Divákov: int.
>> ALLISON Buchholtz-AU: Jo, je to int.
Tak to len pridáva k sebe.
Je to int.
Všetky dobré.
Takže to budúci, máme čo vyzerajú ako struny.
Keď sme sa spustiť tento, si myslí, že, oh.
Ste skutočne snaží len pridať veci.
Práve si dostal zmätený.
Tak som len tak opraviť to pre vás.
Znamenalo, že ste int.
Viem, že ste mal na mysli int.
>> Takže to je jeden zo spôsobov, ako môžete vidieť, PHP má svoj vlastný rozum.
Aj keď výslovne uviedol, vzhľad, tieto z nich sú reťazce.
Mám na mysli reťazec jeden.
Ale hovorí, oh, ale snažíte sa ich doplniť,
takže je nutné povedať, že je to celé číslo.
Ver mi o tom.
Tak to hovorí, že je celé číslo, a dodáva je ako normálny.
Tak trochu vychladnúť, ak sa chystáte sa leniví so svojimi vecami,
alebo ak chcete niečo pridať.
>> Skvelá vec je, že ak si myslíte, že späť do pset2,
niečo, čo bolo užívateľovi zadaná, právo, že si myslíme, že
je znak alebo reťazec na prvom mieste.
Teraz už nemusíme explicitne hovoria, oh, aby to int.
PHP bude len rád, ach jo.
Viem, že ste mal na mysli int.
Silly vám.
Ste na mysli reťazec.
>> Takže v tomto prípade, teraz že máme to, čo
si vy myslíte, že to bude robiť?
Máme reťazec a int teraz.
>> Divákov: Je to stále int.
>> ALLISON Buchholtz-AU: Stále je to int.
A dôvod, prečo je-- by som dal viac príkladov, ale táto je sranda.
Dôvod, prečo to robí preto, že je to ako sa snažíte pridať veci.
Takže ak sa snažíte pridať veci, budem predpokladať,
rozumne, máte niečo rozumné, aby si mohol pridať.
Ja len tak, aby to int, a sme len tak pridať, ako obvykle.
A potom rovnakým spôsobom, som myslíte, že vy dostanete nápad.
Máme tiež tento jeden tu, čo je len zuhoľnatie, a to robí to isté.
Je to ako, ty hlúpa užívateľa.
viete, že chcete int.
>> Divákov: Keď dáme list, bude to robiť [nepočuteľné] hodnotu, alebo nie?
ALLISON Buchholtz-AU: Oh, To je dobrá otázka.
Poďme sa pozrieť.
Nie, stále je int.
Takže je to trochu blázon.
To je len tak, aby zobrazoval PHP môžu niekedy správať irrational-- Nie
úplne iracionálne, ale môže správať spôsoby, ktoré nemáte naozaj očakávať.
Takže, keď si nie ste istí, skontrolujte, či druhy vecí.
Táto funkcia GetType môže byť super užitočné.
>> Zvyčajne, ak robíte niečo s kladov alebo akékoľvek matematické operátory,
to bude predpokladať nič rozumné je len int.
Takže, máte char 1 alebo reťazec 1, alebo skutočné int 1,
to bude predpokladať, že.
Ak chcete obsadiť niečo, ste úplne možné.
Dalo by sa urobiť niečo ako zdvojnásobiť tu, verím.
A v tomto prípade to bude hovoriť, oh.
Urobím to, pretože double výslovne povedal, že je to dvojnásobok.
Môžete vždy explicitne aby PHP niečo urobiť, ale.
>> Publikum: Počkaj, prečo je tam plus 1?
>> ALLISON Buchholtz-AU: Oh.
Tam.
Bol to len ozvena.
To bola moja chyba.
Takže môžete explicitne povedať, že sa robiť niečo určitého typu,
ale väčšinu času, že to bude dynamicky rozhodnúť, že za behu.
Takže to bude ďalej cez a to bude ako, OK.
Čo robí najväčšiu zmysel, aby to bolo?
Malo by to byť v skutočnosti reťazec?
By malo byť int?
Malo by to byť plavák?
Malo by to byť dvojitý?
A to sa rozhodnú, že pre vás.
>> Môžete ju prinútiť k tomu to, čo chcete, ale-
>> Divákov: Znamená to, že aby to pomalší?
ALLISON Buchholtz-AU: No, Myslím, že C je veľmi efektívna.
Myslím si, že je to určite pomalší, pretože to má do procesu, ako sa to deje.
C, som si takmer istý, je rýchlejší.
Ale samozrejme je tu Veľa skvelých vecí tu
že nemusíme robiť starosti.
Takže, ak sme vyhľadávanie cez pole, sme
Nemusíte vlastne vytvoriť Niektoré vyhľadávače cez pole.
Môžeme sa len opýtať na kľúč a PHP sa bude starať o to.
>> V pohode.
Úžasné.
Vyzerá to, že ku koncu mojich príkladov.
Vy ste nikdy zabúdať, že teraz.
Budeš vyzerať, oh, PHP je len ako tá mamička, ktorá to ako nie, nie, nie.
Viem, čo máte na mysli.
Ja viem, čo chceš.
OK.
Tak toto je snáď užitočné pre vaše pset, aspoň v začiatku,
pretože ste všetci o rokovaní s formami a vecami od užívateľa.
>> Takže existujú dva spôsoby, ktoré sme prejsť okolo informácií s PHP a HTML
keď sme okolo medzi týmito dvoma vecami.
Takže máme $ _GET, ktorý je vedený cez URL, a máme $ _POST,
ktorá sa prenáša v správe telo, a preto považujeme za skrytý.
Ale jedna vec je pochopiť, že ani jeden z nich sú považované za bezpečné.
>> Ak máte niekoho, kto je zachytenie správy idú
tam a späť medzi vami a Server, oni môžu ešte dostať tieto dáta.
Oni jednoducho musia vyzerať trochu ťažšie.
Je to naozaj that-- je to len skrytý od adresy URL.
Je to stále v tele správy, aj keď, takže ak majú prístup k že,
je to naozaj len like--
>> Je to ako rozdiel medzi niečím
sa píše na vonkajšej strane obálka a niečo bytosť
napísané na kuse papiera vo vnútri.
Nie je to tak ťažké otvoriť obálku a získať kus papiera vnútri.
Je pravda, že to by bolo oveľa jednoduchšie, stačí si prečítať vonku.
Ale to je, ako môžete druh, že z nich.
Ani jeden z nich sú skutočne považované za bezpečné.
OK?
>> Je pravda, že nie je naozaj jedno pre pset
preto, že ste čo do činenia sa obchodného tajomstva,
ale je to zvyčajne jeden vec, ktorá naozaj
chcel zdôrazniť, pretože ľudia myslíte, oh, no, to je skrytý.
Musí to byť super bezpečná.
Nie.
Nie je to bezpečné.
Je to len mierne menej neisté, myslím.
Alebo nezabezpečené.
>> Takže v skutočnosti máme príklad.
Ako viete, mám rád naučiť viac s príkladmi.
Mám pocit, že to pomôže lepšie.
Takže máme nejaký jednoduchý formulár tu ktoré v skutočnosti, ak vy ste niekedy
zmätená o PHP, to je naozaj malý,
php.net ale je v skutočnosti naozaj dobrá dokumentácie.
Moc sa mi to páči.
Bol som pomocou to sa pripraviť na to časť, takže môžem veterinár je pre vás.
>> To je príklad z nich o tom, ako _POST $ _GET a $ prácu.
Jediný rozdiel medzi dvoma z nich,
okrem toho, že má informácie Zobrazí sa, či už je to v URL
alebo v tele, je tiež čo je metóda.
Takže vo formulári pre HTML-- tejto je veľmi jednoduchý HTML formulár.
Môže mi niekto povedať, čo to robí?
Divákov: Spýtajte sa na svoje meno a vek.
ALLISON Buchholtz-AU: Presne tak.
Takže máme nejakú formu akcie.
To nám umožňuje vedieť, že je to nejaký akt formu.
A čo sa bude diať je, že keď sme narazili Odoslať
to bude volať action.php, čo je to, čo je to,
a to bude hovoriť s metódou $ _POST.
Takže v tomto prípade, váš Informácia je skrytý.
a je to len Vaše meno, niektorí input type tzv názov, niektoré vek,
input type = "text", že sme tiež volať veku.
A potom, ak sme narazili Odoslať Odoslať zavolá action.php.
>> Takže keď sme vlastne hit Odoslať sme viem, že to bol vyslaný, sama o sebe,
a my budeme vlastne vidieť vo vašom problém nastaviť, aby Dúfajme, že
dostať sa prejsť trochu.
A všetko, čo robí je tu POST je nejaká superglobal variabilný
že sme o tom hovorili v priebehu prednášky.
A ako si môžete myslieť _POST $ je že je to len asociatívne pole.
OK?
Tak to je nejaký kľúč, to je nejaký kľúč, a bez ohľadu na
vstup užívateľa stáva hodnota pre každý z nich.
OK?
>> Takže ak by sme mali napísať, čo to pole v skutočnosti vyzeral ako pravej strane potom, čo sme
predložil vyplnený formulár, budeme majú, to je náš $ _POST,
a niektoré polia, kde máme nejaké meno.
Povedzme, že budeme robiť moje meno, a potom máme nejaké veku 21.
Woo.
Tak to je všetko _POST $ je. $ _POST je len asociatívne pole, OK?
>> Je to len hovorí, OK.
Aké sú veci, ktoré sme požiadal od užívateľa?
Aké sú premenné že sme okolo okolo
že sme požiadali o v tejto podobe?
A potom to, čo je hodnoty spojené s tým?
Takže v tomto prípade, keď som postúpila s menom Ally a 21 rokov,
To je to, čo $ _POST vyzerá.
OK?
A to je to, čo toto PHP súbor má prístup.
V poriadku?
>> Takže v tomto prípade, je to len ako dostať inú vec z nášho poľa.
Namiesto toho, aby index v našom pole, máme nejaké kľúč.
Tak toto sa bude dať me hodnota na názov kľúča.
Takže to bude Ally, a Toto právo je tu chystá dať mi
hodnota v $ _POST, kde Kľúčom k úspechu je vek, ktorý bude 21.
Budeš mať robí túto celkom dosť.
Jo, z ktorej časti?
>> Divákov: Keď si bol ukázal na spodnej časti.
ALLISON Buchholtz-AU: Táto spodná časť?
OK.
Takže chápete, to je náš HTML tvoriť, a máme nejaké metóda $ _POST,
ktoré záleží.
To by mohlo byť tiež $ _GET, ale pre tento účel,
sme len chcel povedať, že je to $ _POST.
Keď sme odoslaní formulára, je to časť súboru PHP, ktorý je tzv.
Takže to PHP súbor je teraz chystá spustiť s ohľadom na informácie z našej HTML
forma.
>> Takže, čo to robí, je, keď sa hit Odoslať na našej forme HTML,
je to okolo vás tento superglobal, čo je len asociatívne pole.
To je to.
Je to len ako mimochodom, že do súboru.
A to, čo hovorí, je OK, tu je $ _POST.
Je to vaša asociatívne pole.
Robte si s ním, čo chcete.
A hovoríme, OK.
Daj mi hodnoty na meno, a daj mi hodnota na veku.
>> Tak to sú len kľúče, a to je naše pole.
Má to zmysel?
>> Divákov: mhmm.
ALLISON Buchholtz-AU: Úžasné.
Divákov: Ak máte znova forma to stačí napísať nad dátami?
ALLISON Buchholtz-AU: Jo.
Mhmm?
>> Divákov: Prečo máte určiť, že je to int?
>> ALLISON Buchholtz-AU: V tomto prípade, Užívateľ je len núti to byť int.
>> Divákov: OK.
ALLISON Buchholtz-AU: Neviem ak by ste skutočne potrebujú, aby
ale pre svoje účely, ale rozhodol že chcú, aby to bolo int.
Iba typecasting to.
Možno, že ju používate ako niečo neskôr.
To je len jeden fragment.
Áno?
>> Divákov: Čo keď zadali 12, T-W-E-L-V-E, pre vek?
ALLISON Buchholtz-AU: V prípade, že sa snažil písať, že ako int?
Divákov: Jo.
ALLISON Buchholtz-AU: Aj zabudnúť na to, čo to robí.
Myslím, že by sa mohli pokúsiť previesť prvý znak na int,
alebo mať hodnotu a prevod to, ale zabudol som, čo presne to.
Byť zábavné, čo písať programu a vyskúšať.
Urobte pár riadkov.
OK, takže toto je jedným z hlavných veci, ktoré budete robiť.
Budem snáď chodiť prostredníctvom niekoľkých súborov
od pset s vami.
Vyzerá to, že budeme mať čas, tak to môžeme urobiť.
>> Ale ty budeš robí veľa vecí,
takto, kam absolvovaní veci z HTML formulára
do tejto PHP formulára, ktorý potom bude vykonávať nejakú sadu inštrukcií
Na základe údajov, ktoré boli poskytnuté.
To je doslova podstata vášho pset.
Jo.
>> Divákov: type = "submit", že je tlačidlo na formulári HTML.
Existuje spôsob, ako volať toto tlačidlo sa niečo?
Takže by ste sa ako name = "submit"?
Alebo je to tlačidlo len bude vyprázdniť práve teraz, pretože len
dal to typ, nie meno.
>> ALLISON Buchholtz-AU: Myslím, že je to len bude teraz prázdna.
Môžeme sa určite pozrieť pset, pretože sme určite
pri pohľade na zaregistrujte sa také veci.
Ale jo, môžete určite špecifikovať text, ktorý chcete mať v tlačidle.
OK, tak SQL.
>> Keď ste nákup a predaj akcií, musíte sledovať ty.
Spôsob, akým budeme k tomu, že je s SQL, ktorý je práve databáza.
Ber to ako tabuľku, kde je budete držať všetky tieto informácie
o vašich rôznych užívateľov.
A vy ste v skutočnosti chystáme vytvoriť jednu z nich.
Je to celkom v pohode.
>> A tam sú len štyri hlavné veci, že, čo potrebujete vedieť o tejto pset,
a sú aktualizácie, takže si v podstate aktualizovať dáta.
To predpokladá, že už je tam.
Ak tam nie je, to sa deje sa trafil s chybou,
takže možno budete chcieť skontrolovať.
A budete aktualizovať on-- I by actually- budem mať čas,
Napíšem pár z nich.
Ja vlastne vám chlapci Pár vzorky plnej príkazy SQL,
pretože to sú len hlavné ty, ale môžete spojiť dohromady.
Tak to urobím a pošlem že sa na vás s týmito poznámkami.
>> Takže ak chcete aktualizovať niečo, treba povedať, že to, čo ste aktualizáciu
a kam ho aktualizovať.
Takže typický príkaz SQL by aktualizácia ID kde niečo sa rovná niečo.
Alebo ako aktualizácia adresa kde ID je rovné 3,
a to by sa aktualizovať pole adresy svojho užívateľa, ktorý má ID tri.
OK?
>> Takže ak idete do SQL a W3Schools, majú úžasné príklady.
V skutočnosti, ja by som mohol vytiahnuť niektoré až v trochu.
A potom vložte do, ste len vloženie určitej hodnoty tam.
Takže ak sa snažíte vytvoriť nejaké nové vstup, takže si vytvárate nového používateľa
by ste mohli urobiť vložku do bez ohľadu na vaše databázy sa nazýva,
a budete mať všetky tieto hodnoty.
>> Potom budete musieť vybrať, vyberte hodnotu pre zobrazenie.
Takže ak sa snažíte skontrolovať, či používateľ existuje, alebo ste
sa snaží chytiť špecifické Informácie o užívateľovi
budete používať select.
A odstrániť je, myslím, tam je celkom jednoduché.
Ste práve odstránenie niečo z tabuľky.
A v skutočnosti, dovoľte mi, aby som skutočne vytiahnuť až niekoľko príkladov pre vás.
A hele, je to moja 61 str.
>> Takže keď sme išli do W3Schools, Dúfajme, že to znova.
Áno, milujem ich.
Ideme do SQL.
Takže, to je niečo, čo tu.
Takže, je to veľmi jednoduchý SELECT.
Človeče, mám rád túto funkciu.
Takže môžete mať SELECT niektoré polia od zákazníkov.
V tomto prípade, sa vzťahuje k zákazníkom On-line databázy, ktorú používate,
Takže bez ohľadu na váš stôl sa volá, a hviezda jednoducho znamená, vybrať všetko.
Daj mi každý.
>> Takže, ja len chcem, aby vám chlapci pár príkladov, kde to je.
Takže máme SELECT, UPDATE.
Takže tu je trochu všeobecné syntax.
Takže aktualizácia, bez ohľadu na svoje názov tabuľka je, a potom nastavte
je miesto, kde ste vlastne deje byť, aké údaje ste mení.
Takže by to mohlo be-- Let mi, aby som príklad tu.
Takže to bude be--
>> OK.
Tak som vytvoril malú databázu pre nás.
Budeme mať nejaký preukaz, nejaký rok, a niektoré vymenoval.
Takže číslo jedna bude rok '15, a my len tak, aby sa to ma.
Kto chce byť druhý osoba v našej tabuľke?
Ktokoľvek.
Ja som jednoducho ísť voliť Emma preto, že vaše meno je rýchla.
Emma, ​​čo rok ste?
>> Divákov: Aký rok?
>> ALLISON Buchholtz-AU: Jo.
>> Divákov: 16.
ALLISON Buchholtz-AU: 16.
Ste len bude moje morča pre dnešok.
OK, takže máme tieto dvoch ľudí.
V skutočnosti, dovoľte mi, aby som to urobiť.
Povedzme, počul som ju zle, a ja vlastne povedal, že je o rok mladšia.
Je '17.
To, čo chceme robiť tu, keď sme chcel aktualizovať Emma rok
za správne používať to, čo sme si robiť, je, že by som povedal, že aktualizácia dát sem.
>> A to všetko môže byť na jednom riadku, ale pretože som komprimované pre priestor tu,
Chystám sa napísať tu.
A chceme nastaviť.
Tak toto je tabuľka sme aktualizáciu.
SET bude to, čo stĺpec alebo aké údaje sú vlastne mení.
To, čo meníme je rok, tak budeme hovoriť SET rok = 16,
a potom WHERE nám hovorí, ktoré užívateľ alebo čo riadok sme vlastne aktualizáciu to.
>> Tak kde?
Máme tu dve možnosti.
Aké sú dva?
Jedná sa o unikátny, že jo?
Takže naše mená sú jedinečné a naša ID je jedinečný,
takže to, čo sú dve možnosti pre, kde by sme to mohli urobiť?
Dám vám jeden.
Mohli by sme WHERE ID = 2, alebo by sme mohli robiť to, čo
ak budeme mimo toto paradigma tu.
>> Divákov: [nepočuteľné].
ALLISON Buchholtz-AU: Presne tak.
Takže sme mohli tiež urobiť name = Emma.
A jeden z nich bude fungovať.
A bežali sme to, bolo by to ako, OK.
Budeme ju zmeniť.
Si naozaj 16, tak teraz si zase v poriadku.
OK, tak by to bolo Super užitočné pre pset
kde snáď niekto rozhodol, kúpiť 100 akcií Apple,
a potom boli ako, len si robím srandu.
Chcem len 90 podujatí.
A tak sa predávajú 10 z nich, takže si je potrebné aktualizovať množstvo zásob
že majú.
Takže aktualizácie zásob, aktualizácia tabuľky.
>> OK.
Takže to je jeden príklad tu.
To je syntax aktualizácie.
DELETE.
Oh.
Vložiť do je náš druhý.
Tak, tento tu je veľmi podobná.
Mohli by sme povedať, v tomto Prípad poďme niekoho pridať.
Môžeme pridať Benovi tentoraz.
Nemáme INSERT INTO, a my Ak názov našej tabuľky.
V tomto prípade je to dát.
>> A potom sme sa len chcete, budete hovoria HODNOTY, a to, čo budete robiť
je, v skutočnosti potrebné sa uistiť, že máte niečo pre každý riadok
ktorý chcete.
Stačí len dať do poriadku.
Takže v tomto prípade by sme povedali, 3.
Ste 18, pravý Bene?
>> Divákov: 19.
ALLISON Buchholtz-AU: 19?
Divákov: 19.
ALLISON Buchholtz-AU: Váš rok '19?
Môžete absolvovať v '18, nie?
Divákov: Oh.
ALLISON Buchholtz-AU: Maturitný ročník.
Divákov: OK.
ALLISON Buchholtz-AU: Bol som rád, si
už plánujú vziať rok voľna tu?
Tak, '18, máme Bena.
Takže v tomto prípade by to prejsť, by to vytvoriť nový záznam tu.
V pohode.
Nie je to tak zlé, nie?
Veľa z toho bude je syntax pre vás.
Koncepcia by mala prísť, dúfajme, že pomerne ľahko.
Syntax je jediná vec, to môže byť trochu zložitejšie.
>> A potom naša posledná z nich je DELETE, a ako zistíte,
Veľmi odporúčam tento web.
Je to skvelé.
Je tu tony vecí.
Takže v rovnakým spôsobom, že sme mali niektoré UPDATE, DELETE je veľmi podobný.
Namiesto toho sme Odstrániť z dát.
Takže v tomto prípade, naše posledné jeden napíšem sem.
Povedzme, že ma chcel odstrániť.
Nemôžem písať dnes.
DELETE od toho, čo Tabuľka sme v, dát.
A tam sú vlastne tri spôsoby sme si mohli vybrať, aby ma odstrániť.
>> Môže mi chalani povedať, čo tri spôsoby sú, ako by ste mi mohol zmazať?
ID = 1, kde ID = 1.
Mohli by sme, kde rok sa rovná 15, alebo tam, kde názov zodpovedá Allison.
Samozrejme, tam sú len tri rôzne spôsoby,
pretože tieto sú jedinečné.
Typicky v tabuľke, a to najmä v pset,
budete nastaviť jednu z Tieto stĺpce, že je jedinečný.
>> Je to asi bude nejaký jedinečný identifikátor, číslo, pretože ak have-- skutočnosti,
ale v skutočnosti môže vám dať dva.
Nemôžem si spomenúť, či to dám máte dve rovnaké veci.
>> Divákov: potom by to zmeniť svoje správanie.
>> ALLISON Buchholtz-AU: Bolo by to.
Bude to spôsobiť správanie, ktoré je nečakané, že nemôžete naozaj predvídať.
Takže budete určite mať jeden stĺpec v databáze, ktorá bude jedinečný,
a to zvyčajne môžete nastaviť to tak, že je to ako unikátne ID,
a to bude len aktualizovať každý vloženie do tabuľky.
Zakaždým, keď vytvoríte nový riadok, bude to automaticky
zvýšiť a dať mu nejaký jedinečný identifikátor.
Takže nápoveda pre pset.
OK.
Tak to je SQL.
>> Takže teraz budeme hovoriť o úplne posledná vec, ktorá nadväzuje na
vlastne celkom dobre s vaším pset, ak by to ísť dopredu.
Takže MVC, pohľadu modelu regulátora.
To je naozaj len spôsob, ako udržať veci organizované.
Rovnakým spôsobom sa C Žiadame vás, chlapci k vytvoreniu funkcie a samostatnej veci
out, je to len spôsob, ako oddeliť Kód keď robíte vývoj webových aplikácií.
>> Tak to robí veci oveľa viac elegantný a zjednodušený,
a to je vlastne spôsob že pset je vlastne
nastaviť, tak nech sa vám to páči alebo nie, budete sa to naučiť,
aj keď si nemyslím, že že ho máte na učenie.
A jedna vec je, že to tiež umožňuje urobiť oveľa viac, ako spolupráca užívateľov.
>> Takže keď som sa CS50, ja som Internetové stránky pre môj posledný projekt,
a bol som rád, budem zvládnuť databázy veci.
Urobím back end veci, a my spolubývajúci, ktorý som bral so sebou
bol veľmi diletantský.
Robí scénografiu, a ona chcel, aby to všetko pekne.
Takže som rád, OK.
Môžete si vziať starostlivosť o všetky predná časť veci.
>> A problém je v tom, ako uvidíme veľmi skoro,
že pohľad modelu regulátor vám umožní úplne oddeliť tento kód tak,
že som mohol pracovať na realizáciu našich stránok,
a manipulácia informácií v našich databázach,
a ona mohla len robiť veci pekný, a obaja sme boli naozaj šťastní,
preto, že sme sa dostali k tomu, čo sme obaja chceli a my
nemusel vysporiadať s druhou.
>> Tak sme visel von spoločne.
Radi by sme vyraziť.
Len som nechcel riešiť všetky CSS a HTML veci.
Bol som rád, urobíte to pekne.
Budem rokovať s databázou.
Takže máme to naozaj cool, veľký malý stolík.
Milujem tabuľky.
A v podstate, model môžete premýšľať o tom, je len vaše databázy.
>> Bol som model osoba pre môj projekt.
Je to všetko o skladovaní Informácie a organizovanie týchto dát.
Takže to je to, čo sme chceli zavolať koniec.
Takže vy sa bude zaoberať SQL databázy a dátové súbory.
To je váš model.
>> Váš názor, ako by sa mohlo myslíte, druh dáva zmysel,
je to, čo si používateľ skutočne vidí.
To je užívateľské rozhranie.
Je to tak čelom komponentov.
Takže to je to, čo moja spolubývajúca sa pustili do práce po celú dobu.
Bola mimoriadne šťastná.
Tak to je všetko HTML, a je tu veľmi málo PHP.
>> Ak ste sa rozprávali o to, čo je zobrazené na užívateľa,
hovoríme o hypertextu.
Bavíme sa o tom, ako to vyzerá.
Nehovoríme o logike, alebo podmienky, alebo ktovie čo ešte.
Všetky, ktorý sa ovládal regulátorom, OK?
Tak, že spracováva požiadavky užívateľov a dostáva informácie.
>> Takže jedna vec, ktorú by ste mali vedieť o Váš pset je to, že vo vašich názorov,
niečo, čo je v skutočnosti zobrazenie informácie
nesmie byť nikdy robiť žiada, aby do svojho modelu.
To všetko je nakladané v regulátora.
Váš regulátor je ten sprostredkovanie medzi týmito dvoma.
Spýta sa model za určitých informácií.
Je možné iterácii, že informácie, zistiť,
to, čo skutočne potrebujete od to, čo robiť s tým,
a potom to prejde na len informácie, ktoré ste
napríklad do pohľadu pre vás vytlačiť , Alebo zobraziť užívateľovi, OK?
>> Pretože vidíme pohľad ako všetko, čo je s výhľadom na užívateľa,
tak to bude oveľa jednoduchšie k tomu, aby zistili,
oh, ak robíte niektoré volania modelu
a vy sa pýtate pre všetkých užívateľov ktorí začínajú písmenom A,
a robíte, že podľa vášho názoru, každý, kto môže vidieť vaše webové stránky
by mohli získať prístup, že.
>> Nemusíte nutne chcieť, že.
Nechcete, aby ľudia videli, viac do databázy, než aké
by mali byť vidieť.
Len ich špecifické preferencie.
Takže regulátor zvláda všetko.
Takže všetky vaše .php súbory, ktoré uvidíme môžete zvážiť súbory regulátora.
A to je miesto, kde ste naozaj bude
žiadať o veci z databázy, a iterácia alebo manipuláciu
za potrebné pred odovzdaním na ktorý chcete zobraziť.
>> Je to naozaj cool pset, podľa môjho názoru.
Myslím, že je to trochu viac ako okamžité uspokojenie,
pretože sa rozhodnete veľa malých drobných vecí,
a každá vec, ktorú by mal fungovať sám o sebe.
Nie ako, robiť všetko, čo a potom uvidíme, či to funguje.
Rovnako ako u softvéru kde si rád, že som
Naozaj dúfal, že je to pravdu, pretože ak to tak nie je,
existuje veľa miesta to by mohlo byť zle.
>> Dobrá.
Len uistite sa, že som povedal: všetko, čo som potreboval povedať o MVC.
Jo.
V pohode.
>> Takže CS50 financií, máme náš model, ako som práve povedal, tu.
Je to bude MySQL a phpMyAdmin.
Určite môžem vytiahnuť tie tak, vy dostanete možnosť pozrieť sa na to.
Ako som už povedal skôr, vaše IT SQL Databáza slúži ako modelu,
a môžete poslať to, čo nazývame otázky, ktoré sú práve tieto druhy vecí.
Jedná sa o tzv dotaz.
To je otázka, kde ste práve žiada databázy na niečo,
alebo ste zmenou svojho Databáza nejakým spôsobom.
To je všetko, čo je.
A vy, že sa Funkcia Dali sme vám tu.
>> Môžete tiež manipulovať je ručne cez phpMyAdmin
ktorý rozhodne môžeme sa pozrieť na.
Budem vytvoriť vzorku databázy s vami.
OK.
Takže regulátor.
Takže v tomto prípade, ak oznámenia, je to všetko PHP.
Všimnite si, že je to druh vašich Hlavná vec, na ovládači
je to, že by malo byť väčšinou PHP.
Ak máte HTML v regulátora, nie je naozaj istý, čo sa tam deje.
Rovnako tak, ako som povedal, ak máte podarí [nepočuteľné] s HTML,
Som naozaj záujem.
>> Takže to, čo tu máme je máte dotaz.
Dotaz je funkcia, ktorá postavili sme pre vás.
Je to ako obal, aby otázky do databázy o niečo jednoduchšie.
Ak ste nemali to, že syntax vlastne hovoriť s SQL databáze
by bol iný, a tak sme len dodať to pre vás.
Radi by sme, aby sa život ľahký.
>> Takže v tomto prípade, môže vy povedz mi, čo tento riadok je robí?
SELECT * z nejakej tabuľky.
DIVÁKOV: Vyberte všetko z tejto tabuľky.
ALLISON Buchholtz-AU: Presne tak.
Tak to hovorí, daj mi všetko z tejto tabuľky.
A to uložením do niektoré premenné výsledku.
A to hovorí, ak výsledok nie je rovné na hodnotu false, potom robíme každý to.
Takže v prípade, že tu nie je nič, Ak je váš Tabuľka je prázdna, alebo to jednoducho neexistuje,
bude to return false.
Takže v tomto prípade, budeme len robiť Uistite sa, že niečo, čo je v skutočnosti
sa k nám vrátil.
>> A potom tu máme náš veľký foreach slučky
že sme iterácia cez naše výsledok, a my volať je riadok,
a hovoríme, robí túto šablónu kde sú vaše dáta je tento výsledok.
OK?
Takže je to len spracovanie riadok výsledku.
V opačnom prípade, to kričí.
Takže, toto je príklad regulátora.
Ako vidíte, je to place-- iba Jo, sorry?
>> Divákov: Prečo je tam ampersand pred sebou?
>> ALLISON Buchholtz-AU: Ampersand pred sebou.
Sme len iterácie.
To je tiež adresa of--
>> Divákov: Takže je to ako C odkazovanie.
>> ALLISON Buchholtz-AU: Je to uistite sa, že ste v skutočnosti
modifikáciu originálne a nie kópie.
Je to rovnakým spôsobom s C, kde sme okolo odkazu tu, len
aby sa ubezpečil.
>> Divákov: Nie je to == miesto nie je = v PHP?
>> ALLISON Buchholtz-AU: To nie je ==.
>> Divákov: Vzhľadom k tomu, rovná sa v C je jen--
>> ALLISON Buchholtz-AU: To jednoducho nie je =.
Jo, no.
Nie je to ==.
Vzhľadom k tomu, == v PHP kontroluje rovnosť sa Prepínanie, udelil,
ale zvýšenie kvality.
Takže to nie je == v PHP.
Je to jeden z málo syntaktické rozdiely.
Jo.
Takže sme len iterácie cez každý riadok,
a robí, ak vami čítať prostredníctvom spec,
je jednoducho iná funkcia, ktorá je vlastne bude spracovávať všetky HTML
a zobraziť ich vo vašom webový prehliadač pre vás.
>> OK.
Takže sme radi, že z vašich regulátorov ako to, čo sa stará o logiku.
Ako vidíte tu, toto je miesto, kde sme pričom naše dáta z tabuľky,
spracovávame ju nejakým spôsobom, a potom sme okolo ho.
Keď sme si poskytnúť nejakú šablónu, niektoré šablóna je náš pohľad,
a my sme ju okolo iba dáta, ktorá by mala dostať.
Nie všetky údaje.
Len údaje, ktoré chceme získať.
OK?
V podstate sa dáta po spracovaní.
>> Tak toto je pohľad, je to súčet šablóny, že máme,
a to všetko robí, je, môžete mať trochu PHP vo vašom pohľade.
Nie je to ako nie PHP v zobrazení.
Mali by ste jednoducho veľmi minimálne PHP v pohľade,
a nikdy by ste nemali byť dopytovania podľa vášho názoru.
Nikdy by ste nemali hovoriť do databázy vo vašom pohľade.
To je veľký rozdiel.
>> Takže to, čo sa tu deje, je, máme PHP, ktorý je iterácia riadku.
Takže v tomto prípade, pretože sme boli iterácie každom riadku
a vykresľovanie niečo, to bolo asi ako dvojrozmerné pole
kde máme nejaký riadok, ktorý je, samo o sebe, polia,
preto, že sme iterácie cez to znova.
A my sme len tlač názov riadok, potom to skončí.
>> Nemali by ste potrebovať v foreach.
Nikdy som nevidel, že pred samotným.
Robím foreach.
OK, tak to je názor.
Uvidíme, či sa nám podarí prejsť trochu svojho pset.
Máme 15 minút, takže som si istý, chalani by som, že viac, než len
končiť čoskoro.
Pozriem sa, či môžem priniesť toto hore.
>> Takže neviem, koľko z vás stiahli ju a ešte ktovie čo ešte,
ale máme užívateľské meno tu, a máme nejaké heslo.
A bohužiaľ, pravdu Teraz je databáza prázdna,
tak sme skutočne potrebujú vytvoriť databázu.
No, to je divné.
Nečakal, že.
Technickej chyby.
Technické ťažkosti.
Máme nejaké pset7.
V pohode.
>> Takže jedna vec, ktorú môžete urobiť, je, s query-- Budem vytvoriť tabuľku.
Takže to bude users-- čo môžete urobiť je, ak máme some--
Naozaj teraz?
OK.
Samozrejme nerobím tak horúce.
Oh.
Ja viem prečo.
Pretože som nikdy nevytvoril moja aktuálnej tabuľky.
Takže pri prvom spustení sa databázy, budete zrejme
musieť rozhodnúť, aké sú veci, ktoré som potrebné mať tu?
>> Takže ak sme jednoducho ísť preč naše dáta tabuľky tu,
sme mali nejaký preukaz, ktorý stačí zostať int.
A ak sa pozrieme sem, je tu super vec that-- So indexu.
Ak tak urobíte primárny, bude to robiť to vec, ktorá váš stôl je organizovaná,
a to bude tiež robiť to jedinečný.
Takže v tomto prípade, budeme robiť to primárne, a ja budem robiť tento názov,
potom budeme len robiť to varchar ako sa 26 písmen, pretože prečo nie?
>> A potom môžete ísť zachrániť, a potom keď vidíte, máme niekoľko užívateľov tu.
Takže ak by sme chceli robiť vložiť, mohli by sme to urobiť
týmto spôsobom, alebo ak by ste chceli praxi s queries-- Ach jo.
Osobne som nepoužil to večnosť.
Beriem to späť.
>> Tu môžete editovať na vlastnú päsť a to buď len ručne vložením informácií
s niečím takým, vás Môžete zmeniť niektoré z týchto
ak by ste chceli make-- Ak chcete Zrazu sa zbaviť mená, môžete pretiahnuť,
môžete robiť všetky tie veci.
Ak potrebujete niekedy ručne zmeniť váš stôl,
Navrhujem tom, že v phpMyAdmin proti pokusu
prísť na to SQL otázky všeobecne.
Pri prvom spustení pset, budete musieť pracovať tu,
tak sa na to zvyknutý.
A potom, keď v skutočnosti chcete vložiť veci do vášho table--
Naozaj som vedel, kde to je, pretože there's-- Tu to je.
To je to, čo som chcel.
Takže ak idete do SQL, mohol by ste skutočne vidieť, ako vidíme tu,
máme SQL dotazov.
>> Takže ak by sme chceli vybrať niečo alebo ak by sme chceli vložiť niečo,
môžeme urobiť vložku do užívateľa, že jo?
Myslím, že budete potrebovať spätné lomítko.
Jedna vec je vedieť, ak je ste niekedy používať to,
budete musieť použiť tieto späť apostrofy, ktoré sú typicky,
ak ste na Mac, priamo nad karte.
Tak dobrá vec vedieť.
>> Dalo by sa vložiť do užívateľov, a máme naše hodnoty, je to tak?
Takže máme hodnoty a naše hodnoty by v tomto prípade byť len,
máme len ID, takže sme mohol urobiť jeden, ak sme chceli.
To je divné.
OK.
Tak to je rovnako ako krátke maličkosť s SQL,
ale to by mohlo byť užitočné, aby skutočne pozrite sa na niektoré súbory tu.
>> Takže v sekcii Na stiahnutie.
Oh, nie ku stiahnutiu.
Takže, len rýchly návod na to, čo je v každej z týchto zložiek.
To zahŕňa, budeme musieť niečo že nastaviť prehliadač tak,
máme tieto konštanty, a máme tieto funkcie.
Ak máte záujem o niektorý z nich, Odporúčam pri pohľade na funkcie.
Jeden z nich, že je super užitočné, v skutočnosti je to jeden tu, dump.
>> Takže ak máte použiť, to bude vlastne len
vytlačiť bez ohľadu na premenné že sa vám páči na.
Takže ak máte problémy s premýšľaním čo toto pole vyzerá,
alebo čo to vlastne údajov, ako to formátovanie
to je skvelá vec použiť.
Zvlášť, keď máte Užívateľ s viac akcií,
to bude niečo veľkého použiť.
Vzhľadom k tomu, že to môže byť formatted--
>> Viem, že aspoň pre mňa, keď som to urobil tento pset, formátovanie spôsobom
že som sa celkom očakávať.
Tak som sa snažil iterácii to a snaží sa s ním manipulovať,
ale ja som naozaj rozumieť tomu, čo som robil.
Takže ak ste práve skládka sa, že bude vytlačiť ju do prehliadača,
a vy môžete vidieť presne to, ako to naformátovať.
Je to typicky vytlačiť ako pole s tlačidlami a jej hodnôt.
Takže to môže pomôcť tam.
To môže tiež pomôcť, aby sa Uistite sa, že ste v skutočnosti
schmatol dáta si myslel, že si.
Takže ak ste boli ako, môjho stola rozhodne hovorí, že je užívateľ s týmto ID,
ale keď idete na výpis variabilné, nie je to tam,
budete zrejme viete, že je to kde chyba to bude.
To je jeden z najlepších nástrojov pre ladenie, podľa môjho názoru.
A potom je tu pár ďalších vecí tu,
ale pre najviac sa rozdeliť, to je jeden Chcem upozorniť na,
preto, že je veľmi užitočné.
>> Public, čo tu máme, je, to všetko je naša CSS veci.
Takže CSS, fonty, naše predstavy, ktovie čo ešte.
To je všetko veci, ktoré nemusíte meniť.
Môže si vy myslíte o to, či toto má veci, ako je CSS v písma,
by to byť model, alebo pohľad, alebo regulátor?
Divákov: [nepočuteľné]
ALLISON Buchholtz-AU: Bolo by to viac o pohľade, nie?
To je manipulácia všetko veci, ako veci vyzerajú.
Takže keď sme sa otvoriť to tu vidíme, že všetko, čo sa tu deje
sa budeme niečo vykresľovanie.
OK?
Tak to by moc kvalifikovať ako pohľad na to.
Takže je to len s niektorými, to volá nejaký portfolio.php
že máme, a to okolo v názve a portfólia.
A je to len tým, že toto.
Vlastne, beriem to späť.
To je radič, pretože činí, pamätajte, že poskytuje pohľad.
Takže v tomto portfolio.php prípade by váš názor.
Ospravedlňujeme sa, chlapci.
Portfolio.php bude Váš názor, to by aj len
byť váš regulátor pre to.
A ak sa pozrieme na to Posledný z nich tu, šablóny,
šablóny sú všetky vaše názory tu.
Takže ak sa pozrieme, samozrejme vidíme veľa HTML tu.
>> Tak toto sa len ukazuje, čo prihlasovacia stránka by mala vyzerať.
Všimnite si, máme nejaké skupiny tvoria, majú predložiť.
Tu je návod, ako sa rozhodnúť, čo Zobrazí sa tam.
Máte nejaký typ tlačidla = "submit", a potom ste to, čo budete chcieť
pre zobrazenie v tlačidle.
Tak to je, ako by to ukázať, ako, čo by ste chceli.
>> A vidíme, máme tu nejaké užívateľské meno, niektorí heslo
a keď sme vlastne hit Odoslať to bude nejaký príspevok,
a to bude, aby ste mohli písať k čomu?
Čo je ovládač pre tento názor?
Keď sme narazili Odoslať čo sa deje sa volá?
Vieme?
Je to tu, tak login.php.
Niečo, čo chlapci sú bude vykonávať.
>> Takže vždy môžete povedať, čo sa bude
volal po trafiť Odoslať v tomto prvom riadku tu.
Aké akcie forma je.
Po odoslaní tohto formulára, aké kroky máme vziať?
Hovoríme login.php, a my hovoriť s touto metódou
stĺpu, ktorý má skryté informácie.
OK?
Takže to je váš názor, a potom samozrejme keď sme išli do login.php-- máme ho
ešte?
Jo.
>> Takže, ako vidíme tu, toto má oveľa väčšiu logiku.
Je to naša PHP tu.
Snažíme sa zistiť, či je to $ _GET, keby to bolo $ _POST, overovanie veci,
dotazovanie, toto všetko.
Tak to sú len tri rôzne veci tu.
nemáte niečo zmeniť.
Budete vytvárať veci v šablóne, prípadne,
ale čo sa týka HTML alebo štýl podľa ktoréhokoľvek z toho ide,
môžete ponechať ako hladké alebo tak zložité, ako by ste chceli.
>> Niektorí ľudia sa naozaj do nej a aby niektoré docela úžasné stránky.
Nemusíš to robiť.
Ak budete mať čas, je to naozaj super vec.
Môžete flákať s CSS a HTML a získať oveľa lepší cit pre to,
ale necíti pod tlakom.
Je tu veľa pre vás urobiť na zadná časť s prevedením prihlásiť,
a registrovať, a všetky tieto veci.
>> Tak dúfajme, že to pomôže trochu.
Myslíte si, chlapci majú nejaké otázky o čokoľvek, čo sme prešli,
akékoľvek iné prostriedky?
Ja určite poslať všetky môj príklad PHP kód vami,
a potom neváhajte, aby sa obrázky alebo ktovie čo ešte z toho.
Tiež je to on-line.
Vždy sa môžete len pozerať znova.
Takže ak to je ono, všetci dobre?
Áno.
>> Divákov: Chcem len potvrdiť, keď sme
robí SELECT SQL, hviezda znamená všetko, že jo?
ALLISON Buchholtz-AU: Áno.
Divákov: A potom, ak nemáte hviezdu,
ak chcete, aby sa z konkrétnej riadok, potom stačí dať názov of--
ALLISON Buchholtz-AU: Názov riadku
a to, čo chcete, chcete hodnotu.
>> Divákov: A potom dátum.
ALLISON Buchholtz-AU: Čokoľvek hľadáte, jo.
Rovnako tak, ak si DELETE * FROM niektoré tabuľky, bude to vymazať všetko.
Takže, * je len divoká karta pre všetko.
>> Divákov: OK.
>> ALLISON Buchholtz-AU: cool.
Úžasné.
No, majú veľkú Pondelok, chlapci.
Uvidíme sa budúci týždeň.
Veľa šťastia na vašej pset.