[Přehrávání hudby] ALLISON Buchholtz-AU: V pořádku, všichni, vítejte zpět do kategorie. Doufám, že jste všichni měli skvělý Halloween víkend, nebo Halloweekend, jak jsem chtěl říct, všichni odpočatí a zpět. A naštěstí to není sněží už. Je to vlastně slunečno venku. Byl jsem vážně rád. Není připraven vytáhnout mé zimní boty. Doufejme, že pset6 šlo docela dobře. 

Pokud jste unaveni z C, jsem rád, říci, že jste udělal s C nyní. Plně jsme přešli do programování pro web, takže budete pracovat v HTML, PHP, možná trochu JavaScriptu. Já nevím, co příští týden pset je, takže nemůžu zaručit jaké jsou vaše další pset bude být, ale tento týden pset je CS50 Finance, což je v podstatě provádění druh webové stránky který vám umožní nakupovat a prodávat skladem, a sledovat z nich. A je to docela v pohodě, protože všechny to je dynamicky generované. Můžete mít různé uživatele, kteří Každý z nich má své vlastní informace, a budete mít provádění všech, že. To chvíli trvá. Rozhodně si myslím, je to jednodušší než C psets, ale trvá déle. Učíš se nový jazyk, PHP, který je velmi podobný C, ale samozřejmě bude vyžadovat můžete se podívat na syntaxi a pochopit, jak převést mezi jazyky. 

Ale já si nemyslím, že existuje něco, co Super koncepčně těžké o tomto pset. Je to jen učení nový jazyk a získat přes všechny tyto kousky. Pokud vy přečetly spec, je to docela dlouho. Myslím si, že tohle je jako 21 strany, pokud se nepletu. Je to dlouhý spec. Takže pokud jste nečetli to-- 22. 32. 

Wow. Takže jsem byl pryč tam 50%. Takže, 32 stran. Takže je to dlouho. Existuje mnoho kusů, ale žádný kusů by mělo být tak špatné. Je to prostě hodně. Takže rozhodně začít brzy pokud je to možné, podle obvyklé, ale myslím, že by měl cítit trochu hezčí než obzvláště psets jako obnovit a velikost, které jsou právě velmi těžké zabalit hlavu kolem. 

Takže s tím, jdeme do toho ponořit. Nemám váš program posuňte dnes, ale my jsme bude mluvit o PHP. Budu dávat tak nějak rychlokurz v některých věcech že možná budete chtít vědět o PHP. Různé syntaxe věci, co dávat pozor. Budeme mluvit něco málo o SQL. Jen velmi jednoduché věci tam, a pak také MVC je Model View Controller, který je, jak je váš pset nastaven, tak pochopení, jak to práce bude mimořádně užitečné. Dobrá. Tak PHP. Vy jste měli udělat něco velmi, velmi jednoduché s PHP, který je to dno věc tady, kde jste odeslali nějakou formu na začátek zde, že měl nějaké jméno, které vám vstup, a to bych rád ahoj, Ben, nebo ahoj, Allison, a to by se pop-up. Takže to je vlastně to, co ji Měl jsem vypadal jako z pset, V případě, že kluci chtěli vědět nebo ne zcela přijít. 

Ale máme tyto otazníky Zde ukazují, že to, že je PHP. Oni zabalit, a pak htmlspecialcharge, pamatujte, že je spravedlivý, ujistěte se, že jste v bezpečí z jakéhokoli bláznivého vnucení nebo když se někdo snaží dát šílené škodlivé znaky do pole Název vašeho, to není Líbí se mi váš server nebo kdoví co ještě. 

A pak, pokud jsme si všimli, tento HTML Formulář měl způsob $ _GET, který, Vzpomeneme-li naše superglobals z PHP, $ _GET, $ _POST, půjdeme do ty trochu. Ale my víme, že máme nějaké jméno tu, která odpovídá jménu že jsme předložili. Takže je to jen něco jako velmi jednoduchý PHP HTML spolupráce že vy jste měli od pset šest. 

Ale to není opravdu odpovědět na to, co je PHP. Je zřejmé, že je to jazyk, ale máme opravdu Mluvil o tom v této části, takže je tu trochu víc o tom, co PHP vlastně je. PHP, takže je jen PHP Hypertext Preprocessor. 

Je to vlastně považováno za programovací jazyk protože má logiku, zatímco v případě Pamatujeme si, mluvíme o HTML, říkáme, že značkovací jazyk proti programovací jazyk, protože HTML je přísně úpravě, jak věci vypadají na stránce. Je to jen úpravou zda je něco tučně, nebo zda je to forma, prvek, nebo něco takového. To nemá logiku. Nemá smyčky nebo podmínky. Nemůžete chyba zkontrolovat věci. Byste zobrazit buď věci určitým způsobem, nebo požádat o věci od uživatele. To je všechno. 

Tak s PHP, ale ve skutečnosti to, aby nás dělat všechny tyto logické věci, jako ověření vstupu, nebo manipulovat s ním nějakým způsobem. Můžeme kombinovat s HTML, jak jsme právě viděl v poslední pset a právě teď, a to nám umožňuje vytvořit Tyto dynamické webové stránky. Takže pokud vy ever-- nemám, pokud vím, jsi jako já, ale na střední škole oni nám tento IT třídy, ve kterých Vytvořili jsme jen HTML stránky, a byly statické a klepněte na tlačítko kolem na jiné věci, ale nikdy nezměnil. 

S ty dynamické, co se dá udělat, je, jako u CS50 financí, budete mít různé uživatele. V závislosti na těchto uživatelů " preference, a to, co kupují nebo to, co prodávají jejich zásob, budete k zobrazení různé věci. Takže pokud tam je nějaký identifikační charakteristika pro váš uživatelský pomocí tohoto webové stránky, můžeme dynamicky rozhodnout, co se zobrazí pro ně. Není to totéž pro každý osoba, které, pokud jsme právě měli HTML, stránka by byl stejný pro každý člověk, který navštívil. PHP nám umožňuje přizpůsobíte stránky. 

A pak můžeme buď dát do stejný soubor, který, stejně jako v případě než tady, jsme viděli, že máme HTML všichni zde a pak tu máme trochu PHP. Můžeme to udělat takhle, nebo CS50 financí, jestli vy jste se podíval na files-- a my bychom měli mít čas krokovat pár z nich společně na konci section-- my můžete vidět, jak je to možné vlastně uchovejte je odděleně, což je vlastně lepší věc. 

So. Crash course. Všechny rychlé jednoduché věci co byste mohli potřebovat vědět o PHP. Deklarování proměnných. To modré je trochu nepříjemné, ale doufejme, že vy můžete vidět. Pokud ne, budu psát na křídu palubě. Deklarování proměnné. Jedna věc je vědět, je to, že na rozdíl od C, PHP je volně nebo dynamicky napsaný, což znamená, že nemusíte řekněte proměnnou, jaký typ to je. Stačí si jen jednoduše říci některé proměnné je rovna co chcete, aby se, a rozhodne o typ že proměnná v době běhu pro vás. 

Jak uvidíte, že toto může způsobit některé velmi zajímavé věci. Ale pro většinu účelů, je nemusí určit typ. Můžete, a můžete zadat obsazení věci, jako obvykle neuvidí, pokud chcete, aby nutí to být určitý typ, ale nemusíte. To nebude křičet na vás pokud jste právě deklarovat proměnnou a neurčíte typ na to. 

Takže v případě, že nemůžete přečíst tohle-- Vím, že to není nejlepší. Myslel jsem, že by se ukázal better-- způsob, jak inicializovat proměnné je jen s znak dolaru, co Chcete, aby byl nazýván, a pak to, co jste přiřazení. Takže v tomto případě, je to nějaký $ var = 3. Pokud tedy vůbec používat $ var někde to bude jen stejné jako uvedení 3 tam. OK? 

Takže, všechny proměnné, jen znak dolaru, bez ohledu na Chcete-li volat svou proměnnou, a co chcete, aby se rovné. Malý chladič. Méně psát pro inicializaci proměnná, ne? Znamená to, že smysl pro každého? Jen rychlá syntax rozdíl mezi C a PHP. 

Pole jsou mnohem chladnější v PHP. Můžeme jim dát klíče. Takže způsob, jak přemýšlet o tom, je, že pokud se někdy chtěl přístup prvek v matici, jsme potřebovali vědět index z toho, že jo? Takže víme, že s C, my může získat přístup k první prvek tím, že dělá pole držák nula, nebo pokud my Chcete-první prvek, pole držák jedna. A pokud bychom chtěli něco tam můžeme jen musí iterovat, pokud jsme vlastně věděli index. 

Jedna věc, která je opravdu v pohodě s PHP pole je to, že to, co nazýváme asociativní. Takže můžeme přiřadit nějaký klíč k nějaké hodnotě, a my jsme vlastně děje to-- já vám ukážu, jak můžeme použít ve vteřině. Ale v podstatě, pokud jste někdy chtěli k inicializaci pole takového, máte nějaké $ pole. 

Takže stejně, je to jen některé proměnné, které budeme vytvářet. To by se dalo nazvat co jste chtěli. To by mohlo být například $. Jen další proměnné. Co je to pole je držák syntax, kterou tu máme. Stejně jako normální C a my mít nějaký klíč k nějaké hodnotě. Takže key1 jde value1, key2 dva jde hodnota2. Tyto dvojice jsou odděleny čárka, stejně jako normální pole. 

Nicméně. Velký. Klávesy jsou nepovinné. Nemusíte je používat. A pokud ne, pak je to prostě normální. Otázka? Nebo, oh. 

Publikum: No, asi pravdu. Tam, kde přichází vzpomínka z? Může to také být stejná jako [Neslyšitelné] a ze zásobníku? Je to také pomocí PHP? Stejně jako když jsme je spojuje? 

ALLISON Buchholtz-AU: S PHP, Nemáme tendenci se starat o tom, kde naše Paměť je pochází. Nechceme trávit hodně čas mluvit o tom, takže to není opravdu nic musíte bát. Takže klíče jsou nepovinné. Stejně tak, pokud nemáte chtějí, aby to související, chcete jen normální pole tam, kde je pole nula je první prvek a pole z nich je druhý prvek, můžete to udělat přesně to, jak byste v C. máte nějaké proměnná, která to bude vaše pole, a tady se rovná tyto konzole. Ano. 

Diváků: Má to Totéž přejděte na zápisu. Jako, můžu dělat jako pole ++, a ukazuje na druhé. 

ALLISON Buchholtz-AU: Můžete do-- No, můžete mít nějaké iterátor, i, že si můžete dělat i ++ a to pole i stejným způsobem. Ale to je vše. Tak, jako v tomto případě, Pole 1 by se rovnal 20. Stejný druh indexování notace. To je v podstatě jen implicitní věc tady, kde se říká, nula, nula až 10, na 1 až 20, 2 až 30. Je to jen implicitní klíče pro něj. Jaké změny s PHP že nyní mají moc přiřadit tyto klíče dělat, co budete chtít. 

Takže jedna věc je tady. Tak jsem si jen několik příkladů zde, že jsem sepsal pro vás protože mám pocit, že příklady vždy pomoci více než jen abstraktně. Takže v tomto případě zde máme nějaké asociativní pole to je moje křestní jméno, moje příjmení, a já jsem ozvěnou, což je jen pro všechny účely zde jít vytisknout na výstupu zde. 

A říká, OK. Vytiskněte si hodnotu, která odpovídá poli na klíče Allison. A mohu vám také posílat lidi vše tento kód po třídě. Takže, když jsme se spustit to, co dělat si myslíte, že se bude dít? Co se děje vytisknout? Diváků: Vaše příjmení. ALLISON Buchholtz-AU: Moje příjmení. To dělá. Tady. Vytiskněte. Takže pokud bychom měli změnit a my přidali někoho jiného, ​​aby naše list-- Takže řekněme, že máme Emma zde a spojujeme své poslední name-- Pojďme se podívat, jestli jsem kouzlo tohoto práva. 

Diváků: Jo. 

ALLISON Buchholtz-AU: Ano. 

Diváků: Dobrá práce. 

ALLISON Buchholtz-AU: Lovely. Takže teď když máme tohle a Chtěli jsme najít své příjmení, to máte tam. Takže si můžete jen myslet na to, jak nahradit tento klíč zde. Jste právě výměnou index. Tak to umožňuje jen hledat přes pole mnohem jednodušší. Nemusíte znát index. Tak dlouho, jak tento klíč, který se díváte pro existuje někde v poli, PHP najdete ji a vrátí se hodnoty s ním spojené. Tak to vám dává mnohem víc moc se svými poli. Ano. 

Diváků: Máte-li dvě klávesy stejný, bude vám chybu? ALLISON Buchholtz-AU: Je to by vám měl poskytnout chybu, jo. Dělá to trochu větší smysl pro vás? A stejným způsobem, máme pole zde, že nemá žádné klíče. Také tento je syntaxe že budete chtít být vědomi, protože budete musí použít v pset. 

Kdykoli děláte echo, máte tyto citace, a vždy, když máte na mysli na část pole, musíte mít tyto Složené závorky kolem nich. Je to trochu nepříjemné, ale stačí to udělat. Takže jen něco mít na paměti. Pokud používáte na chyby, Vím, že to existuje v mém poli ale je to házení chyby na mě, pokuste rovnátka kolem něj a mělo by to fungovat. 

Takže v tomto případě zde se jedná o normální C pole, které jsme zvyklí. Má tři, pět a šest, a my jsme chcete vytisknout první prvek, takže by to mělo vytisknout tři. A já jsem spustit všechny tyto, tak doufám, že se nic nezměnilo. Vidíme na dně tady, to prostě vytiskne tři. V pohodě. Že smysl pro každého? Asociativní pole. Mnohem chladnější než normální pole. 

To je why-- Věděli David ukáže, implementace PHP pset6 Během přednášky vůbec? OK. Takže, ukážu vám. Nevím ho t-- 

Diváků: Udělal minulý týden. 

ALLISON Buchholtz-AU: Bylo to minulý týden? 

Diváků: Jo. 

ALLISON Buchholtz-AU: Jo. Takže pravopisu může být provedeno jako šest linek s PHP, a část síly, která je to asociativní pole, kde stačí nahrát každé slovo, a máte je rovna true nebo false. A tak si můžete říct, oh. Návrat slovník na nějaké slovo, a jestli je to tam, vrátí true. V opačném případě, nebude to najít to a bude to return false. Tak trochu chladné maličkost. 

Dobrá. To jsou asociativní pole. Jsou to docela v pohodě. Moc se mi líbí je. A samozřejmě tohle-- Ah. OK. Nyní to funguje. Možná. OK. Další věc. Takže, s rovností, jen super věc je mít na paměti. S PHP, protože to je dynamicky napsaný, typ může měnit v závislosti na tom, kdy můžete jej spustit, jak se vám to běží. Vlastně jsem trochu v pohodě příklady, které jsem vám ukážu, kluci. 

Ale == jen kontroluje rovnost po typu žonglování. Takže pokud máte něco, co je jako znak 1 a číslo 1, PHP by se říct, že ty jsou stejné, protože to Můžete žonglovat typy Dva z nich, dokud je to stejné, který možná ve vašem případě je v pořádku. 

Pokud potřebujete zjistit, zda jsou stejný druh hodnoty a stejný typ, Chcete tuto ===. A nemyslím si, že máte některý případ, kdy je nutné použít, aby v pset, ale pro mnoho vy, kdo bude pokračovat dělat webové stránky pro vaše závěrečných prací a věcí, je to dobré vědět, že == a === jsou různé, a je to dobrý rozdíl pochopit. 

OK. So. Foreach smyčky. Oni jsou způsob, jak iterovat pole. Takže, stejně jako pole se stal tolik chladnější v PHP, vaše cesta k iteraci přes pole, myslím, se také stává mnohem chladnější a mnohem silnější. Takže místo toho, aby musel vytvořit něco pro i = 0, a bez ohledu, a aktualizovat, aby i jako projít, máme tuto strašlivou smyčky foreach. 

Tak tady je norma obecné Struktura těchto dvou. Takže buď máte foreach nějaké pole jako hodnotu, kterou chcete opakovat, jak. Tak to je název pole proměnné, které chcete odkazovat, a to je to, co chcete to nazvat v rámci smyčky. OK? Takže to odpovídá každý prvek pole, a tuto hodnotu použít v rámci této smyčky. 

Mám příklad. Vím, že příklady jsou mnohem lepší. A tak je v případě, že jsou žádné klíče, takže je to jako pokud budeme jen mít jeden, kde klíče jsou normální indexy pro vaše pole. Nebo je to i v případě, je-li nemáte využití pro klíče. Pokud nezajímá klíče a právě Chcete iterovat s hodnotami pro každý z nich v libovolném pořadí, to je v pořádku. 

Můžete použít strukturu. V opačném případě, pokud jsou klíče, naše $ Value jen změní na $ klíčovou hodnotu. Tak to prostě změní na páru klíčů hodnoty. A pak se můžeme odkazovat na $ key a $ value v rámci našeho cyklu. OK? So. Příklad. Ať je to hezčí. OK. 

Takže máme tenhle tu, které máme některé are-- Můžete také vytvořit pole, jako je tento tím, že některé proměnné rovná do pole s závorkách, nebo můžete prostě držák. Byste měli udělat, držák, ale je to další způsob, jak to udělat. Takže tady máme nějaké pole tří prvky Jedna, dva, tři, a máme foreach. 

Všimněte si, tohle odpovídá pole, které jsme v průběhu iterace, a to je to, co jsme volání každá věc v našem poli. A to vše dělá, je, že je to bude tisknout každou hodnotu. Takže pokud bychom jej spustit, všimli jsme si, že my mají jednu hodnotu, hodnotu dva, tři hodnoty. 

A stejným způsobem, který obvykle pole musí být jednoho typu, pole nemusí všechny být stejného typu zde. Takže teď máme nějaké int. Máme dva řetězce. Takže vaše pole může dostat mnohem silnější a možná i trochu bit Messier, v závislosti na cestě Chcete-li se na to podívat. Takže můžeme to změnit na co chceme. Používáme hodnotu. To je jen standardní věc, kterou použít. Ale stejně důležité vědět, že můžeme nazývají jako čítač, pokud jsme chtěli. A pokud se shodují se, samozřejmě všichni jsou šťastní. Pokud jste někdy chtěli spustit PHP spustit něco takového příkazu linka víte tady, prostě PHP, a poté, co soubor, který chcete spustit. 

Takže pokud chcete, aby nepořádek kolem s PHP a další logiky a nemáte opravdu potřebujete vidět jako ve webovém prohlížeči, stačí spustit v příkazového řádku takhle a echo vytiskne se, co se vám líbí. OK. Druhý způsob, který máme, je takhle. Tak to je případ, kdy možná budete chtít použít jak klíč a hodnotu, Vím, že se jedná o podobné Super spiklenecká příklady ale doufám, že dělají to trochu jasnější. Takže tady máme nějaké pole znovu, ale tentokrát, místo toho jen s víte, že to není klíč. Máme klíče pro každou z nich. Takže se to bude jedno, bude b odpovídat na dva, bude a c odpovídat na tři. A v tomto případě, pokud jsme to takhle napsat, máme přístup k oběma klíč a hodnotu pro každou z nich. 

Takže když jsme se spustit to, dostaneme každý z nich. Tak to vytiskne naše klíče a odpovídající hodnoty. Další super věc je, že i já vím, řekl, jako je tento, neměl klíče, ale vždy implicitně má klíč, protože pokud nemáte delegovat klíč, samozřejmě, vaše Tlačítka jsou jen vaše indexy nebo indexy, takže jsme mohli Vždy si také udělat tenhle. Takhle. Budu vytisknout. Takže v tomto případě, pokud si všimnete, máme implicitní klíče nula, jedna a dvě zde. 

A stejným způsobem s tímhle, můžete vždy jen říct, r jako hodnota, a stačí mít přístup k hodnotě. Nemusíte starat o vaše klíče, i když vaše má klíče, pokud nechcete starat o je, nemusíte nutně je třeba, aby je ve vašem smyčky foreach. Má to smysl pro každého? 

Diváků: stačí volejte klíče, taky? ALLISON Buchholtz-AU: Jo vás by zcela udělat taky. Vlastně, počkejte. Vydrž. by to-- Ne Chcete-li klíč, pak co musíte udělat, klíč na hodnotu. Diváků: Přidat hodnotu. ALLISON Buchholtz-AU: Jo. A vy prostě nikdy použít hodnota je všechno. 

Diváků: OK. ALLISON Buchholtz-AU: Pokud se vám stačí dát jednu věc tam, to bude předpokládat, že jste mluví o hodnotě, ne klíčové. Velká otázka. Dobrá. V pohodě. Vlastně, vydrž. Ukažte mi, co mám. Takže předtím, než se dostaneme do pošty a získat, jsem jen chci vám ukázat kluci trochu o tom, jak je to dynamicky napsaný, což je docela fajn. Mám všechny tyto. Mám jako čtyři příklady tady, a já Vám zašleme všechny tento kód po třídě. 

Takže tady máme nějaké proměnná. Je to jen 1 plus 1, ne? A budeme tisknout, co to je rovná, a pak máme nějaký druh. A někdo nějaké odhady o tom, jaký to bude? 

Diváků: int. 

ALLISON Buchholtz-AU: Jo, je to int. Tak to jen přidává k sobě. Je to int. Všechny dobré. Takže to příští, máme co vypadají jako struny. Když jsme se spustit tento, si myslí, že, oh. Jste skutečně snaží jen přidat věci. Právě jsi dostal zmatený. Tak jsem jen tak opravit to pro vás. Znamenalo, že jste int. Vím, že jste měl na mysli int. 

Takže to je jeden ze způsobů, jak můžete vidět, PHP má svůj vlastní rozum. I když výslovně uvedl, vzhled, tyto z nich jsou řetězce. Mám na mysli řetězec jeden. Ale říká, oh, ale snažíte se je doplnit, takže je nutné říct, že je to celé číslo. Věř mi o tom. Tak to říká, že je celé číslo, a dodává je jako normální. Tak trochu vychladnout, pokud se chystáte se líní se svými věcmi, nebo chcete-li něco přidat. 

Skvělá věc je, že pokud si myslíte, že zpět do pset2, něco, co bylo uživateli zadaná, právo, že si myslíme, že je znak nebo řetězec na prvním místě. Teď už nemusíme explicitně říkají, oh, aby to int. PHP bude jen rád, ach jo. Vím, že jste měl na mysli int. Silly vám. Jste na mysli řetězec. 

Takže v tomto případě, nyní že máme to, co si vy myslíte, že to bude dělat? Máme řetězec a int nyní. 

Diváků: Je to stále int. 

ALLISON Buchholtz-AU: Pořád je to int. A důvod, proč je-- bych dal více příkladů, ale tahle je legrace. Důvod, proč to dělá proto, že je to jako se snažíte přidat věci. Takže pokud se snažíte přidat věci, budu předpokládat, rozumně, máte něco rozumné, aby si mohl přidat. Já jen tak, aby to int, a jsme jen tak přidat, jako obvykle. A pak stejným způsobem, jsem myslíte, že vy dostanete nápad. Máme také tento jeden zde, což je jen zuhelnatí, a to dělá to samé. Je to jako, ty hloupá uživatele. víte, že chcete int. 

Diváků: Když dáme dopis, bude to dělat [neslyšitelné] hodnotu, nebo ne? ALLISON Buchholtz-AU: Oh, To je dobrá otázka. Pojďme se podívat. Ne, stále je int. Takže je to trochu blázen. To je jen tak, aby zobrazoval PHP mohou někdy chovat irrational-- Ne naprosto iracionální, ale může chovat způsoby, které nemáte opravdu očekávat. Takže, když si nejste jisti, zkontrolujte, zda druhy věcí. Tato funkce GetType může být super užitečné. 

Obvykle, pokud děláte něco s kladů nebo jakékoliv matematické operátory, to bude předpokládat nic rozumné je jen int. Takže, máte char 1 nebo řetězec 1, nebo skutečné int 1, to bude předpokládat, že. Chcete-li obsadit něco, jste naprosto možné. Dalo by se udělat něco jako zdvojnásobit tady, věřím. A v tomto případě to bude říkat, oh. Udělám to, protože double výslovně řekl, že je to dvojnásobek. Můžete vždy explicitně aby PHP něco udělat, ale. 

Publikum: Počkej, proč je tam plus 1? 

ALLISON Buchholtz-AU: Oh. Tam. Byl to jen ozvěna. To byla moje chyba. Takže můžete explicitně říct, že se dělat něco určitého typu, ale většinu času, že to bude dynamicky rozhodnout, že za běhu. Takže to bude dál přes a to bude jako, OK. Co dělá největší smysl, aby to bylo? Mělo by to být ve skutečnosti řetězec? By mělo být int? Mělo by to být plovák? Mělo by to být dvojitý? A to se rozhodnou, že pro vás. 

Můžete ji přinutit k tomu to, co chcete, ale- 

Diváků: Znamená to, že aby to pomalejší? ALLISON Buchholtz-AU: No, Myslím, že C je velmi efektivní. Myslím si, že je to určitě pomalejší, protože to má do procesu, jak se to děje. C, jsem si téměř jistý, je rychlejší. Ale samozřejmě je tu Spousta skvělých věcí zde že nemusíme dělat starosti. Takže, pokud jsme vyhledávání přes pole, jsme Nemusíte vlastně vytvořit Některé vyhledávače přes pole. Můžeme se jen zeptat na klíč a PHP se bude starat o to. 

V pohodě. Úžasné. Vypadá to, že ke konci mých příkladů. Vy jste nikdy zapomínat, že teď. Budeš vypadat, oh, PHP je jen jako ta maminka, která to jako ne, ne, ne. Vím, co máte na mysli. Já vím, co chceš. OK. Tak tohle je snad užitečné pro vaše pset, alespoň v počátku, protože jste všichni o jednání s formami a věcmi od uživatele. 

Takže existují dva způsoby, které jsme projít kolem informací s PHP a HTML když jsme kolem mezi těmito dvěma věcmi. Takže máme $ _GET, který je veden přes URL, a máme $ _POST, která se přenáší ve zprávě tělo, a proto považujeme za skrytý. Ale jedna věc je pochopit, že ani jeden z nich jsou považovány za bezpečné. 

Pokud máte někoho, kdo je zachycení zprávy jdou tam a zpět mezi vámi a Server, oni mohou ještě dostat tato data. Oni prostě musí vypadat trochu těžší. Je to opravdu that-- je to jen skrytý od adresy URL. Je to stále v těle zprávy, i když, takže pokud mají přístup k že, je to opravdu jen like-- 

Je to jako rozdíl mezi něčím se píše na vnější straně obálka a něco bytost napsané na kusu papíru uvnitř. Není to tak těžké otevřít obálku a získat kus papíru uvnitř. Je pravda, že to by bylo mnohem jednodušší, stačí si přečíst venku. Ale to je, jak můžete druh, že z nich. Ani jeden z nich jsou skutečně považovány za bezpečné. OK? 

Je pravda, že není opravdu jedno pro pset proto, že jste co do činění se obchodního tajemství, ale je to obvykle jeden věc, která opravdu chtěl zdůraznit, protože lidé myslíte, oh, no, to je skrytý. Musí to být super bezpečná. Ne. Není to bezpečné. Je to jen mírně méně nejisté, myslím. Nebo nezabezpečené. 

Takže ve skutečnosti máme příklad. Jak víte, mám rád naučit více s příklady. Mám pocit, že to pomůže lépe. Takže máme nějaký jednoduchý formulář zde které ve skutečnosti, jestliže vy jste někdy zmatená o PHP, to je opravdu malý, php.net ale je ve skutečnosti opravdu dobrá dokumentace. Moc se mi to líbí. Byl jsem pomocí to se připravit na to část, takže mohu veterinář je pro vás. 

To je příklad z nich o tom, jak _POST $ _GET a $ práci. Jediný rozdíl mezi dvěma z nich, kromě toho, že má informace Zobrazí se, ať už je to v URL nebo v těle, je také co je metoda. Takže ve formuláři pro HTML-- této je velmi jednoduchý HTML formulář. Může mi někdo říct, co to dělá? Diváků: Zeptejte se na své jméno a věk. ALLISON Buchholtz-AU: Přesně tak. Takže máme nějakou formu akce. To nám umožňuje vědět, že je to nějaký akt formu. A co se bude dít je, že když jsme narazili Odeslat to bude volat action.php, což je to, co je to, a to bude říkat s metodou $ _POST. Takže v tomto případě, váš Informace je skrytý. a je to jen Vaše jméno, někteří input type tzv název, některé věk, input type = "text", že jsme také volat věku. A pak, pokud jsme narazili Odeslat Odeslat zavolá action.php. 

Takže když jsme vlastně hit Odeslat jsme vím, že to byl vyslán, sama o sobě, a my budeme vlastně vidět ve vašem problém nastavit, aby Doufejme, že dostat se projít trochu. A vše, co dělá je zde POST je nějaká superglobal variabilní že jsme o tom mluvili v průběhu přednášky. A jak si můžete myslet _POST $ je že je to jen asociativní pole. OK? Tak to je nějaký klíč, to je nějaký klíč, a bez ohledu na vstup uživatele stává hodnota pro každý z nich. OK? 

Takže pokud bychom měli napsat, co to pole ve skutečnosti vypadal jako pravé straně poté, co jsme předložil vyplněný formulář, budeme mají, to je náš $ _POST, a některé pole, kde máme nějaké jméno. Řekněme, že budeme dělat moje jméno, a pak máme nějaké věku 21. Woo. Tak to je vše _POST $ je. $ _POST je jen asociativní pole, OK? 

Je to jen říká, OK. Jaké jsou věci, které jsme požádal od uživatele? Jaké jsou proměnné že jsme kolem kolem že jsme požádali o v této podobě? A pak to, co je hodnoty spojené s tím? Takže v tomto případě, když jsem postoupila se jménem Ally a 21 let, To je to, co $ _POST vypadá. OK? A to je to, co toto PHP soubor má přístup. V pořádku? 

Takže v tomto případě, je to jen jako dostat jinou věc z našeho pole. Místo toho, aby index v našem pole, máme nějaké klíč. Tak tohle se bude dát me hodnota na název klíče. Takže to bude Ally, a Toto právo je zde chystá dát mi hodnota v $ _POST, kde Klíčem k úspěchu je věk, který bude 21. Budeš mít dělá tuto docela dost. Jo, z které části? 

Diváků: Když jsi byl ukázal na spodní části. ALLISON Buchholtz-AU: Tato spodní část? OK. Takže chápete, to je náš HTML tvořit, a máme nějaké metoda $ _POST, které záleží. To by mohlo být také $ _GET, ale pro tento účel, jsme jen chtěl říct, že je to $ _POST. Když jsme odeslání formuláře, je to část souboru PHP, který je tzv. Takže to PHP soubor je nyní chystá spustit s ohledem na informace z naší HTML forma. 

Takže, co to dělá, je, když se hit Odeslat na naší formě HTML, je to kolem vás tento superglobal, což je jen asociativní pole. To je to. Je to jen jako mimochodem, že do souboru. A to, co říká, je OK, tady je $ _POST. Je to vaše asociativní pole. Dělejte si s ním, co chcete. A říkáme, OK. Dej mi hodnoty na jméno, a dej mi hodnota na věku. 

Tak to jsou jen klíče, a to je naše pole. Má to smysl? 

Diváků: mhmm. ALLISON Buchholtz-AU: Úžasné. Diváků: Máte-li znovu forma to stačí napsat nad daty? ALLISON Buchholtz-AU: Jo. Mhmm? 

Diváků: Proč máte určit, že je to int? 

ALLISON Buchholtz-AU: V tomto případě, Uživatel je jen nutí to být int. 

Diváků: OK. ALLISON Buchholtz-AU: Nevím pokud byste skutečně potřebují, aby ale pro své účely, ale rozhodl že chtějí, aby to bylo int. Jenom typecasting to. Možná, že ji používáte jako něco později. To je jen jeden fragment. Ano? 

Diváků: Co když zadali 12, T-W-E-L-V-E, pro věk? ALLISON Buchholtz-AU: V případě, že se snažil psát, že jako int? Diváků: Jo. ALLISON Buchholtz-AU: I zapomenout na to, co to dělá. Myslím, že by se mohli pokusit převést první znak na int, nebo mít hodnotu a převod to, ale zapomněl jsem, co přesně to. Být zábavné, co psát programu a vyzkoušet. Udělejte pár řádků. OK, takže toto je jedním z hlavních věci, které budete dělat. Budu snad chodit prostřednictvím několika souborů od pset s vámi. Vypadá to, že budeme mít čas, tak to můžeme udělat. 

Ale ty budeš dělá spoustu věcí, takhle, kam absolvování věci z HTML formuláře do této PHP formuláře, který pak bude vykonávat nějakou sadu instrukcí Na základě údajů, které byly poskytnuty. To je doslova podstata vašeho pset. Jo. 

Diváků: type = "submit", že je tlačítko na formuláři HTML. Existuje způsob, jak volat toto tlačítko se něco? Takže byste se jako name = "submit"? Nebo je to tlačítko jen bude vyprázdnit právě teď, protože jenom dal to typ, ne jméno. 

ALLISON Buchholtz-AU: Myslím, že je to jen bude teď prázdná. Můžeme se určitě podívat pset, protože jsme určitě při pohledu na zaregistrujte se takové věci. Ale jo, můžete určitě specifikovat text, který chcete mít v tlačítku. OK, tak SQL. 

Když jste nákup a prodej akcií, musíte sledovat ty. Způsob, jakým budeme k tomu, že je s SQL, který je právě databáze. Ber to jako tabulku, kde je budete držet všechny tyto informace o vašich různých uživatelů. A vy jste ve skutečnosti chystáme vytvořit jednu z nich. Je to docela v pohodě. 

A tam jsou jen čtyři hlavní věci, že, co potřebujete vědět o této pset, a jsou aktualizace, takže si v podstatě aktualizovat data. To předpokládá, že už je tam. Pokud tam není, to se děje se trefil s chybou, takže možná budete chtít zkontrolovat. A budete aktualizovat on-- I by actually- budu mít čas, Napíšu pár z nich. Já vlastně vám kluci Pár vzorku plné příkazy SQL, protože to jsou jen hlavní ty, ale můžete spojit dohromady. Tak to udělám a pošlu že se na vás s těmito poznámkami. 

Takže pokud chcete aktualizovat něco, je třeba říct, že to, co jste aktualizaci a kam ho aktualizovat. Takže typický příkaz SQL by aktualizace ID kde něco se rovná něco. Nebo jako aktualizace adresa kde ID je rovno 3, a to by se aktualizovat pole adresy svého uživatele, který má ID tři. OK? 

Takže pokud jdete do SQL a W3Schools, mají úžasné příklady. Ve skutečnosti, já bych mohl vytáhnout některé až v trochu. A poté vložte do, jste jen vložení určité hodnoty tam. Takže pokud se snažíte vytvořit nějaké nové vstup, takže si vytváříte nového uživatele byste mohli udělat vložku do bez ohledu na vaše databáze se nazývá, a budete mít všechny tyto hodnoty. 

Pak budete muset vybrat, vyberte hodnotu pro zobrazení. Takže pokud se snažíte zkontrolovat, zda uživatel existuje, nebo jste se snaží chytit specifické Informace o uživateli budete používat select. A odstranit je, myslím, tam je docela jednoduché. Jste právě odstranění něco z tabulky. A ve skutečnosti, dovolte mi, abych skutečně vytáhnout až několik příkladů pro vás. A hele, je to moje 61 str. 

Takže když jsme šli do W3Schools, Doufejme, že to znovu. Ano, miluji je. Jdeme do SQL. Takže, to je něco, co tady. Takže, je to velmi jednoduchý SELECT. Člověče, mám rád tuto funkci. Takže můžete mít SELECT některá pole od zákazníků. V tomto případě, se vztahuje k zákazníkům On-line databáze, kterou používáte, Takže bez ohledu na váš stůl se jmenuje, a hvězda prostě znamená, vybrat všechno. Dej mi každý. 

Takže, já jen chci, aby vám kluci pár příkladů, kde to je. Takže máme SELECT, UPDATE. Takže tady je trochu obecné syntaxi. Takže aktualizace, bez ohledu na své název tabulka je, a pak nastavte je místo, kde jste vlastně děje být, jaké údaje jste mění. Takže by to mohlo be-- Let mi, abych příklad zde. Takže to bude be-- 

OK. Tak jsem vytvořil malou databázi pro nás. Budeme mít nějaký průkaz, nějaký rok, a některé jmenoval. Takže číslo jedna bude rok '15, a my jen tak, aby se to mě. Kdo chce být druhý osoba v naší tabulce? Kdokoliv. Já jsem prostě jít volit Emma proto, že vaše jméno je rychlá. Emma, ​​co rok jste? 

Diváků: Jaký rok? 

ALLISON Buchholtz-AU: Jo. 

Diváků: 16. ALLISON Buchholtz-AU: 16. Jste jen bude moje morče pro dnešek. OK, takže máme tyto dva lidi. Ve skutečnosti, dovolte mi, abych to udělat. Řekněme, slyšel jsem ji špatně, a já vlastně řekl, že je o rok mladší. Je '17. To, co chceme dělat tady, když jsme chtěl aktualizovat Emma rok za správné používat to, co jsme si dělat, je, že bych řekl, že aktualizace dat sem. 

A to vše může být na jednom řádku, ale protože jsem komprimovány pro prostor zde, Chystám se napsat zde. A chceme nastavit. Tak tohle je tabulka jsme aktualizaci. SET bude to, co sloupec nebo jaké údaje jsou vlastně mění. To, co měníme je rok, tak budeme říkat SET rok = 16, a pak WHERE nám říká, které uživatel nebo co řádek jsme vlastně aktualizaci to. 

Tak kde? Máme tu dvě možnosti. Jaké jsou dva? Jedná se o unikátní, že jo? Takže naše jména jsou jedinečné a naše ID je jedinečný, takže to, co jsou dvě možnosti pro, kde bychom to mohli udělat? Dám vám jeden. Mohli bychom WHERE ID = 2, nebo bychom mohli dělat to, co pokud budeme mimo toto paradigma zde. 

Diváků: [neslyšitelné]. ALLISON Buchholtz-AU: Přesně tak. Takže jsme mohli také udělat name = Emma. A jeden z nich bude fungovat. A běželi jsme to, bylo by to jako, OK. Budeme ji změnit. Jsi opravdu 16, tak teď jsi zase v pořádku. OK, tak by to bylo Super užitečné pro pset kde snad někdo rozhodl, koupit 100 akcií Apple, a pak byli jako, jen si dělám srandu. Chci jen 90 akcí. A tak se prodávají 10 z nich, takže si je třeba aktualizovat množství zásob že mají. Takže aktualizace zásob, aktualizace tabulky. 

OK. Takže to je jeden příklad zde. To je syntaxe aktualizace. DELETE. Oh. Vložit do je náš druhý. Tak, tento zde je velmi podobná. Mohli bychom říci, v tomto Případ pojďme někoho přidat. Můžeme přidat Benovi tentokrát. Nemáme INSERT INTO, a my Chcete-název naší tabulky. V tomto případě je to dat. 

A pak jsme se jen chcete, budete říkají HODNOTY, a to, co budete dělat je, ve skutečnosti třeba se ujistit, že máte něco pro každý řádek který chcete. Stačí jen dát do pořádku. Takže v tomto případě bychom řekli, 3. Jste 18, pravý Bene? 

Diváků: 19. ALLISON Buchholtz-AU: 19? Diváků: 19. ALLISON Buchholtz-AU: Váš rok '19? Můžete absolvovat v '18, ne? Diváků: Oh. ALLISON Buchholtz-AU: Maturitní ročník. Diváků: OK. ALLISON Buchholtz-AU: Byl jsem rád, jsi již plánují vzít rok volna tady? Tak, '18, máme Bena. Takže v tomto případě by to projít, by to vytvořit nový záznam zde. V pohodě. Není to tak zlé, ne? Hodně z toho bude je syntaxe pro vás. Koncepce by měla přijít, doufejme, že poměrně snadno. Syntaxe je jediná věc, to může být trochu složitější. 

A pak naše poslední z nich je DELETE, a jak zjistíte, Velmi doporučuji tento web. Je to skvělé. Je tu tuny věcí. Takže v stejným způsobem, že jsme měli některé UPDATE, DELETE je velmi podobný. Místo toho jsme Odstranit z dat. Takže v tomto případě, naše poslední jeden napíšu sem. Řekněme, že mě chtěl odstranit. Nemůžu psát dnes. DELETE od toho, co Tabulka jsme v, dat. A tam jsou vlastně tři způsoby jsme si mohli vybrat, aby mě odstranit. 

Může mi kluci říct, co tři způsoby jsou, jak byste mi mohl smazat? ID = 1, kde ID = 1. Mohli bychom, kde rok se rovná 15, nebo tam, kde název odpovídá Allison. Samozřejmě, tam jsou jen tři různé způsoby, protože tyto jsou jedinečné. Typicky v tabulce, a to zejména v pset, budete nastavit jednu z Tyto sloupce, že je jedinečný. 

Je to asi bude nějaký jedinečný identifikátor, číslo, protože pokud have-- skutečnosti, ale ve skutečnosti může vám dát dva. Nemůžu si vzpomenout, jestli to dám máte dvě stejné věci. 

Diváků: pak by to změnit své chování. 

ALLISON Buchholtz-AU: Bylo by to. Bude to způsobit chování, které je nečekané, že nemůžete opravdu předvídat. Takže budete určitě mít jeden sloupec v databázi, která bude jedinečný, a to obvykle můžete nastavit to tak, že je to jako unikátní ID, a to bude jen aktualizovat každý vložení do tabulky. Pokaždé, když vytvoříte nový řádek, bude to automaticky zvýšit a dát mu nějaký jedinečný identifikátor. Takže nápověda pro pset. OK. Tak to je SQL. 

Takže teď budeme mluvit o úplně poslední věc, která navazuje na vlastně docela dobře s vaším pset, pokud by to jít kupředu. Takže MVC, pohledu modelu regulátoru. To je opravdu jen způsob, jak udržet věci organizované. Stejným způsobem se C Žádáme vás, kluci k vytvoření funkce a samostatné věci out, je to jen způsob, jak oddělit Kód když děláte vývoj webových aplikací. 

Tak to dělá věci mnohem více elegantní a zjednodušený, a to je vlastně způsob že pset je vlastně nastavit, tak ať se vám to líbí nebo ne, budete se to naučit, i když si nemyslím, že že jej máte na učení. A jedna věc je, že to také umožňuje udělat mnohem více, jako spolupráce uživatelů. 

Takže když jsem se CS50, já jsem Internetové stránky pro můj poslední projekt, a byl jsem rád, budu zvládnout databáze věci. Udělám back end věci, a my spolubydlící, který jsem bral s sebou byl velmi diletantský. Dělá scénografii, a ona chtěl, aby to všechno pěkně. Takže jsem rád, OK. Můžete si vzít péči o všechny přední část věci. 

A problém je v tom, jak uvidíme velmi brzy, že pohled modelu regulátor vám umožní zcela oddělit tento kód tak, že jsem mohl pracovat na realizaci našich stránek, a manipulace informací v našich databázích, a ona mohla jen dělat věci pěkný, a oba jsme byli opravdu šťastní, proto, že jsme se dostali k tomu, co jsme oba chtěli a my nemusel vypořádat s druhou. 

Tak jsme visel ven společně. Rádi bychom vyrazit. Jen jsem nechtěl řešit všechny CSS a HTML věci. Byl jsem rád, uděláte to pěkně. Budu jednat s databází. Takže máme to opravdu cool, velký malý stolek. Miluji tabulky. A v podstatě, model můžete přemýšlet o tom, je jen vaše databáze. 

Byl jsem model osoba pro můj projekt. Je to všechno o skladování Informace a organizování těchto dat. Takže to je to, co jsme chtěli zavolat konec. Takže vy se bude zabývat SQL databáze a datové soubory. To je váš model. 

Váš názor, jak by se mohlo myslíte, druh dává smysl, je to, co si uživatel skutečně vidí. To je uživatelské rozhraní. Je to tak čelem komponent. Takže to je to, co moje spolubydlící se pustili do práce po celou dobu. Byla mimořádně šťastná. Tak to je všechno HTML, a je tu velmi málo PHP. 

Pokud jste si povídali o to, co je zobrazeno na uživatele, mluvíme o hypertextu. Bavíme se o tom, jak to vypadá. Nemluvíme o logice, nebo podmínky, nebo kdoví co ještě. Všechny, který se ovládal regulátorem, OK? Tak, že zpracovává požadavky uživatelů a dostává informace. 

Takže jedna věc, kterou byste měli vědět o Váš pset je to, že ve vašich názorů, něco, co je ve skutečnosti zobrazení informace nesmí být nikdy dělat žádá, aby do svého modelu. To vše je nakládáno v regulátoru. Váš regulátor je ten zprostředkování mezi těmito dvěma. Zeptá se model za určitých informací. Je možné iteraci, že informace, zjistit, to, co skutečně potřebujete od to, co dělat s tím, a pak to přejde na jen informace, které jste třeba do pohledu pro vás vytisknout , nebo zobrazit uživateli, OK? 

Protože vidíme pohled jako vše, co je s výhledem na uživatele, tak to bude mnohem jednodušší k tomu, aby zjistili, oh, pokud děláte některé volání modelu a vy se ptáte pro všechny uživatele kteří začínají písmenem A, a děláte, že podle vašeho názoru, každý, kdo může vidět vaše webové stránky by mohly získat přístup, že. 

Nemusíte nutně chtít, že. Nechcete, aby lidé viděli, více do databáze, než jaké by měly být vidět. Jen jejich specifické preference. Takže regulátor zvládá všechno. Takže všechny vaše .php soubory, které uvidíme můžete zvážit soubory regulátoru. A to je místo, kde jste opravdu bude žádat o věci z databáze, a iterace nebo manipulaci za nezbytné před předáním na který chcete zobrazit. 

Je to opravdu cool pset, podle mého názoru. Myslím, že je to trochu víc jako okamžité uspokojení, protože se rozhodnete spousta malých drobných věcí, a každá věc, kterou by měl fungovat sám o sobě. Ne jako, dělat vše, co a pak uvidíme, jestli to funguje. Stejně jako u softwaru kde jsi rád, že jsem Opravdu doufal, že je to pravdu, protože pokud tomu tak není, existuje spousta místa to by mohlo být špatně. 

Dobrá. Jen ujistěte se, že jsem řekl: všechno, co jsem potřeboval říct o MVC. Jo. V pohodě. 

Takže CS50 financí, máme náš model, jak jsem právě řekl, tady. Je to bude MySQL a phpMyAdmin. Určitě mohu vytáhnout ty tak, vy dostanete možnost podívat se na to. Jak už jsem řekl dříve, vaše IT SQL Databáze slouží jako modelu, a můžete poslat to, co nazýváme dotazy, které jsou právě tyto druhy věcí. Jedná se o tzv dotaz. To je dotaz, kde jste právě žádá databáze na něco, nebo jste změnou svého Databáze nějakým způsobem. To je vše, co je. A vy, že se Funkce Dali jsme vám zde. 

Můžete také manipulovat je ručně přes phpMyAdmin který rozhodně můžeme se podívat na. Budu vytvořit vzorek databáze s vámi. OK. Takže regulátor. Takže v tomto případě, pokud oznámení, je to všechno PHP. Všimněte si, že je to druh vašich Hlavní věc, na ovladači je to, že by mělo být většinou PHP. Máte-li HTML v regulátoru, není opravdu jistý, co se tam děje. Stejně tak, jak jsem řekl, pokud máte podaří [neslyšitelné] s HTML, Jsem opravdu zájem. 

Takže to, co tu máme je máte nějaký dotaz. Dotaz je funkce, která postavili jsme pro vás. Je to jako obal, aby dotazy do databáze o něco jednodušší. Pokud jste neměli to, že syntaxe vlastně mluvit s SQL databázi by byl jiný, a tak jsme jen dodat to pro vás. Rádi bychom, aby se život snadný. 

Takže v tomto případě, může vy řekni mi, co tento řádek je dělá? SELECT * z nějaké tabulky. DIVÁKŮ: Vyberte vše z této tabulky. ALLISON Buchholtz-AU: Přesně tak. Tak to říká, dej mi vše z této tabulky. A to uložením do některé proměnné výsledku. A to říká, pokud výsledek není rovno na hodnotu false, pak děláme každý to. Takže v případě, že zde není nic, Pokud je váš Tabulka je prázdná, nebo to prostě neexistuje, bude to return false. Takže v tomto případě, budeme jen dělat Ujistěte se, že něco, co je ve skutečnosti se k nám vrátil. 

A pak tady máme náš velký foreach smyčky že jsme iterace přes naše výsledek, a my volat je řádek, a říkáme, činí tuto šablonu kde jsou vaše data je tento výsledek. OK? Takže je to jen zpracování řádek výsledku. V opačném případě, to křičí. Takže, toto je příklad regulátoru. Jak vidíte, je to place-- pouze Jo, sorry? 

Diváků: Proč je tam ampersand před sebou? 

ALLISON Buchholtz-AU: Ampersand před sebou. Jsme jen iterace. To je také adresa of-- 

Diváků: Takže je to jako C odkazování. 

ALLISON Buchholtz-AU: Je to ujistěte se, že jste ve skutečnosti modifikaci originální a ne kopie. Je to stejným způsobem s C, kde jsme kolem odkazu zde, jen aby se ujistil. 

Diváků: Není to == místo není = v PHP? 

ALLISON Buchholtz-AU: To není ==. 

Diváků: Vzhledem k tomu, rovná se v C je jen-- 

ALLISON Buchholtz-AU: To prostě není =. Jo, no. Není to ==. Vzhledem k tomu, == v PHP kontroluje rovnost se Přepínání, udělil, ale zvýšení kvality. Takže to není == v PHP. Je to jeden z málo syntaktické rozdíly. Jo. Takže jsme jen iterace přes každý řádek, a činí, pokud vámi číst prostřednictvím spec, je prostě jiná funkce, která je vlastně bude zpracovávat veškeré HTML a zobrazit je ve vašem webový prohlížeč pro vás. 

OK. Takže jsme rádi, že z vašich regulátorů jako to, co se stará o logiku. Jak vidíte zde, toto je místo, kde jsme přičemž naše data z tabulky, zpracováváme ji nějakým způsobem, a pak jsme kolem ho. Když jsme si poskytnout nějakou šablonu, některé šablona je náš pohled, a my jsme ji kolem pouze data, která by měla dostat. Ne všechny údaje. Jen údaje, které chceme získat. OK? V podstatě se data po zpracování. 

Tak tohle je pohled, je to součet šablony, že máme, a to vše dělá, je, můžete mít trochu PHP ve vašem pohledu. Není to jako ne PHP v zobrazení. Měli byste prostě velmi minimální PHP v pohledu, a nikdy byste neměli být dotazování podle vašeho názoru. Nikdy byste neměli mluvit do databáze ve vašem pohledu. To je velký rozdíl. 

Takže to, co se tady děje, je, máme PHP, který je iterace řádku. Takže v tomto případě, protože jsme byli iterace každém řádku a vykreslování něco, to bylo asi jako dvourozměrné pole kde máme nějaký řádek, který je, samo o sobě, pole, proto, že jsme iterace přes to znovu. A my jsme jen tisk název řádek, pak to skončí. 

Neměli byste potřebovat v foreach. Nikdy jsem neviděl, že před samotným. Dělám foreach. OK, tak to je názor. Uvidíme, jestli se nám podaří projít trochu svého pset. Máme 15 minut, takže jsem si jistý, kluci bych, že víc, než jen končit brzy. Podívám se, jestli můžu přinést toto nahoru. 

Takže nevím, kolik z vás stáhli ji a ještě kdoví co ještě, ale máme uživatelské jméno zde, a máme nějaké heslo. A bohužel, pravdu Nyní je databáze prázdná, tak jsme skutečně potřebují vytvořit databázi. No, to je divné. Nečekal, že. Technické chyby. Technické obtíže. Máme nějaké pset7. V pohodě. 

Takže jedna věc, kterou můžete udělat, je, s query-- Budu vytvořit tabulku. Takže to bude users-- co můžete udělat je, máme-li some-- Opravdu teď? OK. Samozřejmě nedělám tak horké. Oh. Já vím proč. Protože jsem nikdy nevytvořil moje aktuální tabulky. Takže při prvním spuštění se databáze, budete zřejmě muset rozhodnout, jaké jsou věci, které jsem třeba mít tady? 

Takže pokud jsme prostě jít pryč naše data tabulky zde, jsme měli nějaký průkaz, který stačí zůstat int. A podíváme-li se sem, je tu super věc that-- So indexu. Pokud tak učiníte primární, bude to dělat to věc, která váš stůl je organizována, a to bude také dělat to jedinečný. Takže v tomto případě, budeme dělat to primární, a já budu dělat tento název, pak budeme jen dělat to varchar jako se 26 písmen, protože proč ne? 

A pak můžete jít zachránit, a pak když vidíte, máme několik uživatelů zde. Takže pokud bychom chtěli dělat vložit, mohli bychom to udělat tímto způsobem, nebo pokud byste chtěli praxi s queries-- Ach jo. Osobně jsem nepoužil to věčnost. Beru to zpátky. 

Zde můžete editovat na vlastní pěst a to buď jen ručně vložením informací s něčím takovým, vás Můžete změnit některé z těchto pokud byste chtěli make-- Pokud chcete Najednou se zbavit jména, můžete přetáhnout, můžete dělat všechny ty věci. Potřebujete-li někdy ručně změnit váš stůl, Navrhuji tom, že v phpMyAdmin proti pokusu přijít na to SQL dotazy obecně. Při prvním spuštění pset, budete muset pracovat tady, tak se na to zvyklý. A pak, když ve skutečnosti chcete vložit věci do vašeho table-- Opravdu jsem věděl, kde to je, protože there's-- Tady to je. To je to, co jsem chtěl. Takže pokud jdete do SQL, mohl byste skutečně vidět, jak vidíme zde, máme SQL dotazů. 

Takže pokud bychom chtěli vybrat něco nebo pokud bychom chtěli vložit něco, můžeme udělat vložku do uživatele, že jo? Myslím, že budete potřebovat zpětné lomítko. Jedna věc je vědět, je-li jste někdy používat to, budete muset použít tyto zpět apostrofy, které jsou typicky, pokud jste na Mac, přímo nad kartě. Tak dobrá věc vědět. 

Dalo by se vložit do uživatelů, a máme naše hodnoty, je to tak? Takže máme hodnoty a naše hodnoty by v tomto případě být jen, máme jen ID, takže jsme mohl udělat jeden, pokud jsme chtěli. To je divné. OK. Tak to je stejně jako krátké maličkost s SQL, ale to by mohlo být užitečné, aby skutečně podívejte se na některé soubory zde. 

Takže v sekci Ke stažení. Oh, ne ke stažení. Takže, jen rychlý návod na to, co je v každé z těchto složek. To zahrnuje, budeme muset něco že nastavit prohlížeč tak, máme tyto konstanty, a máme tyto funkce. Máte-li zájem o některý z nich, Doporučuji při pohledu na funkce. Jeden z nich, že je super užitečné, ve skutečnosti je to jeden tady, dump. 

Takže pokud máte použít, to bude vlastně jen vytisknout bez ohledu na proměnné že se vám líbí na. Takže pokud máte potíže s přemýšlením co toto pole vypadá, nebo co to vlastně údajů, jak to formátování to je skvělá věc použít. Zvlášť, když máte Uživatel s více akcií, to bude něco velkého použít. Vzhledem k tomu, že to může být formatted-- 

Vím, že alespoň pro mě, když jsem to udělal tento pset, formátování způsobem že jsem se docela očekávat. Tak jsem se snažil iteraci to a snaží se s ním manipulovat, ale já jsem opravdu rozumět tomu, co jsem dělal. Takže pokud jste právě skládka je, že bude vytisknout ji do prohlížeče, a vy můžete vidět přesně to, jak to naformátovat. Je to typicky vytisknout jako pole s tlačítky a jejích hodnot. Takže to může pomoci tam. To může také pomoci, aby se Ujistěte se, že jste ve skutečnosti popadl data si myslel, že jsi. Takže pokud jste byli jako, mého stolu rozhodně říká, že je uživatel s tímto ID, ale když jdete na výpis variabilní, není to tam, budete zřejmě víte, že je to kde chyba to bude. To je jeden z nejlepších nástrojů pro ladění, podle mého názoru. A pak je tu pár dalších věcí tady, ale pro nejvíce se rozdělit, to je jeden Chci upozornit na, proto, že je velmi užitečné. 

Public, co zde máme, je, to vše je naše CSS věci. Takže CSS, fonty, naše představy, kdoví co ještě. To je všechno věci, které nemusíte měnit. Může si vy myslíte o to, zda toto má věci, jako je CSS v písma, by to být model, nebo pohled, nebo regulátor? Diváků: [neslyšitelné] ALLISON Buchholtz-AU: Bylo by to více o pohledu, ne? To je manipulace vše věci, jak věci vypadají. Takže když jsme se otevřít to tady vidíme, že vše, co se tady děje se budeme něco vykreslování. OK? Tak to by moc kvalifikovat jako pohled na to. Takže je to jen s některými, to volá nějaký portfolio.php že máme, a to kolem v názvu a portfolia. A je to jen tím, že toto. Vlastně, beru to zpátky. To je řadič, protože činí, pamatujte, že poskytuje pohled. Takže v tomto portfolio.php případě by váš názor. Omlouváme se, kluci. Portfolio.php bude Váš názor, to by i jen být váš regulátor pro to. A pokud se podíváme na to Poslední z nich tady, šablony, šablony jsou všechny vaše názory zde. Takže pokud se podíváme, samozřejmě vidíme spoustu HTML zde. 

Tak tohle se jen ukazuje, co přihlašovací stránka by měla vypadat. Všimněte si, máme nějaké skupiny tvoří, mají předložit. Zde je návod, jak se rozhodnout, co Zobrazí se tam. Máte nějaký typ tlačítka = "submit", a pak jste to, co budete chtít pro zobrazení v tlačítku. Tak to je, jak by to ukázat, jak, co byste chtěli. 

A vidíme, máme tady nějaké uživatelské jméno, někteří heslo a když jsme vlastně hit Odeslat to bude nějaký příspěvek, a to bude, abyste mohl psát k čemu? Co je ovladač pro tento názor? Když jsme narazili Odeslat co se děje se jmenuje? Víme? Je to tady, tak login.php. Něco, co kluci jsou bude provádět. 

Takže vždy můžete říci, co se bude volal po trefit Odeslat v tomto prvním řádku zde. Jaké akce forma je. Po odeslání tohoto formuláře, jaké kroky máme vzít? Říkáme login.php, a my říkat s touto metodou sloupu, který má skryté informace. OK? Takže to je váš názor, a pak samozřejmě když jsme šli do login.php-- máme ho ještě? Jo. 

Takže, jak vidíme zde, toto má mnohem větší logiku. Je to naše PHP zde. Snažíme se zjistit, jestli je to $ _GET, kdyby to bylo $ _POST, ověřování věci, dotazování, tohle všechno. Tak to jsou jen tři různé věci zde. nemáte něco změnit. Budete vytvářet věci v šabloně, případně, ale co se týče HTML nebo styl podle kteréhokoliv z toho jde, můžete ponechat jako hladké nebo tak složité, jak byste chtěli. 

Někteří lidé se opravdu do ní a aby některé docela úžasné stránky. Nemusíš to dělat. Pokud budete mít čas, je to opravdu super věc. Můžete flákat s CSS a HTML a získat mnohem lepší cit pro to, ale necítí pod tlakem. Je tu spousta pro vás udělat na zadní část s provedením přihlásit, a registrovat, a všechny tyto věci. 

Tak doufejme, že to pomůže trochu. Myslíte si, kluci mají nějaké otázky o cokoliv, co jsme přešli, jakékoli jiné prostředky? Já určitě poslat všechny můj příklad PHP kód vámi, a pak neváhejte, aby se obrázky nebo kdoví co ještě z toho. Také je to on-line. Vždy se můžete jen dívat znovu. Takže pokud to je ono, všichni dobře? Ano. 

Diváků: Chci jen potvrdit, když jsme dělá SELECT SQL, hvězda znamená všechno, že jo? ALLISON Buchholtz-AU: Ano. Diváků: A pak, pokud nemáte hvězdu, pokud chcete, aby se z konkrétní řádek, pak stačí dát název of-- ALLISON Buchholtz-AU: Název řádku a to, co chcete, chcete hodnotu. 

Diváků: A pak datum. ALLISON Buchholtz-AU: Cokoliv hledáte, jo. Stejně tak, pokud si DELETE * FROM některé tabulky, bude to vymazat všechno. Takže, * je jen divoká karta pro všechno. 

Diváků: OK. 

ALLISON Buchholtz-AU: cool. Úžasné. No, mají velkou Pondělí, kluci. Uvidíme se příští týden. Hodně štěstí na vaší pset.