[Glazbom] ALLISON BUCHHOLTZ-AU: U redu, svima, dobrodošli natrag u odjeljku. Nadam se da ste svi imali super Halloween vikend ili Halloweekend, kao što sam želio reći, sve odmorni i oporavila. I srećom, ne pada snijeg više. To je zapravo sunčano vani. Bio sam sretan zbog toga. Nije spreman povući iz svoje zimske čizme. Nadam se, pset6 otišao prilično dobro. Ako ste umorni od C, ja sam sretna reći da ste učinili s C za sada. Mi smo u potpunosti su preneseni u web programiranje, tako da ćete raditi u HTML, PHP, možda malo JavaScripta. Ne znam što je sljedeći tjedan a pset je, pa ne mogu jamčiti ono što vaš sljedeći pset će biti, ali ovotjedni pset je CS50 financija, koje je u osnovi provedbi vrsta web stranice koji vam omogućuje da kupnju i prodaju zaliha, i pratiti ih. I to je prilično cool, jer sve to je dinamički generiran. Možete imati različite korisnike koji svaki ima svoje podatke, a ti ćeš biti provedbu sve to. To traje neko vrijeme. Ja definitivno mislim da je to jednostavnije od C psets, ali to traje duže. Vi učite novi jezik, PHP, što je vrlo slično C, ali naravno će zahtijevati da gledate sintaksu i razumjeti kako to pretvoriti između jezika. Ali ja ne mislim da postoji nešto super konceptualno teško o ovom pset. To je samo učenje novi jezik i dobivanje kroz sve te komadiće. Ako ste vi pročitali spec, to je prilično dugo. Mislim da je ovo jedan je kao 21 Stranice, ako sam dobro sjećam. To je dugo spec. Dakle, ako niste pročitali it-- 22. 32. Wow. Tako sam bio off za 50% tamo. Dakle, 32 stranice. Dakle, to je dugo. Postoji puno komada, ali nitko od komada trebalo biti tako loše. To je samo puno. Dakle, svakako bi počeli rano ako je moguće, kao i obično, ali mislim da bi trebao osjećati malo ljepše nego osobito kao psets oporaviti i veličinu da su samo vrlo teško završiti svoju glavu okolo. Dakle s tim, idemo roniti u. Nemam svoj program slide danas, ali smo će biti razgovor o PHP. Ja ću biti dajući vam vrste ubrzani tečaj o nekim stvarima da možda želite znati o PHP. Različite stvari sintakse, stvari koje treba paziti. Idemo se govori malo o SQL. Samo vrlo jednostavne stvari tamo, a onda i MVC Model View Controller je, što kako vaš pset je postavljen, tako razumijevanje kako da Radovi će biti super korisna. U redu. Tako PHP. Vi bi trebali učiniti nešto vrlo, vrlo jednostavan s PHP, što je ovo dno stvar ovdje, gdje ste podnijeli neki oblik na Ovdje vrh koji je imao neko ime koje vam ulaz, a to će reći kao pozdravi, Ben, ili Pozdrav, Allison, i to će poskočiti. Dakle, to je zapravo ono što ga Trebao sam izgledala kao iz svog pset, U slučaju da ti dečki htjeli znati ili nije dosta to shvatiti. No, imamo ove upitnike da se ovdje pokazuju da je to PHP. Oni ga zamotajte, a zatim htmlspecialcharge, zapamtite, samo je, pobrinite se da ste na sigurnom iz bilo ludo ubrizgavanja napada ili ako netko pokuša staviti ludi zlonamjerni likovi u svoje ime polje, to ne vole svoj server ili sitnica. A onda, ako smo primjetiti, ovaj HTML Oblik imao metodu _GET $, koji, Ako se prisjetimo naših superglobals od PHP, $ _GET, _POST $, ćemo se događa u one u malo. Ali mi znamo da imamo neki naziv ovdje odgovara ime koje smo podnijeli. Dakle, to je samo vrsta kao Vrlo jednostavan PHP HTML suradnja da ti dečki imali od pset šest. Ali to ne stvarno odgovoriti na ono što je PHP. Očito je to jezik, ali imamo stvarno ne razgovarali o tome u ovom poglavlju, tako da je malo više o tome što je zapravo PHP. Dakle, PHP je samo PHP hipertekst preprocesor. To je zapravo smatra programski jezik jer ima logike, a ako Sjećamo se govori o HTML-u, smo pozvani da se jezik za označavanje odnosu programski jezik, jer HTML strogo modificiranje kako stvari izgledaju na stranici. To je samo modificiranje je li nešto je hrabar, ili da li je to oblik, Element, ili nešto slično. On nema nikakvu logiku. To nema petlje ni uvjete. Ne možete pogrešaka provjerite stvari. Ti bi bilo prikazati stvari na određeni način ili pitati za stvari od korisnika. To je to. Tako je s PHP, to zapravo ne dopušta nam učiniti sve ove više logičkih stvari, kao što je potvrditi unos ili manipulirati ga na neki način. Možemo ga kombinirati s HTML, kao što smo upravo Vidio je u svom posljednjem pset i upravo sada, i to nam omogućuje da stvorite ove dinamičke web stranice. Dakle, ako ti dečki ever-- ja ne znam je li bili ste poput mene, ali u srednjoj školi su nam se ovaj informatički tečaj gdje stvorili smo samo HTML web stranice, i oni su bili statični i kliknite na oko na druge stvari, ali oni nikada nisu promijenili. S dinamičnim one, što možemo to je, kao i kod CS50 financija, ti ćeš imati različite korisnike. Ovisno o tim korisnicima ' preferencije, a što oni kupuju ili ono što oni prodaju za svoje dionice, idete prikazati različite stvari. Dakle, ako postoji neki identificiranje karakteristika za vaš korisnički koristeći ovaj web stranica, možemo dinamički odlučiti što biste prikazali za njih. To nije ista stvar za svakog pojedinog Osoba, koja, ako smo upravo imali HTML, Stranica će biti isti za svaka osoba koja je posjetio. PHP nam omogućuje prilagodbu stranice. I onda mi ili ih staviti u Isto datoteku, koja, kao u slučaju Prije nego ovdje, vidjeli smo da mi smo svi ovdje HTML a onda imamo ovo malo PHP. Mi možemo učiniti kao što je to, ili CS50 financija, ako su ti dečki pogledao files-- i mi trebali imati vremena korak kroz nekoliko njih zajedno na kraju section-- mi Možete vidjeti kako možete zapravo držite ih odvojeno, što je zapravo bolja stvar za napraviti. So. Crash tečaj. Sve brze i jednostavne stvari možda ćete morati znati za PHP. Proglašavanje varijabli. To plavo je malo neugodno, ali nadamo se da dečki mogu vidjeti. Ako ne, ja ću ga napisati na ploči kredom. Deklaranta varijable. Jedna stvar koju treba znati je da, za razliku od C, PHP labavo ili dinamički se upisali, što znači da ne trebate reci varijablu što tip je to. Vi samo možete jednostavno reći neke promjenjive jednaka je god to želite, i to će odlučiti o vrsti da je varijabla u vrijeme izvođenja za vas. Kao što ćete vidjeti, to može stvoriti neke vrlo zanimljive stvari. No, za većinu svrhe, ne moraju navesti vrstu. Možete i vi možete upisati baci stvari poput tebe normalno neće vidjeti ako želite prisiliti ga da se određeni tip, ali ne morate. To neće vikati na vas Ako ste upravo proglasiti varijablu i ne odredite tip za to. Dakle, u slučaju da ne možete pročitati this-- Znam da nije najbolji. Mislio sam da će se pojaviti better-- Način na koji inicijalizirati varijablu bilo je samo s znak za dolar, što je želite da se zove, a onda ono što ga dodjeljuje. Dakle, u ovom slučaju, to je nekih $ var = 3. Dakle, ako smo ikada koristiti $ var Samo negdje, to će biti isti kao i stavljanje 3 tamo. OK? Dakle, bilo koja varijabla, samo Dolar je znak, bez obzira na želite nazvati svoju varijablu, i što god vi to želite jednaki. Malo hladnije. Manje pisati za inicijalizacije varijabla, zar ne? Je li to smisla svima? Samo brza sintakse razlika između C i PHP. Nizovi su puno hladnije u PHP-u. Mi im mogu dati ključeve. Dakle, način razmišljanja o je da, ako smo ikada htio pristupiti elementa u nizu, smo trebali znati Indeks njega, zar ne? Dakle, mi znamo da je s C, mi moglo pristupiti prvi element obavljajući array nosač nula, ili ako mi Želite prvi element, niz zagrada jedan. A ako smo htjeli nešto tamo, mi možda jednostavno moraju ponoviti kroz, osim mi zapravo znali indeksa. Jedna stvar koja stvarno cool s PHP polja je da su oni ono što zovemo asocijativni. Tako možemo povezati neki ključ za neke vrijednosti, a mi zapravo događa to-- ću vam pokazati Kako možemo iskoristiti to u sekundi. Ali u osnovi, ako ste ikada željeli inicijalizirati niz kao što je to, imate neke $ niz. Dakle, na isti način, to je samo neka varijabla koja mi stvaramo. To bi se moglo nazvati što god je htio. Ovo bi mogla biti $ primjer. Samo još jedna varijabla. Ono što ga čini niz je Nosač sintaksa da imamo ovdje. Baš kao normalan C, a mi imaju neki ključ za neke vrijednosti. Dakle key1 ide na vrijednost.1, key2 dva ide na VALUE2. Ovi parovi su razdvojene zarez, baš kao normalne polja. Međutim. Big jedan. Tipke su opcija. Vi ne morate ih koristiti. A ako ne, onda je to samo normalno. Pitanje? Ili, oh. PUBLIKA: Pa, o pravu. Gdje memorije dolaze iz? Može li to biti ista kao i [Nečujan] i iz dimnjaka? Je li to također koristeći PHP? Kao i kad smo ih povezuje? ALLISON BUCHHOLTZ-AU: Uz PHP, mi ne teže brinuti o tome gdje su naši Memorija dolazi iz. Mi ne potrošiti puno Vrijeme govori o tome, pa to nije stvarno ništa trebate brinuti. Dakle, tipke su opcija. Na isti način, ako ne Želite da bi se ova povezana, samo želite normalan niz gdje Niz nula je prvi element a niz je jedan drugi Element, možete to učiniti upravo kao što bi u C. Imate neki varijabla koja će biti vaše polje, a jednak ove zagrade ovdje. Da. PUBLIKA: Da li ima Ista stvar se zapis. Kao, ja mogu učiniti kao niz ++, i da ukazuje na drugi. ALLISON BUCHHOLTZ-AU: Možete do-- Pa, možete imati neki iteratora, ja, što ja mogu učiniti ++ i napraviti niz od i na isti način. Ali, to je to. Dakle, kao što je u ovom slučaju, Niz 1 će iznositi 20. Ista vrsta indeksnih zapis. To je u osnovi samo implicitno stvar Ovdje, gdje se kaže nula, nula do 10, do 1 do 20, s 2 do 30. To je samo implicitno tipke za to. Ono što se mijenja s PHP je da sada imaju moć preraspodijeliti te ključeve učiniti što god želite. Dakle, jedna stvar je ovdje. Dakle, imam samo neke primjere ovdje sam napisao za vas dečki jer se osjećam kao primjere i uvijek pomoći više nego samo sažetak. Dakle, u ovom slučaju ovdje, mi imaju neki asocijativni niz to je moje ime, moje prezime, i ja sam odjek, što je samo za sve svrhe ovdje će se ispisati na izlaz ovdje. I to kaže, u redu. Ispisati vrijednost koju odgovara na niz ključnih Allison. I ja mogu vam poslati dečki sve to kod nakon klasa. Dakle, kad smo pokrenuti to, što učiniti mislite da će se dogoditi? Što će se ispisati? PUBLIKA: Vaše prezime. ALLISON BUCHHOLTZ-AU: Moje prezime. To čini. Upravo ovdje. Ispisati. Dakle, ako smo bili da se to promijeni, a mi bile dodati nekoga na naš list-- Tako recimo imamo Emma ovdje i mi povezati svoj posljednji name-- Idemo vidjeti ako sam spell to pravo. PUBLIKA: Da. ALLISON BUCHHOLTZ-AU: Da. PUBLIKA: Dobar posao. ALLISON BUCHHOLTZ-AU: lijep. Pa sad, ako imamo ovo ovdje i smo željeli pronaći svoje prezime, imate ga tamo. Dakle, možete samo misliti na njega kao zamjena ovu tipku ovdje. Ti si samo zamjenom indeksa. Dakle, to vam omogućuje da samo traži kroz niz mnogo lakše. Ne morate znati indeksa. Dokle god ovaj ključ koju ste tražili za postoji negdje u polju, PHP, naći će ga i ona će se vratiti vrijednost koja je povezana s njom. Dakle, to vam daje mnogo više snage sa svojim polja. Da. PUBLIKA: Ako imate dvije tipke Isto, da će vam dati pogrešku? ALLISON BUCHHOLTZ-AU: Ona treba vam dati pogrešku, da. Znači li to da bi malo više smisla za vas momci? A na isti način, imamo niz ovdje nema ključeve. Također ovo je sintaksa da možda želite biti svjesni, jer ćete moraju koristiti ovo u svoj pset. Kad god radite jeka, imate ove citati, i kad god ste odnosi na dio niza, morate imati ove kovrčava aparatić oko njih. To je vrsta neugodno, ali samo trebate to učiniti. Dakle, samo nešto imati na umu. Ako radite u pogrešno, Znam da je ovo postoji u mom nizu ali to je bacanje pogreške u mene, pokušati staviti aparatić oko nje i to bi trebalo raditi. Dakle, u ovom slučaju ovdje, ovo je normalno C niz koji smo navikli. Ima tri, pet i šest, a mi samo želite ispisati prvi element, pa to bi trebalo ispisati tri. A ja nisam pokrenuti sve to, pa nadamo se ništa promijenilo. Vidimo se na dnu ovdje to samo ispisuje tri. Cool. To smisla za sve? Asocijativnih polja. Mnogo hladnije od normalnih polja. To je why-- li David vam pokazati Provedba PHP od pset6 Tijekom predavanja uopće? U redu. Dakle, ja ću vam pokazati. Ja to ne znam off t-- PUBLIKA: On je to učinio prošli tjedan. ALLISON BUCHHOLTZ-AU: Je li to prošli tjedan? PUBLIKA: Da. ALLISON BUCHHOLTZ-AU: Da. Tako bukvar može učiniti u ovakvim šest linija s PHP, i dio snage da to asocijativni niz, gdje možete samo učitati svaku riječ u, a vi ga jednako istinito ili lažno. I tako možete reći, oh. Povratak rječnika u nekom riječi, a ako je tu, ona će se vratiti istina. Inače, to neće naći je, a to će se vratiti false. Dakle vrsta hladnom sitnicu. U redu. Dakle, to su asocijativne nizove. Oni su prilično cool. Stvarno im se sviđa. A očito this-- Ah. U redu. Sada to radi. Možda. U redu. Još jedna stvar. Dakle, jednakost, samo super stvar koju treba imati na umu. Uz PHP, jer je to dinamički upisali, Tip može promijeniti ovisno o tome kada možete ga pokrenuti, kako ste ga prikazuju. Ja zapravo imaju neki kul primjeri koje ću vam pokazati dečki. Ali == samo provjerava jednakost nakon tipa žongliranja. Dakle, ako imate nešto što je kao lik 1 i broj 1, PHP će vam reći da oni su jednaki, jer to može manipulirati vrste Njih dvojica dok je jednaka, koji je možda za vaš slučaj je u redu. Ako vam je potrebna kako bi se vidjelo jesu li Ista vrsta vrijednosti i isti tip, želiš ovaj ===. I ne mislim da imate bilo Slučaj u kojem trebate koristiti da u svom pset, ali za puno ti koji će ići na to web-stranica za svoje završne projekte i stvari, to je dobro je znati da == i === su različiti, i to je dobro Razlika razumjeti. U redu. So. Foreach petlje. Oni su način da se ponoviti kroz niz. Dakle, baš kao nizovi postala toliko hladnije u PHP, Vaš način ponoviti kroz niz, mislim, Također postaje puno hladnije i još mnogo snažnije. Dakle, umjesto da stvaraju neki za I. jednak 0 i bilo, a zatim ažurirati kako ja kao i ti ići kroz, imamo ovaj strašan foreach petlju. Dakle, ovdje je standardni opći Struktura ove dvije. Dakle, ili imaju neki niz foreach kao vrijednost koju želite ponoviti kako je. Dakle, ovo je naziv niza varijabla koja želite referenca, i to je ono što želite kako ga zovu u petlji. OK? Dakle, to odgovara svaki element polja, a vi koristite tu vrijednost unutar ove petlje. Imam primjer. Znam primjeri su toliko bolje. I tako je to, ako postoje nema tipke, pa to je kao Ako imamo samo jednu gdje ključeve su normalni indeksi za vaše ponude. Ili je to iu slučaju ako nemate iskoristiti za ključeve. Ako ne stalo ključevi i ti samo želim ponoviti kroz s vrijednostima za svaku od njih bez obzira kako, to je u redu. Možete koristiti strukturu. U protivnom, ako postoje ključevi, naš $ Vrijednost samo mijenja se $ ključne vrijednosti. Pa to samo mijenja u ključnom vrijednosti par. A onda možemo odnositi na $ Ključ i $ vrijednost unutar našeg petlje. OK? So. Primjer. Neka bude ljepše. U redu. Dakle, imamo jedan ovdje, što imamo neke are-- Također možete stvoriti niz ovako tako da su neki varijabla jednaka na niz sa zagradama, ili možete jednostavno napraviti držač. Trebali bi napraviti nosač, ali ovo je još jedan način da to učinite. Dakle, ovdje imamo neki niz od tri elementi jedan, dva i tri, i mi imamo foreach. Obavijest ova odgovara Niz da smo iterating više, i to je ono što smo zovete svaka stvar u našem polje. I sve to radi je to će ispisati svaku vrijednost. Dakle, ako smo ga pokrenuti, možemo primijetiti da mi imaju vrijednost jedan, vrijednost dva, tri vrijednost. I na isti način da se uobičajeno polja moraju biti od jednog tipa, polja ne moraju sve biti isti tip ovdje. Tako sada imamo neku int. Imamo dvije žice. Dakle, vaši polja mogu dobili mnogo snažnije i možda malo Malo Messier, ovisno na način na koji želite gledati na to. Dakle, možemo to promijeniti što god želimo. Mi koristimo vrijednost. To je samo standardni stvar koristimo. No, samo je važno znati da možemo to zovu kao brojač ako smo htjeli. I dok se podudaraju, Očito svi sretni. Ako ste ikada željeli pokrenuti PHP pokrenuti nešto poput ove naredbe Linija znate ovo Ovdje, samo to PHP, a zatim god datoteku koju želite pokrenuti. Dakle, ako želite nered okolo s PHP i više logike a vi stvarno ne trebate vide kao u web pregledniku, možete jednostavno pokrenuti u naredbenog retka kao što je to i odjek će ispisati kako god želite. U redu. Drugi način na koji smo je ovako. Dakle, ovo je slučaj u kojem možda želite koristiti i tipku i vrijednost, Znam da su kao super neprirodan primjeri ali ja se nadam da bi to malo jasnije. Dakle, ovdje imamo neki niz opet, ali ovaj put, umjesto da samo ima znaš da nema ključ. Imamo ključeve za svaku od njih. Tako će biti u jedan, b će odgovarati na dva, ic odgovarat će tri. I u ovom slučaju, ako smo se na ovaj način pisati, imamo pristup i ključ i vrijednost za svaku od njih. Dakle, kada smo pokrenuli ovaj, dobili smo svaki od njih. Tako se ispisuje naše ključeve i odgovarajuće vrijednosti. Još jedna super stvar je da, i ja znam rekao kao što je ovaj jedan nije imao ključeve, ali to je uvijek implicitno ima Ključ, jer ako ne delegirati Ključ je, naravno, svoje Tipke su samo vaši indekse ili indeksa tako da smo mogli Uvijek Također ne ovaj jedan. Kao što je ovaj. Ja ću ispisati. Dakle, u ovom slučaju, ako primijetite, mi imamo implicitne ključeve nula, jedan, dva i ovdje. A isti način s ovom jednom, uvijek možete samo reći r kao vrijednost, a vi samo imati pristup vrijednosti. Vi ne brinu o svojim tipke, čak i ako je vaš ima ključeve, ako ne stalo ih, što ne mora nužno morate ih staviti u svoj foreach petlji. Da li to ima smisla za sve? PUBLIKA: Može li samo nazvati ključeve, previše? ALLISON BUCHHOLTZ-AU: Da vas mogao potpuno učiniti, previše. Zapravo, pričekajte. Držite se. Ne bi it-- Ako želite ključ, a zatim što trebate učiniti ključ za vrijednosti. PUBLIKA: Dodaj vrijednosti. ALLISON BUCHHOLTZ-AU: Da. A ti jednostavno nikada ne koristite vrijednost je sve. PUBLIKA: U redu. ALLISON BUCHHOLTZ-AU: Ako vas Samo stavite jednu stvar tamo, to će pretpostaviti da ste govori o vrijednosti, a ne ključni. Veliki pitanje. U redu. Cool. Zapravo, držite dalje. Vidjet ću što imam. Dakle, prije nego što smo dobili u postu i dobiti, ja Samo ti želim pokazati dečki malo o tome kako je to dinamički upisali, što je vrsta cool. Imam sve to. Imam kao četiri primjera ovdje, i ja ću vam poslati sve ovo kôd nakon klasa. Dakle, ovdje imamo neku varijablu a. To je samo 1 plus 1, zar ne? A mi ćemo ispisati što je to jednaka, a onda imamo neki tip. I bilo tko imati bilo pogodaka o tome što tip će to biti? PUBLIKA: int. ALLISON BUCHHOLTZ-AU: Da, to je int. Dakle, to samo dodaje ih zajedno. To je int. Sve dobro. Dakle, ovaj sljedeći, imamo što izgledaju žice. Kada smo pokrenuti ovu, što misli, oh. Vi ste zapravo pokušava samo dodati stvari. Vi samo zabunio. Dakle Samo ću to popraviti za vas. Mislio si int. Znam da si mislio int. Dakle, ovo je jedan od načina na koji možete vidi, PHP ima vlastiti um. Iako smo izričito rekao, gledaj, ovi su žice. Mislim niz jednu. Ali ona kaže, oh, ali pokušavate ih dodali, tako da mora značiti da je cijeli broj. Samo vjerujte mi na to. Zato se kaže da je broj, i dodaje ih kao što je normalno. Dakle vrsta ohladiti ako idete dobiti lijen sa svojim stvarima, ili želite dodati nešto. Velika stvar je da, ako se mislite natrag na pset2, nešto što je korisnik unesene, pravo da mislimo je char ili string na prvom mjestu. Sada nemamo izričito kažu, oh, čine ovaj int. PHP bi samo biti kao, oh yeah. Znam da si mislio int. Glup si. Niste znači niz. Dakle, u tom slučaju, sada da imamo ovo, ono vi mislite da će to učiniti ovdje? Imamo niz i int sada. PUBLIKA: To je još uvijek int. ALLISON BUCHHOLTZ-AU: To je još uvijek int. A razlog is-- bih stavio više primjera, ali ovo je zabavno. Razlog je to radi je zato to je kao da pokušavate dodati stvari. Dakle, ako pokušavate dodati stvari, ja ću pretpostaviti, razumno, imate nešto razumno da biste mogli dodati. Samo ću da ga se int, i samo ćemo ga dodati, kao i obično. A onda na isti način, ja da ti dečki dobiti ideju. Također imamo ovaj jedan ovdje, što je Samo znakova, i to radi istu stvar. To je kao, ti glup korisnika. znate što želite int. PUBLIKA: Ako stavimo pismo, neće to učiniti [nečujan] vrijednost ili ne? ALLISON BUCHHOLTZ-AU: Oh, to je dobro pitanje. Da vidimo. Ne, i dalje je int. Tako da je malo lud. To je samo vrsta vam pokazati PHP ponekad može ponašati u irrational-- Ne potpuno iracionalno, ali to bi moglo ponašati na način da se stvarno ne očekuju. Dakle, kada ste u nedoumici, provjerite vrste stvari. Ova funkcija gettype može biti super korisna. Obično, ako radite ništa s plusses ili bilo matematički operatori, to će preuzeti ništa razumno je samo int. Znači, imate char 1, ili niz 1, ili stvarni int 1, to će pretpostaviti da. Ako želite typecast ništa, možete se potpuno. Ti bi mogao napraviti nešto slično udvostručiti ovdje, vjerujem. I u tom slučaju, to će reći, oh. Učinit ću to dvostruka, jer eksplicitno rekao da je dvostruka. Možete uvijek izričito PHP bi nešto napraviti, ali. PUBLIKA: Čekaj, zašto je plus 1 tamo? ALLISON BUCHHOLTZ-AU: Oh. Tu. To je bio samo odjek. To je bila moja krivnja. Dakle, možete izričito reći da napraviti nešto od određene vrste, ali većinu vremena, to će dinamički odlučiti da za vrijeme izvođenja. Dakle, to će zadržati ide kroz i to će biti kao, u redu. Ono što najviše smisla za to biti? Ukoliko to zapravo biti string? Ukoliko to bude int? Ukoliko to biti plovak? Ukoliko to biti dvostruka? I to će odlučiti da je za vas. Možete ga prisiliti raditi ono što želite, but-- PUBLIKA: Znači li to da bi ga sporije? ALLISON BUCHHOLTZ-AU: Pa, Mislim, C je jako učinkovit. Mislim da je to definitivno sporije, jer to je u postupku, kao što se događa. C, ja sam gotovo siguran je brži. Ali očito postoji Puno dobrih stvari u ovdje da ne morate brinuti o tome. Dakle, ako ste u potrazi kroz niz, mi ne moraju zapravo stvoriti neki tražili kroz niz. Mi smo samo mogu pitati za ključ i PHP će voditi brigu o tome. Cool. Strašan. Izgleda da na kraju mojih primjera. Vi nikada ne ide zaboraviti da je sada. Ti ćeš biti kao što je, oh, PHP je samo kao da je mama tko je kao nitko, ne, ne. Znam što misliš. Znam što želite. U redu. Tako je to, nadamo se, korisno za svoje pset, barem u početku, zato što su sve o rješavanju s oblicima i stvari iz korisnika. Dakle, postoje dva načina na koje smo prođe oko info sa PHP i HTML kad smo prolazeći između tih dviju stvari. Dakle, imamo $ _GET, koji je prošao preko URL-a, a imamo _POST $, koji je donesen u poruci tijelo, pa smatramo da skrivena. Ali jedna stvar je da shvatite da je niti jedan od njih se smatra sigurnim. Ako imate nekoga tko je presretanja poruke ide natrag i naprijed između vas i poslužitelja, oni još uvijek mogu dobiti te podatke. Oni samo moraju gledati malo teže. To nije stvarno that-- je Samo skriven od URL. To je još uvijek u tijelo poruke ipak, tako da ako imaju pristup da se, to je zapravo samo like-- To je kao razlika između nečega napisan na vanjskoj omotnice i nešto biće napisano na komad papira iznutra. To nije tako teško otvoriti omotnicu i dobiti komad papira unutra. Istina, bilo bi puno lakše samo čitati izvana. No, to je kako možete vrsta razmišljati o ovome. Nijedan od njih su stvarno smatra sigurnim. OK? Istina, ne stvarno važno za vaš pset jer si ne bave uz poslovne tajne, ali to je obično jedan Ono što smo stvarno vole naglasiti, jer ljudi mislim, oh, dobro, to je skrivena. To mora biti super siguran. Ne. To se ne osigura. To je samo malo manje nesigurno, valjda. Ili nesiguran. Dakle, mi zapravo imamo primjer. Kao što znate, ja volim naučiti više s primjerima. Osjećam se kao da to pomaže bolje. Dakle, imamo neki jednostavan oblik ovdje što je zapravo, ako ti dečki su ikada zbunjeni o PHP, ovo je stvarno mali, ali php.net je zapravo stvarno dobar dokumentacije. Jako mi se sviđa. Ja sam ga koristiti za pripremu za to poglavlje, tako da ja mogu veterinar za Vas. Ovo je primjer od njih o tome $ _POST i $ _GET rada. Jedina razlika između dva od tih, osim gdje je informacija Prikazuje, da li je u URL ili u tijelu, također ono što je metoda. Tako je u svom obliku za HTML-- ovom je vrlo jednostavan HTML obliku. Može bilo tko reći mene što to radi? PUBLIKA: Pitajte za svoje ime i dob. ALLISON BUCHHOLTZ-AU: Točno. Tako ćemo imati neki oblik akcije. To nam omogućuje da znate da je neki čin oblik. A što će se dogoditi je, kad smo hit Pošalji, to će nazvati action.php, što je ono što je to, i to će ga nazvati s metodom _POST $. Dakle, u ovom slučaju, vaš Informacije je skriven. i to je samo vaše ime, neki Vrsta ulaza zove ime, neki dob, input type = "text" da i mi zovemo dobi. A onda, ako smo hit Pošalji, Slanje će nazvati action.php. Dakle, kada smo zapravo udario Pošaljite mi znam da je objavljena, sama po sebi, a mi zapravo ćete vidjeti u svoj Problem postaviti da nadam se da ćemo doći do prošetati malo. I sve to radi ovdje je POST neki superglobal promjenjiva da smo razgovarali o tome tijekom predavanja. A kako možete razmišljati o _POST dolara da je to samo asocijativni niz. OK? Dakle, ovo je neki ključ, to neki ključ, i što god unos korisnika postaje vrijednost za svaki od njih. OK? Dakle, ako smo napisati što ovaj niz Zapravo je izgledala kao prava nakon što smo podnio obrazac, mi bi imamo, to je naša $ _POST, a neki niz u kojem imamo neki naziv. Recimo samo da ćemo napraviti moje ime, a onda imamo neku dob, 21. Woo. Dakle, ovo je sve $ _POST je. $ _POST je samo asocijativni niz, u redu? To samo govori, u redu. Koje su stvari koje smo zatražila od korisnika? Koje su varijable da smo prolazeći da smo tražili u ovom obliku? I onda ono što su Vrijednosti povezane s tim? Dakle, u ovom slučaju, ako sam ga podnijeti s imenom saveznik i dobi od 21, to je ono što $ _POST izgleda. OK? A to je ono što ovaj PHP datoteka ima pristup. Sve u redu? Dakle, u ovom slučaju, to je baš kao i uzimajući bilo koju drugu stvar iz naše ponude. Umjesto indeks u našem Niz, imamo neku tipku. Dakle, to će dati ja vrijednost na ključnom ime. Dakle, ovo će biti saveznik, a to pravo ovdje će mi dati Vrijednost na _POST gdje $ Ključ je dob, koja će biti 21. Ti ćeš biti radiš tu vrlo malo. Da, od kojih je dio? PUBLIKA: Kad ste bili pokazujući na donjem dijelu. ALLISON BUCHHOLTZ-AU: Ovaj donji dio? U redu. Dakle, shvatite to je naša HTML formirati, a mi imamo neke metode $ _POST, što je važno. To također može biti _GET $, a u tu svrhu, samo ćemo reći da je _POST $. Kada pošaljete ovaj obrazac, ovo je dio PHP datoteke koje se zove. Dakle, ovo PHP datoteka sada će izvršiti dati informacije iz našeg HTML Obrazac. Dakle, što to radiš je, kad smo Pošaljite hit na našem HTML obliku, to prolazi vam ovo superglobal, što je samo asocijativni niz. To je to. To je isto kao da prolazi u datoteku. A ono što se kaže, u redu, evo $ _POST. To je tvoj asocijativni niz. Učinite s njom što želiš. A mi govorimo, u redu. Daj mi vrijednost na ime, i daj mi vrijednost na dob. Dakle, to su samo ključevi, i to je naša polja. Da li to smisla? PUBLIKA: Mhmm. ALLISON BUCHHOLTZ-AU: strašan. PUBLIKA: Ako morate ponovno poslati Obrazac to samo napisati više podataka? ALLISON BUCHHOLTZ-AU: Da. Mhmm? PUBLIKA: Zašto imate navesti da je int? ALLISON BUCHHOLTZ-AU: U ovom slučaju, Korisnik samo ga tjera da bude int. PUBLIKA: U redu. ALLISON BUCHHOLTZ-AU: ne znam ako zaista bi trebao da, ali za svoje potrebe, odlučili da su oni htjeli da bude int. Oni samo typecasting. Možda oni to koriste kao nešto kasnije. Ovo je samo jedan isječak. Da? PUBLIKA: Što ako su upisali 12, T-W-E-L-V-E, za života? ALLISON BUCHHOLTZ-AU: Ako pokušao upisati da kao int? PUBLIKA: Da. ALLISON BUCHHOLTZ-AU: I zaboraviti što to radi. Mislim da bi to moglo pokušati pretvoriti Prvi znak na int, ili se vrijednost i pretvoriti to, ali sam zaboravio točno to što je. Budite zabavna stvar za pisanje Program i pokušati. Imate par redaka. U redu, tako da je ovo jedan od glavnih stvari koje idete da se radi. Idem nadamo hoda kroz nekoliko datoteka iz pset s vama. Izgleda da ćemo ima vremena, tako da možemo to učiniti. Ali, ti ćeš biti radiš puno stvari kao što je ovaj, gdje ste u prolazu stvari iz HTML obrasca u ovom PHP oblik koji će onda izvrši neki set instrukcija o podacima koji su navedeni. To je doslovno suština vašeg pset. Da. PUBLIKA: type = "submit", koji čini gumb na HTML obliku. Da li postoji način da se poziv da tipka nešto? Tako će vam biti kao što su ime = "podnijeti"? Ili je to samo gumb će biti isprazniti upravo sada, jer vas samo dao mu tip, a ne ime. ALLISON BUCHHOLTZ-AU: Mislim da je Samo će biti prazna upravo sada. Mi definitivno može gledati u pset, jer ćemo sigurno se gleda na Registrirajte se takve stvari. Ali da, svakako možete odrediti tekst koji želite na vašem gumb. U redu, tako da SQL. Kada ste u kupnji i prodaji dionica, trebate pratiti one. Dakle, način na koji ćemo učiniti da je SQL, što je samo baze podataka. Razmislite o tome kao o stol gdje ti si imajući sve ove informacije o različitim korisnicima. A ti dečki su zapravo će stvoriti jednu od njih. To je prilično cool. A tu su samo četiri glavne stvari koje trebate znati za ovo pset, i oni su ažuriranje, tako da osnovi ažurirati podatke. To pretpostavlja da je već tamo. Ako to ne postoji, to će pogoditi s pogreškom, pa možda želite provjeriti. A vi ćete ažurirati on-- sam trebao actually- imam vremena, Napisat ću par njih. Ja sam zapravo će vam dati dečki Par uzorka, puna SQL naredbe, jer ovo su samo glavna one, ali ih se može pridružiti zajedno. Dakle, ja ću to učiniti, a ja ću poslati da se na vas s tim bilješkama. Dakle, ako želite ažurirati nešto, trebate reći ono što ažuriranje i gdje ste ga ažurirati. Tako tipično SQL naredbu će biti promjena ID gdje se nešto jednako nešto. Ili kao što je promjena adrese gdje je ID jednak 3, a to bi ažurirati polje adresu Vaše korisnika koji ima ID tri. OK? Dakle, ako idete na SQL i W3Schools, oni imaju strašan primjere. Zapravo, mogao bih povući neka se u malo. A onda umetnuti u, ti si jednostavno umetanja određene vrijednosti postoji. Dakle, ako pokušavate stvoriti neki novi ulaz, tako da ste stvaranje novog korisnika, što mogu učiniti umetnuti u bez obzira na baze podataka naziva, i ti bi sve te vrijednosti. Tada imate odaberite, odabir vrijednosti za pregled. Dakle, ako pokušavate provjeriti vidjeti ako korisnik ne postoji ili ste pokušavajući zgrabiti specifične informacija o korisniku ti si idući u biti koristeći odaberite. A onda izbrisati, mislim, je prilično jednostavan postoji. Vi ste samo brisanje nešto od stola. A u stvari, neka mi zapravo povući do neke primjere za vas dečki. Ma gledaj, to je moj 61 stranica. Dakle, ako idemo na W3Schools, nadam se da je opet. Da, Ljubav je. Idemo na SQL. Dakle, to je nešto ovdje. Dakle, to je vrlo jednostavan SELECT. Čovječe, volim ovu funkciju. Dakle, možete imati SELECT neki polje od kupaca. U tom slučaju, kupci odnosi online baza podataka koje koristite, tako da bez obzira na vaš stol se zove, i star samo znači odabrati sve. Daj mi svakoga. Dakle, ja samo želim da vam dečki Nekoliko primjera gdje je to. Dakle, imamo SELECT, UPDATE. Dakle ovdje je vrsta opće sintakse. Dakle update, bez obzira na svoje Naziv stol, a zatim SET gdje ste zapravo ide da bude ono što podaci koje mijenjate. Dakle, to bi moglo be-- neka mene napraviti primjer ovdje. Dakle, ovo će be-- U redu. Tako sam stvorio malo podataka za nas. Mi ćemo imati neki ID, nekih godinu dana, a neki nazvali. Dakle, ID jedan će biti '15 godine, i samo ćemo napraviti to me. Tko želi biti drugi osoba u našem stolu? Svatko. Samo ću izabrati Emma jer tvoje ime je brz. Emma, ​​koje godine si ti? PUBLIKA: Koje godine? ALLISON BUCHHOLTZ-AU: Da. PUBLIKA: '16. ALLISON BUCHHOLTZ-AU: '16. Vi samo će biti moj zamorac za danas. U redu, tako da su ove dvije osobe. Zapravo, neka mi to učiniti. Recimo Čuo sam joj u krivu, a ja zapravo je rekla da je godinu dana mlađi. Ona je '17. Ono što želimo učiniti ovdje, ako mi htjeli ažurirati Emmin godine biti točna pomoću toga, ono što bih učiniti je da bih ažurirati podatke ovdje. I to sve može biti na jednoj liniji, ali jer sam stisnut za prostor ovdje, Ja ću napisati ovdje. I želimo postaviti. Dakle, ovo je tablica smo ažuriranje. SET će biti ono stupac ili koji podaci su nam zapravo mijenja. Ono što mijenja je godine, tako ćemo reći SET godine = 16, a zatim GDJE nam govori što korisnik ili ono red su mi zapravo ažuriranje to. Pa gdje su? Imamo dvije mogućnosti ovdje. Što su dvojica? Oni su jedinstveni, zar ne? Dakle, naša imena su jedinstveni i naš ID je jedinstven, pa što su dvije opcije Doista, gdje bismo mogli to učiniti? Dat ću ti jedan. Mogli bismo napraviti GDJE ID = 2, ili bismo mogli učiniti ono što ako ćemo isključiti ovu paradigmu ovdje. PUBLIKA: [nečujan]. ALLISON BUCHHOLTZ-AU: Točno. Tako smo mogli napraviti ime = Emma. I bilo koji od njih će raditi. I mi ran to, to bi bilo kao, u redu. Mi ćemo ga promijeniti. Ti si zapravo 16, tako da sad si opet desno. U redu, tako da će to biti super korisno u svom pset gdje je možda netko odlučio kupiti 100 dionica Apple, a onda su bili kao, samo se šalim. Želim samo 90 dionica. I tako oni prodati 10 od njih, tako da potrebno ažurirati količinu dionica da imaju. Dakle, ažuriranje dionice, ažuriranje tablice. U redu. Dakle, to je jedan od primjera ima. To ažuriranje sintakse. DELETE. Oh. Uložite u je naš drugi. Dakle, ovo ovdje je vrlo slična. Mi smo samo mogli reći u ovom Slučaj dodajmo nekoga. Možemo dodati Ben ovaj put. Mi ne umetnuti u, a mi Želite ime našeg stola. U ovom slučaju to podaci. I onda mi samo želimo, ti ćeš kažu VRIJEDNOSTI, i ono što će učiniti je, što je zapravo potrebno kako bi bili sigurni da imate za svaki red nešto koju želite. Vi samo ih dovesti u red. Dakle, u ovom slučaju, rekli bismo 3. Ti si 18, pravi Ben? PUBLIKA: 19. ALLISON BUCHHOLTZ-AU: 19? PUBLIKA: 19. ALLISON BUCHHOLTZ-AU: Vaš Ovogodišnji '19? Vi diplomirati u '18, zar ne? PUBLIKA: Oh. ALLISON BUCHHOLTZ-AU: Diplomski godine. PUBLIKA: U redu. ALLISON BUCHHOLTZ-AU: Bio sam poput, jeste li Već planiramo uzeti godinu dana pauze ovdje? Dakle, '18, imamo Bena. Dakle, u ovom slučaju, to će proći, da bi stvorili novi zapis ovdje. Cool. Nije loše, zar ne? Mnogo toga će se biti sintaksa za vas dečki. Koncepti trebao doći, nadamo se, relativno lako. Sintaksa je jedina stvar to može biti malo zeznuto. A onda je naša posljednja je DELETE, a kao što ste primijetiti, Ja visoko preporučiti ovu web stranicu. To je super. Postoji tona stvari. Dakle, u isti način na koji smo imali neki UPDATE, DELETE je vrlo slična. Umjesto toga smo Brisanje iz podataka. Dakle, u ovom slučaju, naš zadnji jedan Napisat ću ovdje. Recimo da smo htjeli da me izbrisali. Ja ne mogu pisati danas. Izbrisati iz bilo Tablica smo u, podaci. A tu su zapravo tri načina bismo mogli izabrati da me izbrisali. Može li mi vi reći što tri načini su, kako si mogao me izbrisati? ID jednaka 1, gdje je ID jednak 1. Mi smo mogli učiniti, gdje godišnje iznosi 15, odnosno gdje ime jednak Allison. Naravno, postoji samo tri različita načina, jer su svi jedinstveni. Obično u tablici, a posebno u svom pset, idete postaviti jednu od ti stupovi biti jedinstveni. Vjerojatno će to biti neki jedinstveni ID broj, jer ako have-- zapravo, to je zapravo možda neka imate dva. Ne mogu se sjetiti je li to ću imate dvije iste stvari. PUBLIKA: Onda bi promijeniti svoje ponašanje. ALLISON BUCHHOLTZ-AU: Bilo bi. To će dovesti do ponašanja koje je neočekivano, da stvarno ne možete predvidjeti. Tako ćete sigurno imati jedan stupac u bazi podataka koji će biti jedinstven, i to je obično možete podesiti tako da je kao jedinstveni ID, i to samo će ažurirati svaki Vrijeme ubacite u tablicu. Svaki put kada izradite novi red, to će se automatski povećavati i dati mu neki jedinstveni ID. Dakle, prijedlog za vaš pset. U redu. Tako da je SQL. Dakle, sada ćemo govoriti o zadnja stvar koja veže u zapravo prilično dobro s vašim pset, ako će ići naprijed. Dakle, MVC, pogled modelu kontroler. To je zapravo samo način da bi stvari u organizaciji. Na isti način s C ćemo vas pitati dečki za stvaranje funkcije i odvojene stvari out, to je samo način da se izdvojiti Kod kad radite web razvoj. Dakle, čini stvari puno više elegantan i pojednostavljeno, i to je zapravo način da je vaš pset je zapravo postaviti, pa da li vam se svidjeti ili ne, ti si idući u naučiti, čak i ako ne mislite ti to učenje. I jedna je stvar, ona također vam omogućuje da učiniti mnogo više kao korisnika suradnji. Dakle, kada sam uzeo CS50, jesam web stranica za moj konačni projekt, a ja sam bio kao, ja ću nositi baze stvari. Učinit ću vratiti end stvari, i moj cimer koji sam uzimao s njom bio vrlo artsy. Ona radi fazi projektiranja, a ona htjeli bi sve to lijepo. Dakle, ja sam kao, u redu. Možete voditi brigu o Svi prednji kraj stvari. I stvar je, kao što je vidjet ćemo vrlo brzo, Pogled koji je model kontroler vam omogućuje potpuno odvojiti da kod tako da bih mogao raditi na provedbi naše stranice, i manipulaciju informacijama u našim bazama podataka, a ona je samo mogao napraviti stvari lijepa, i oboje smo bili jako sretni, jer mi moramo učiniti ono što oboje smo htjeli i mi nije morala nositi s drugu. Tako smo se družili zajedno. Mi smo željeli družiti. Ja samo ne želim da se bave Sve CSS i HTML stvari. Ja se kao, što bi to lijepo. Ja ću nositi s bazom podataka. Dakle, imamo ovo stvarno kul, veliki mali stol. Volim tablice. A u osnovi, model možete razmišljati o je samo vaša baza podataka. Bio sam model osoba za moj projekt. To je sve o skladištenju Informacije i organiziranje te podatke. Dakle, to je ono što smo željeli nazvati kraj. Dakle, vi ćete se bave SQL baze podataka i podatkovne datoteke. To je vaš model. Tvoj pogled, kao što ste možda mislim, vrsta smisla, je ono što vaš korisnički zapravo vidi. To je korisničko sučelje. To je da je prednji okrenut komponenta. Dakle, to je ono što je moj cimer dobio za rad na sva vremena. Bila je super sretna. Tako da je sve u HTML, a tu je vrlo malo PHP. Ako ste upravo govorimo o ono što se prikazuje na korisniku, govorimo o hiperteksta. Govorimo o tome kako to izgleda. Mi ne govorimo o logici, ili stanja, ili sitnica. Svi koji se obrađuju kontrolor, u redu? Tako da obrađuje zahtjeve korisnika i dobiva informacije. Dakle, jedna stvar koju treba znati o Vaš pset je da u svojim stavovima, sve što je zapravo prikaz informacija nikada ne bi trebao biti stvaranje poziva na svoj model. Sve da se rukuje u svoj kontroler. Vaš kontroler je jedan posreduje između ova dva. To će vas pitati model za određene informacije. To mogu ponoviti preko toga informacije, shvatiti ono što zapravo treba od je, što učiniti s njom, i onda će proći na Upravo ti podaci trebate pogled da ga ispisati ili ju prikazati korisniku, u redu? Budući da vidimo pogled kao sve što je okrenut prema korisniku, tako da će biti puno lakše za njih shvatiti, oh, ako radite neki poziv na vašem modelu a ti tražiš za sve korisnike koji su počeli sa slovom A, a vi radite kako po vašem mišljenju, svatko tko može vidjeti vaše web stranice potencijalno mogu pristupiti tome. Vi ne nužno žele to. Vi ne želite da ljudi vide više u bazu podataka nego što treba ih vidjeti. Samo njihove specifične preferencije. Tako kontroler obrađuje sve to. Dakle, sve svoje .php datoteke koje ćemo vidjeti možete uzeti u obzir svoje kontroler datoteke. A to je gdje ste stvarno će biti tražeći stvari iz svoje baze podataka, i iterating ili manipuliranje to što je potrebno prije to prolazi na koji se gleda. To je stvarno cool pset, po mom mišljenju. Mislim da je malo više poput instant zadovoljenje, zato što implementirati Puno malo sitnih stvari, a svaka stvar treba raditi na svojim nogama. Ne vole, učiniti sve i onda vidjeti ako to radi. Kao i sa softverom gdje ste kao, ja sam stvarno nadajući je to pravo, jer ako to nije, postoji puno stavlja to bi mogao biti u krivu. U redu. Samo pazeći da sam rekao sve što mi je trebalo reći o MVC. Da. Cool. Tako je u CS50 financija, imamo naš model, kao što sam rekao ovdje. To će biti MySQL i phpMyAdmin. Ja definitivno može povući one tako ti dečki dobiti priliku da na to gledate. Kao što sam rekao prije, to vaše SQL baze podataka djeluje kao svoj model, a vi možete poslati ono što mi zovemo upite, koje su samo ovakve stvari. One se nazivaju upita. To je upita, gdje ste upravo tražeći svoje baze podataka za nešto, ili ste mijenja svoje Baza na neki način. To je sve što je. A što učiniti s Funkcije koje smo vam dali ovdje. Također možete manipulirati ih rukom preko phpMyAdmin, koje svakako može pogledati. Ja ću stvoriti uzorak Baza podataka s vama. U redu. Dakle, kontroler. Dakle, u ovom slučaju, ako obavijest, to je sve PHP. Obavijest da je vrsta svoje Glavna stvar vašeg kontrolera je da bi trebao biti uglavnom PHP. Ako imate HTML u svom kontroler, zapravo nisu sigurni što se događa tamo. Na isti način kao što sam rekao, ako vas uspijevaju [nečujan] s HTML, Ja sam pravi zanima. Dakle, ono što imamo ovdje je imate neke upit. Upit je funkcija koja izgradili smo za vas dečki. To je kao omot bi upita na svoju bazu podataka malo lakše. Ako nisu imali da je sintaksa za zapravo razgovor sa svojim SQL baze podataka će biti drugačiji, pa smo samo ga dostaviti za vas dečki. Mi smo željeli učiniti život jednostavno. Dakle, u ovom slučaju, možete vi reci mi što ova linija radi? SELECT * iz nekog stola. PUBLIKA: Odaberite sve od ovog stola. ALLISON BUCHHOLTZ-AU: Točno. Dakle, to je govorio, daj mi sve od ovog stola. I to je to spremanje u neka varijabla rezultat. A to, kaže, ako je rezultat nije jednaka na netočno, onda radimo jedni od toga. Dakle, ako nema ničega, ako je vaš Stol je prazan ili ga jednostavno ne postoji, to će se vratiti false. Dakle, u ovom slučaju, mi samo izradu sigurni da nešto nije zapravo vratio se u nas. A onda ovdje imamo Veliko nam foreach petlje da smo iterating nad našim Rezultat, a mi smo ga zovete red, i kažemo donijeti ovaj predložak gdje su vaši podaci je to rezultat. OK? Dakle, to je samo za obradu red rezultata. Inače, to viče. Dakle, ovaj je primjer kontrolera. Kao što vidite, to je Samo mjesto-- Da, žao? PUBLIKA: Zašto postoji znak za struju prije reda? ALLISON BUCHHOLTZ-AU: Znak za struju prije reda. Upravo smo se iterating. To je također adresa of-- PUBLIKA: Pa to je kao C pozivom. ALLISON BUCHHOLTZ-AU: To je pazeći da ste zapravo mijenjanja izvorni, a ne kopija. To je na isti način s C gdje mi smo u prolazu reference ovdje, samo kako bi bili sigurni. PUBLIKA: Nije == umjesto da se ne = u PHP? ALLISON BUCHHOLTZ-AU: Nije ==. PUBLIKA: Zbog jednaka u C je just-- ALLISON BUCHHOLTZ-AU: To jednostavno nije =. Da, nema. Nije ==. Jer == u PHP provjerava jednakost s varijantama, odobren, ali extra kvaliteta. Dakle, to nije == u PHP-u. To je jedan od malo sintaksa razlike. Da. Dakle, mi smo samo iterating kroz svaki redak, i donijeti, ako momci pročitati kroz spec, samo neka druga funkcija koja je Zapravo će obraditi sve HTML i prikazati ga u svoj web preglednik za vas. U redu. Dakle, mi volimo misliti o svojim kontrolerima kao što se obrađuje na poslovnu logiku. Kao što vidite ovdje, ovo je mjesto gdje smo uzimajući naše podatke iz tablice, mi smo ga obradi na neki način, a onda mi to prolazi off. Kad mi donese neki predložak, neki predložak je naš pogled, a mi ga donese samo Podaci koje je trebao dobiti. Nisu svi podaci. Samo podaci koje želimo ga dobiti. OK? Osnovi podataka nakon obrade. Dakle, ovo je pogled, to se zbroj predložak koji imamo, i sve to radi jest, možete imaju malo PHP u svom mišljenju. Nije baš da se ne PHP-u prikazu. Vi samo treba imati vrlo minimalan PHP u prikazu, i da nikad ne bi trebao biti upite u svom mišljenju. Vi nikada ne bi trebao biti razgovor na svoju bazu podataka na vašem mišljenju. To je velika razlika. Dakle, što se događa ovdje, imamo PHP koji je iterating preko reda. Dakle, u ovom slučaju, jer smo bili iterating kroz svaki red i pružanje nešto, to je bio Vjerojatno kao dvodimenzionalni niz gdje smo imati neki red koji je, samo po sebi, niz, jer smo iterating kroz nju opet. A mi smo samo ispis Ime red, onda ga završiti. Vi ne trebate to u foreach. Nikad nisam vidio da je prije nego što zapravo. Upravo sam to foreach. U redu, tako da je pogled. Da vidimo možemo li šetati malo vašeg pset. Imamo 15 minuta, tako da sam siguran da dečki bi htjeli da je više nego samo završava rano. Dopustite mi da vidim mogu li donijeti ovo gore. Pa ja ne znam koliko je od vas su ga preuzeli i još sitnica, ali imamo ime ovdje i imamo neke lozinku. I na žalost, u pravu Sada baze podataka je prazna, tako da mi zapravo treba stvoriti bazu podataka. Pa, to je čudno. Nije li očekivati ​​da. Tehničke pogreške. Tehničke poteškoće. Imamo neke pset7. Cool. Dakle, jedna stvar koju možete učiniti je, s query-- ću stvoriti tablicu. Dakle, ovo će biti users-- ono možete učiniti ovdje jest, ako imamo some-- Stvarno sad? U redu. Očito ne radim tako vruće. Oh. Ja znam zašto. Jer nikad nisam stvorio moji stvarni tablice. Dakle, kada se prvi put početi s baze podataka, očito moraju odlučiti što su stvari koje moram imati u ovdje? Dakle, ako mi samo otići naši podaci stol ovdje imali smo neke ID, koji je mogu samo ostati int. A ako pogledamo ovdje, tamo je cool stvar that-- So indeksa. Ako to ne učinite primarne, to će učiniti Ono što je vaš stol u organizaciji, i to će i učiniti ga jedinstvenim. Dakle, u ovom slučaju, mi ćemo učiniti primarne, i ja ću napraviti ovo ime, onda ćemo samo bi se varchar poput 26 slova, jer zašto ne? A onda možete ići na Spremi, a zatim ako vidite, imamo neke korisnike ovdje. Dakle, ako smo htjeli napraviti umetanje, mogli smo to učiniti na taj način, ili ako ste htjeli prakse sa svojim queries-- Oh dječaka. Nisam se to zauvijek. Koristim ovu leđa. Možete urediti to na svoju ruku, bilo Samo ručnim umetanjem informacija s nečim poput tebe, može promijeniti bilo koji od ovih ako ste htjeli make-- Ako želite Odjednom se riješiti imena, možete ispustiti, možete učiniti sve te stvari. Ako trebate ikada Ručno promijenite svoj stol, Predlažem da to radi u phpMyAdmin odnosu pokušavate shvatiti SQL upiti u cjelini. Kada prvi put pokrenete pset, ti si idući u morati raditi ovdje, toliko naviknuti na to. I onda kad zapravo žele umetnuti stvari u svoje table-- Ja stvarno pitam gdje je to, jer there's-- Ovdje je. To je ono što sam htjela. Dakle, ako idete na SQL, što bi zapravo vidjeti, kao što smo vidjeli ovdje, imamo SQL upita. Dakle, ako smo htjeli da odaberete nešto ili ako smo htjeli ubaciti nešto, možemo učiniti umetak u korisnike, zar ne? Mislim da treba crticu. Jedna stvar koju treba znati je, ako je ste ikada koristeći ovaj, morate koristiti ove natrag apostrofe, koje su obično, ako si na Mac, točno iznad kartici. Dakle, dobro je znati. Ti bi mogao umetnuti u korisnicima, i mi imamo svoje vrijednosti, zar ne? Dakle, imamo vrijednosti i naše vrijednosti U tom slučaju bi samo biti, imamo samo jedan ID, tako smo mogao učiniti jednom, ako smo htjeli. To je čudno. U redu. Pa to je baš kao i kratke mala stvar s SQL, ali to bi moglo biti korisno da se zapravo pogled na neke od datoteka ovdje. Dakle, ići na Preuzimanja. Oh, ne preuzimanja. Dakle, samo brzo prohod od što je u svakom od tih mapa. To uključuje, samo mi imamo stvari kako podesiti vaš preglednik, imamo ove konstante, i imamo ove funkcije. Ako ste zainteresirani za bilo koji od njih, Preporučujem gledajući funkcije. Jedan od njih tu je super korisno, Zapravo je to jedan ovdje, deponij. Dakle, ako koristite ovu, to će zapravo samo ispis bez obzira na varijablu da ga vole. Dakle, ako imate problema figuring što to polje izgleda, ili što je zapravo taj podatak, kako je formatiran, ovo je velika stvar za korištenje. Pogotovo kada imate Korisnik s više dionica, ovo će biti nešto veliko za korištenje. Jer to bi moglo biti formatted-- Znam barem za mene, kada sam učinio to pset, je oblikovan na način da nisam baš očekivali. Tako sam pokušavao ponoviti više to i pokušava manipulirati, ali nisam jako razumijem što radim. Dakle, ako ste upravo to smetište, to će ispisati ga na pregledniku, i možete vidjeti točno kako se to formatiran. To će obično ga isprintati Niz sa svojim ključevima i njezinih vrijednosti. Dakle, to može pomoći. On također može pomoći da sigurni da ste zapravo grabbing podatke koji ste mislili da ste bili. Dakle, ako ste bili poput, za mojim stolom svakako kaže da je korisnik s ovim ID, ali kad idete na deponij promjenjiva, to ne postoji, ti očito znaš da je gdje je pogreška će biti. To je jedan od najboljih alata za ispravljanje pogrešaka, po mom mišljenju. A onda postoji Nekoliko drugih stvari ovdje, ali za najveći dio, to je jedan želim skrenuti pozornost na, jer je vrlo korisno. Javna, ono što ovdje imamo jest, ovo je sve naše CSS stvari. Dakle, CSS, fontove, naša slika, sitnica. To je sve stvari koje ne morate mijenjati. Možete li vi mislite o ako je to ima stvari poput CSS-u fontovima, će to biti model, ili pogled, ili kontroler? PUBLIKA: [nečujan] ALLISON BUCHHOLTZ-AU: To bih biti više od gledišta, zar ne? To je rukovanje sve stvari, kako stvari izgledaju. Dakle, ako smo otvorili ovo ovdje, vidimo da sve što se događa ovdje je da smo renderiranje nešto. OK? Dakle, to bi jako puno kvalificirati kao pogled za to. Dakle, to samo pokazuje da su neki, to zove neki portfolio.php da imamo, a to je donošenje u naslovu i portfelja. I to je samo renderiranje to. Zapravo, ja se tu leđa. Ovo je kontroler, jer uzvratiti, zapamtite, čini pogled. Tako portfolio.php u ovom Slučaj će biti vaš pogled. Žao nam je, momci. Portfolio.php će biti vaš pogled, a to bi samo biti vaš kontroler za to. A ako pogledamo ovo Posljednji ovdje, predloške, predlošci su sve svoje stavove ovdje. Dakle, ako gledamo, očito vidimo puno HTML ovdje. Dakle, ovo je samo vam pokazuje ono što Stranica za prijavu treba izgledati. Možete primijetiti da su neke oblik skupine, imaju podnijeti. Evo kako ćete odlučiti što Prikazuje se tamo. Imate neki tip gumb = "submit", i onda imate ono što vi to želite prikazati u gumb. Dakle, to je kako će to učiniti prikazuju se kao što god želite. I ovdje vidimo imamo neke korisničko ime, neke lozinke, a kad smo zapravo udario Pošalji, to će biti neki poslije, i to će objaviti na što? Što je kontroler za ovaj pogled? Kad smo hit Pošalji, što će se zvati? Znamo li? To je upravo ovdje, tako login.php. Nešto ti dečki su će se provoditi. Dakle, uvijek možete reći što će biti nazvao nakon što pritisnete Pošalji ovaj prvi red ovdje. Koji oblik akcija. Kada je ovaj obrazac podnesen, akciju koju ćemo poduzeti? Pozivamo login.php, a mi ga zovu s ovom metodom od vratnice, koja ima skrivene informacije. OK? Dakle, ovo je vaš pogled, a onda očito ako smo otišli u login.php-- ćemo to imati još? Da. Dakle, kao što smo vidjeli ovdje, ovo ima puno više logike. To je sve naše PHP ovdje. Mi pokušavamo vidjeti ako je to _GET $, ako je $ _POST, ovjera stvari, propitivanje, sve ove stvari. Dakle, to su samo tri različite stvari ovdje. ne morate mijenjati stvari. Vi ćete biti stvaranje stvari U predlošku, eventualno, ali što se tiče HTML ili Stil je bilo to ide, možete ga ostaviti kao običan ili kao zamršen kao što želite. Neki ljudi se stvarno u nju i napraviti neke prilično strašan web stranice. Vi ne morate učiniti. Ako imate vremena, to je stvarno super stvar. Možete zabrljati okolo sa CSS i HTML i dobiti puno bolji osjećaj za to, ali ne osjećam pritisak da. Tu je dosta za vas učiniti na leđa kraj s implementacijom prijaviti, i registrirati, a sve te stvari. Dakle, nadam se da pomaže malo. da li vi momci imate bilo kakvih pitanja o čemu smo otišli preko, od svih drugih izvora? Svakako ću poslati sve moj primjer PHP koda za vas dečki, a onda slobodno uzmite slike ili sitnica za to. Također to je on-line. Uvijek možete samo gledati opet. Dakle, ako je to je to, svi dobro? Da. PUBLIKA: Samo želim za potvrdu, kad smo radiš odaberite u SQL, zvijezda znači sve, zar ne? ALLISON BUCHHOLTZ-AU: Da. PUBLIKA: A onda, ako nemate zvijezdu, ako ga želite uzeti iz specifičnog red, onda ste samo staviti ime of-- ALLISON BUCHHOLTZ-AU: Naziv reda i što želite želiš vrijednost. PUBLIKA: A onda datum. ALLISON BUCHHOLTZ-AU: Što god tražiš, da. Na isti način, ako to ne učinite IZBRISATI * od neki stol, to će izbrisati sve. Dakle, * samo divlja kartica za sve. PUBLIKA: U redu. ALLISON BUCHHOLTZ-AU: Cool. Strašan. Pa, imaju velike Ponedjeljak, momci. Vidimo se idući tjedan. Sretno na svom pset.