[Predvajanje glasbe] ALLISON BUCHHOLTZ-AU: V redu, vsi, dobrodošli nazaj na oddelek. Upajmo, da boste vsi imeli velik Halloween vikend ali Halloweekend, kot sem želel povedati, vse spočiti in okreval. In na srečo to ne sneži več. Pravzaprav je sončno zunaj. Bil sem vesel, da je resnična. Niso pripravljeni vleči moje zimske škornje. Upajmo, pset6 šlo kar dobro. Če ste utrujeni od C, sem srečen reči, ste končali s C, za zdaj. Smo v celoti prešli v spletnem programiranju, tako da boste delali v HTML, PHP, morda malo JavaScript. Ne vem, kaj bo naslednji teden pset je, tako da ne more zagotoviti kaj je tvoj naslednji pset bo biti, vendar pset ta teden je CS50 Finance, ki je v bistvu izvajanje vrste spletnih strani ki vam omogoča, da kupujejo in prodajajo zaloge in slediti od njih. In to je zelo kul, ker vse od tega je dinamično ustvarjeni. Lahko imajo različne uporabnike, ki vsak ima svoje podatke, in si bo izvedbenih vse to. To traja nekaj časa. Prepričana sem, da je to lažje kot psets C, vendar traja dlje. Ste učenje novega jezika, PHP, ki je zelo podobna C, seveda pa se dogaja, da zahtevajo da si pogledate sintakso in razumeti kako za pretvorbo med jeziki. Ampak jaz ne mislim, da je kaj super konceptualno težko o tem pset. To je le za učenje nov jezik in pridobivanje skozi vse te majhne koščke. Če ste vi prebrali spec, to je precej dolgo. Mislim, da je to eden je kot 21 strani, če se prav spomnim. To je dolga spec. Torej, če še niste prebrali it-- 22. 32. Wow. Tako da sem bil off za 50% tam. Torej, 32 strani. Torej, to je dolg. Obstaja veliko kosov, vendar nobena ni kosov mora biti tako slabo. To je samo veliko. Torej vsekakor začeti zgodaj če je mogoče, kot običajno, ampak mislim, da bi počutili malo lepše, kot še posebej pa psets kot opomore in spreminjanje velikosti, ki so le Zelo težko zaviti svojo glavo okoli. Torej, s tem, da bomo, da se potopite v. Nimam svojega dnevnega reda potisnite danes, vendar smo bo govoril o PHP. Bom vam daje nekakšen Seveda crash o nekaterih stvareh da boste morda želeli vedeti o PHP. Različne sintaksa stvari, stvari pogledati ven. Bomo govorili malo o SQL. Samo zelo preprostih stvari tam, in potem tudi MVC je Model View Controller, ki je, kako je vaš pset ustanovi, tako razumeti, kako da Dela bo super uporabna. Vse je v redu. Torej PHP. Vidva bi morala storiti nekaj zelo, zelo enostavno z PHP, ki je ta spodnja stvar tukaj, kje ste oddali neko obliko na vrh tu, da je imel nekaj ime, ki vas input, in to bi rekel, kot zdravo, Ben, ali zdravo, Allison in bi pop up. Torej, to je pravzaprav tisto, kar je Morala bi izgledala iz vašega pset, v primeru, vi želeli vedeti ali ni čisto pogruntal. Vendar imamo teh vprałaje tu se kaže, da je to PHP. So zaviti jo, nato pa htmlspecialcharge, se spomnite, je prav, se prepričajte, da ste varni iz katerega koli noro injiciranje napadu ali če nekdo poskuša postaviti nori zlonamerne znaki v vaše polje Ime, da ne rad svoj strežnik ali drugih malenkosti. In potem, če opazimo, to HTML tvorita še eno metodo $ _GET, ki, če se spomnimo naših superglobals od PHP, $ _GET, $ _POST, bomo šli v tiste v malo. Vendar vemo, da imamo nekaj ime tukaj, da se ujema z imenom da smo oddali. Torej, to je le nekako kot zelo preprosta sodelovanje PHP HTML da so imeli fantje iz pset šest. Ampak to sploh ni odgovoriti, kaj je PHP. Očitno je, da je jezik, imamo pa res ne govoril o njej v tem poglavju, tako da je malo bolj o tem, kaj pravzaprav je PHP. Torej PHP je samo PHP hypertext Predprocesor. To je dejansko menila, programski jezik ker ima logiko, ker se, če Spomnim se, da smo govorili o HTML, smo poklicani, da označevalni jezik versus programski jezik, ker HTML je nujno spreminja, kako stvari videti na strani. To je samo spreminjanje ali nekaj, kar je krepko, ali je to oblika, element, ali nekaj takega. To nima nobene logike. Nima zank ali pogojev. Ne, ne moreš napak preveriti stvari. Ti bi bodisi prikazati stvari na določen način, ali prosi za stvari, od uporabnika. To je to. Torej s PHP, dejansko pa nam omogočajo storiti vse te bolj logične stvari, kot potrditev vnosa ali manipuliranje z njo na nek način. Lahko jo kombinirate s HTML, kot smo pravkar videl v svojem zadnjem pset in zdaj, in to nam omogoča, da ustvarijo te dinamične spletne strani. Torej, če vi ever-- ne vem, če ste bili kot jaz, ampak v srednji šoli ki so ga nam bo to IT razreda, če smo ustvarili le spletne strani HTML, in so bili statični in kliknite okrog za drugim, vendar nikoli ne spremenijo. Z dinamičnim tiste, kar smo lahko storiti, je, podobno kot pri CS50 finance, boste imeli različne uporabnike. Odvisno od tiste uporabnike " preference in kaj oni kupujejo ali kaj oni prodajo njihovih zalog, boš, da se prikaže različni stvari. Torej, če obstaja nekaj prepoznavanje značilnost za vaš uporabniški to uporabo Spletna stran, bomo lahko dinamično odločiti, kaj želite prikazati za njih. To ni ista stvar, za vsak Oseba, ki je, če smo imeli HTML, Stran bi bila enaka za vsak posameznik, ki je obiskal. PHP nam omogoča, da prilagodite strani. In potem bomo lahko bodisi jih v Ista datoteka, ki je, kot v primeru Pred tukaj, smo videli, da imamo HTML vsi tukaj in potem imamo to malo PHP. Mi lahko naredimo tako, ali CS50 finance, Če ste fantje pogledal files-- in bi morali imeti čas na korak skozi nekaj njih skupaj na koncu section-- mi lahko vidite, kako lahko dejansko hranite ločeno, ki je pravzaprav bolje stvar. So. Crash seveda. Vse Hitre preproste stvari boste morda morali vedeti za PHP. Razglasitvi spremenljivke. To blue je malo siten, lahko pa upamo, da vi fantje videli. Če ne, bom to napisal na kredo krovu. Prijaviteljica spremenljivke. Ena stvar, ki vedo, da je, za razliko od C, PHP je ohlapno ali dinamično vnesli, kar pomeni, da vam ni treba, da povej spremenljivko, kakšne vrste je. Lahko samo preprosto reči neka spremenljivka je enaka ne glede na tvojo voljo, in se odloči tudi vrsto da je spremenljivka na doživljenjsko času za vas. Kot boste videli, lahko to povzroči nekaj zelo zanimivih stvari. Vendar v večini primerov, ki jih ni treba navesti vrsto. Lahko, in lahko vnesete cast stvari, kot si običajno ne bi videli, če želite ga prisilila, da je določena vrsta, vendar vam ni treba. To se ne bo kričal na vas če ste le razglasi spremenljivko in ne določite vrsto za njim. Torej, v primeru, da ne more prebrati this-- Vem, da to ni najboljše. Mislil sem, da bi prikazal better-- Tako boste inicializirati vsako spremenljivko je le z znak za dolar, kar si želi, da se imenuje, in potem kaj je dodelitev. Torej v tem primeru, to je približno $ var = 3. Torej, če bomo kdaj uporabili $ var nekje, bo to samo je enaka kot dajanje 3 tam. OK? Torej, katerakoli spremenljivka, samo znak za dolar, ne glede na želite poklicati svojo spremenljivko, in vse, kar si želiš, da enaka. Malo hladnejše. Manj pisati za inicializacijo spremenljivka, kajne? Ali to smiselno za vsakogar? Samo hitro sintaksa Razlika med C in PHP. Polja so veliko hladnejši v PHP. Lahko jim dajo ključe. Torej način, da razmišljajo o tem je, da, če bomo kdaj želel dostopati element v matriki, smo morali vedeti, Indeks tem, kajne? Tako smo vedeli, da s C, smo lahko dostop do prvega elementa s tem nizom nosilec nično, ali če bomo želijo prvi element, matrika nosilec ena. In če bomo želeli nekaj tam, morda smo pravkar imajo Ponovil skozi, razen če smo dejansko vedeli, indeks. Ena stvar, ki je res cool s PHP nizi je, da oni kaj pravimo asociativna. Tako da bomo lahko povezali nekateri ključni za neko vrednost, in smo dejansko dogaja to-- Pokazal vam bom kako lahko to uporabite v sekundi. Ampak v bistvu, če si kdaj želeli za inicializacijo paleto, kot je ta, imate nekaj $ array. Torej, na enak način, to je samo neka spremenljivka, ki smo ustvariti. To bi lahko imenovali vse, kar ste želeli. To je lahko $ primer. Samo še ena spremenljivka. Tisto, kar je matrika je bracket sintakso, da imamo tukaj. Tako kot običajni C in mi nekaj ključ do neke vrednosti. Torej key1 gre Value1, key2 dva gre VALUE2. Ti pari so ločeni z vejica, tako kot običajni nizi. Vseeno. Ena velika. Tipke so obvezna. Vam ni treba, da jih uporabljajo. In če ne, potem je to ravno normalno. Vprašanje? Ali pa, oh. OBČINSTVO: No, pa desno. Kje je spomin prihaja? Lahko je tudi enak kot [Neslišno] in iz dimnika? Je, da tudi z uporabo PHP? Kot takrat, ko smo jih povezuje? ALLISON BUCHHOLTZ-AU: S PHP, Mi ne težijo treba skrbeti, kje naše Pomnilnik prihaja iz. Ne bomo porabili veliko ko govorimo o tem, tako da to ni res nič vam treba skrbeti. Torej tipke so obvezna. Na enak način, če ne želite to povezano, želite le normalno matrika, kjer matrika nič je prvi element in matrika ena druga element, lahko to storite natanko kot bi v C. Imate nekaj spremenljivka, ki se dogaja, da se vaš matrika, in je enaka teh konzol tukaj. Da. OBČINSTVO: Ali ima Isto vprašanje za zapis. Všeč mi je, ne morem narediti kot paleto ++, in ki kaže na druge. ALLISON BUCHHOLTZ-AU: Lahko do-- No, imate lahko nekaj iterator, i, da lahko narediš i ++ in ne array i na enak način. Ampak to je to. Torej, kot v tem primeru, array 1 bi enako 20. Ista vrsta indeksiranja zapisu. To je v bistvu samo implicitno stvar tukaj, kjer piše nič, nič do 10, do 1 do 20, 2 do 30. To je samo implicitne tipke za to. Kakšne spremembe v PHP da ste sedaj moč prerazporediti tiste ključe storiti vse, kar želite. Torej, ena stvar, ki je tukaj. Tako da imam samo nekaj primerov tu, da sem napisala za vas ker se počutim kot primeri vedno pomaga več kot le abstraktno. Torej, v tem primeru tukaj smo nekaj asociativno paleto da je moje ime, moj priimek, in jaz sem odmeva, ki je le za vse namene tukaj bo izpisal na izhod tukaj. In pravi, OK. Izpisal vrednost, ki ustreza matriki na ključnih Allison. In jaz vam lahko pošlje tudi fantje Vse to kodo po pouku. Torej, ko tečemo to, kaj storiti misliš, da se bo zgodilo? Kaj se bo izpisal? OBČINSTVO: Vaš priimek. ALLISON BUCHHOLTZ-AU: Moj priimek. To počne. Tukaj. Natisniti. Torej, če smo na to in mi spremenili bilo dodati nekoga drugega, da naše list-- Torej, recimo, da imamo Emmo tukaj in bomo povezali svoj zadnji name-- Poglejmo, če sem črkovati to pravico. OBČINSTVO: Ja. ALLISON BUCHHOLTZ-AU: Da. OBČINSTVO: Dobro opravljeno. ALLISON BUCHHOLTZ-AU: Lovely. Torej, zdaj, če bomo to imeli tukaj in smo želeli, da bi našli svoj priimek, ga imate tam. Tako da lahko samo pomislim kot zamenjava te tipke tukaj. Ti si samo nadomešča indeks. Torej, to vam omogoča, da samo iskanje skozi matriko veliko lažje. Vam ni treba vedeti indeks. Dokler ta ključ, ki ga iščete za obstaja nekje v matriki, PHP ga bodo našli in da se bo vrnil vrednost povezana z njim. Zato vam daje veliko več moč s svojimi nizi. Da. OBČINSTVO: Če imate dve tipke Enako, bo dal napako? ALLISON BUCHHOLTZ-AU: It bi vam napako, ja. Ali da bi malo več smisla za vas? In na enak način, imamo niz tukaj, da nima ključev. Prav tako je to sintakso da bi morda želeli da se zavedajo, saj boste morali uporabiti ta v vašem pset. Kadarkoli delate echo, imate te ponudbe, in ko ste se nanašajo za del matrike, moraš imeti ti zaviti oklepaji okoli njih. To je nekako siten, ampak boste morali to storiti. Torej samo nekaj, da v mislih. Če ste tekmovanje v teku na napake, Vem, da to obstaja v mojem paleto vendar pa je to metanje napak na mene, poskusite dajanje naramnice okoli njega in bi moralo delati. Torej v tem primeru tukaj, to je normalna matrika C, ki smo navajeni. Ima tri, pet, šest, in smo pravkar želite natisniti prvi element, zato bi bilo treba to natisnete tri. In sem teči vse to, tako da upajmo, da se ni nič spremenilo. Vidimo na dnu tod to samo natisne tri. Cool. Da smiselni za vsakogar? Asociativne nize. Veliko bolj kul kot običajni nizi. To je why-- Ali David vam pokažem Izvajanje PHP pset6 Med predavanjem na vseh? OK. Torej, vam bom pokazal. Jaz ne vem, off t-- OBČINSTVO: On je prejšnji teden. ALLISON BUCHHOLTZ-AU: je bilo prejšnji teden? OBČINSTVO: Ja. ALLISON BUCHHOLTZ-AU: Ja. Torej se Speller mogoče storiti v kot šestih linij s PHP, in del moči, ki je to asociativna matrika, kjer lahko samo naložiti vsako besedo v, in ga imate enak true ali false. In tako lahko rečem, oh. Vrni se slovar na neki besedi in če je ni, se bo vrnil res. V nasprotnem primeru ne boste našli ga in ga bomo vrnili false. Tako nekako kul malo stvar. Vse je v redu. Torej tistih, ki so asociativni nizi. Oni so zelo kul. Jaz jih res rad. In očitno this-- Ah. OK. Zdaj je to delovalo. Mogoče. OK. Še ena stvar. Torej, z enakostjo, samo Kul stvar, da v mislih. S PHP, zato, ker je dinamično vnesli, Tip lahko spremeni, odvisno od kdaj ga vodijo, kako ste tekmovanje v teku. Pravzaprav sem imel nekaj kul Primeri, ki sem vam bom pokazal, fantje. Vendar == samo preveri enakost po vrsti žongliranje. Torej, če imate kaj je to kot znak 1 in številko 1, PHP, bi vam povedal, da tiste, sta enaka, ker ji lahko Manipulirati vrste dva izmed njih, dokler ne bo enaka, ki je morda v vašem primeru je v redu. Če želite ugotoviti, ali so iste vrednosti in enakega tipa, hočeš to ===. In jaz ne mislim, da imate katerega primeru, ko morate uporabiti, da v pset, vendar za veliko vi, ki bo šel na storiti spletnih strani za vaše končnih projektov in stvari, to je dobra stvar, da vedo, da == === in so različni, in to je dobra Razlikovanje razumeti. OK. So. Foreach zanke. So način Ponovil skozi paleto. Torej, tako kot nizi postal toliko hladnejše v PHP, svojo pot Ponovil skozi array, mislim, postane tudi precej hladnejši in veliko močnejši. Torej, namesto da bi ustvarili nekaj za i je enak 0 in karkoli, in nato posodobiti, da i kot greš skozi, imamo to super foreach zanke. Torej, tukaj je standard splošno Struktura teh dveh. Torej, ali boste imeli foreach nekaj niz kot vrednost želite ponoviti kot. Torej je to ime matrike spremenljivka, ki želite, da reference, in to je tisto, kar želite za klic v zanki. OK? Torej, to ustreza vsak element matrike, in ti to vrednost v to zanko. Imam primer. Vem primeri so tako veliko bolje. In zato je to, če obstajajo nobene tipke, zato je to všeč če imamo samo enega, kjer ključe so normalne indeksi za vaše array. Ali je to tudi v primeru, če nimaš uporabo za ključe. Če vam ni mar tipke in si želijo ponovitev prek z vrednotami za vsako od teh v karkoli bi, da je v redu. Lahko uporabite strukturo. V nasprotnem primeru, če obstajajo ključi, naša $ Vrednost samo spremeni v $ ključna vrednota. Tako da samo spremeni v para ključev vrednosti. In potem se lahko nanašajo na $ ključ in $ vrednost v našem krogu. OK? So. Primer. Bi bilo lepše. OK. Torej imamo tole tukaj, ki smo imeli nekaj are-- Lahko tudi ustvariti paleto, kot je ta ki ga ima neka spremenljivka enaka na paleto z oklepaji, ali pa samo narediti nosilec. Morate narediti nosilec, vendar To je še en način, da to storite. Torej, tukaj imamo nekaj niz treh elementi enega, dva, tri, in imamo foreach. Opazili ta ustreza Niz, ki smo ponavljanjem več, in to je tisto, kar smo kliče vsaka stvar v naši matriki. In vse to počne, je, da je bo izpisal vsako vrednost. Torej, če smo ga teči, smo opazili, da smo ima vrednost ena, dve vrednosti, vrednost tri. In na enak način, da tipično nizi morajo biti ene vrste, nizi nimajo vsem biti enakega tipa tukaj. Torej, zdaj imamo nekaj int. Imamo dve struni. Torej vaše nizi lahko dobili veliko močnejši in morda malo bit umazani, odvisno o tem, kako želite, da pogled na to. Tako da bomo lahko to spremeni da karkoli želimo. Mi uporabljamo vrednost. To je samo standardna stvar, ki jo uporabljate. Ampak, samo pomembno, da vemo, da smo lahko to imenujemo, kot števec, če bomo želeli. In dokler se ujemajo, Očitno vsi so srečni. Če boste kdaj želeli teči PHP teči nekaj podobnega tem ukazom linija veš tukaj, si naredil PHP, in potem ne glede na datoteko, ki jo želite zagnati. Torej, če želite, da se igral s PHP, in več logike in ne boste res potrebujejo, da glej kot v spletnem brskalniku pa jo lahko vodijo v ukazni vrstici, kot je ta in echo bo izpisal ven, kar ti je všeč. OK. Drugi način, ki ga imamo, je, kot je ta. Torej je to primer, ko pa morda želite, uporabljati tako ključ in vrednost, Vem, da ti je všeč super izmišljene primere ampak upam, da bo je malo bolj jasno. Torej, tukaj imamo nekaj niz enkrat, vendar tokrat, ne le ob veš, ni ključnega pomena. Imamo ključe za vsako od njih. Tako da bo še eno, bo b ustrezajo na dva, bo in c ustrezajo tri. In v tem primeru, če smo se na ta način pisati, imamo dostop do obeh ključ in vrednost za vsako od njih. Torej, ko tečemo to, smo dobili vsakega od tistih. Tako da natisne naše ključe in ustreznih vrednosti. Še ena kul stvar je, da, in vem, je dejal, kot je ta ena ni imela ključe, vedno pa je implicitno ključna, ker če ne prenese ključ, seveda, vaš Tipke so le vaši indeksi ali indeksi, tako smo lahko Vedno tudi ne tega. Kot je ta. I bo izpisal. Torej, v tem primeru, če opazite, imamo implicitne ključe nič, ena, dva tukaj. In na enak način, s to eno, vedno lahko samo povem, r, kot je vrednost, in boste morali dostop do vrednosti. Vam ni mar za vaš Tipke, tudi če ima vaš tipke, če vam ni mar njih, vam ni nujno, potrebujejo, da jih v vašem foreach zanke. Ali je to smiselno za vsakogar? OBČINSTVO: Ali lahko samo pokličite ključe, preveč? ALLISON BUCHHOLTZ-AU: Ja vas lahko popolnoma storili, preveč. Pravzaprav, počakaj. Počakaj. bi it-- No. Če želite tipko, nato kar morate storiti, ključ do vrednosti. OBČINSTVO: Dodajanje vrednosti. ALLISON BUCHHOLTZ-AU: Ja. In si nikoli ne uporabljajte vrednost je vse. OBČINSTVO: OK. ALLISON BUCHHOLTZ-AU: Če vas samo da eno stvar tam, da se bo, predvidevam, da ste govorimo o vrednosti, ne pa ključna. Great vprašanje. Vse je v redu. Cool. Pravzaprav, počakaj. Naj vidim, kaj imam. Torej, preden smo prišli v mesto in dobil sem samo želim, da vam pokažem fantje malo o tem, kako je dinamično tipkal, ki je nekako kul. Imam vse te. Imam kot štiri primere tu gor, in jaz vam bomo poslali vse to kodo po pouku. Torej, tukaj imamo nekaj spremenljivka. To je samo 1 plus 1, kajne? In bomo natisniti, kaj je to enaka, in potem imamo neko vrsto. In kdo kakršne koli ugibanja o tem, kakšne vrste, da se dogaja, da je? OBČINSTVO: int. ALLISON BUCHHOLTZ-AU: Ja, to je int. Tako da jih samo sešteje. To je int. Vse dobro. Tako da to naslednjič, imamo kaj videti, kot strune. Ko tečemo to, da misli, oh. Ste dejansko poskuša samo dodajte stvari. Pravkar sem si zmeden. Tako da sem le, da bo popraviti za vas. Si mislil int. Vem, da si mislil int. Torej, to je eden od načinov, kako lahko glej, PHP ima um svoje lastne. Čeprav smo izrecno dejal, poglej, ti pa so strune. Mislim, da en niz. Vendar pa pravi, oh, ampak ste poskušali, da jih dodate, zato morate pomeni, da je število. Zaupaj mi. Zato pravi, da je celo, in jim dodaja kot normalno. Tako nekako se ohladi če boš da bi dobili leni s svojimi stvarmi, ali želite kaj dodati. Velika stvar je, da če misliš nazaj na pset2, nekaj, kar je uporabniku inputted, prav, da razmišljamo je znak ali niz na prvi. Zdaj nimamo izrecno reči, oh, bi to int. PHP bi le bilo všeč, oh yeah. Vem, da si mislil int. Smešna si. Niste pomeni niz. Torej v tem primeru se sedaj da ima to, kar mislita, da se dogaja, da tukaj storiti? Imamo niz in int zdaj. OBČINSTVO: Še vedno int. ALLISON BUCHHOLTZ-AU: Še vedno int. In razlog is-- Jaz bi dal več primerov, ampak ta je zabavno. Razlog, da to počne zato, ker to je, kot ste poskušali dodati stvari. Torej, če ste poskušali dodati stvari, bom prevzela, razumno, da imaš nekaj smiselno, da bi lahko dodali. Jaz sem samo dogaja, da ji int, in smo šele tekoč, da ga dodate, tako kot ponavadi. In potem na enak način, I mislite vi dobili idejo. Imamo tudi tole tukaj, ki je Samo ožge, in to počne isto stvar. To je, kot si neumno uporabnik. veš želite int. OBČINSTVO: Če bomo dal pismo, bo to storite [neslišno] vrednost ali ne? ALLISON BUCHHOLTZ-AU: Oh, To je dobro vprašanje. Poglejmo. Nope, še vedno je int. Tako da je malo nor. To je le nekako, da vam pokažem PHP lahko včasih obnašajo irrational-- Ne popolnoma iracionalno, vendar pa lahko obnašajo na način, da ne boste res pričakujejo. Torej, če ste v dvomih, preverite vrste stvari. Ta funkcija gettype so lahko zelo koristni. Značilno je, da če si počel kaj z plusses ali katerikoli matematični operatorji, to se dogaja, da prevzame vse smiselno je samo int. Torej, imate char 1, ali Niz 1, ali dejanski INT 1, se dogaja, da predpostavimo, da. Če želite typecast kaj si povsem lahko. Lahko bi naredil nekaj podobnega podvojiti tukaj, verjamem. In v tem primeru je to reči, oh. Jaz bom naredil to dvojno, ker ti izrecno povedal, da je dvojna. Lahko vedno izrecno da PHP nekaj narediti, vendar. OBČINSTVO: Čakaj, zakaj je plus 1 tam? ALLISON BUCHHOLTZ-AU: Oh. Tam. Bilo je samo odmev. To je bila moja napaka. Torej, lahko to izrecno povedal, da narediti nekaj iz določene vrste, vendar večino časa, gre za dinamično odloči, da se v času izvajanja. Tako se dogaja, da gredo skozi in to se dogaja, da je kot, OK. Kaj najbolj naredi čut za to, da bo? Naj bi bilo pravzaprav niz? Bi moralo biti int? Bi moralo biti plovec? Bi morala biti dvojna? In se odloči, da je za vas. Lahko ga prisili, da stori kaj hočeš, ampak-- OBČINSTVO: Ali se zaradi tega počasneje? ALLISON BUCHHOLTZ-AU: No, Mislim, C je zelo učinkovit. Mislim, da je vsekakor počasneje, ker to je proces, saj se dogaja. C, sem skoraj prepričan, je hitrejši. Vendar očitno obstaja veliko kul stvari tukaj da nam ni treba skrbeti. Torej, če si bomo iskali skozi matriko, smo ne bi bilo treba pravzaprav ustvarili nekateri iskanje skozi paleto. Mi lahko prosite za ključ in PHP bo poskrbel za to. Cool. Super. Izgleda, da je konec mojih primerov. Vidva nikoli ne bo da bi pozabili, da je zdaj. Boš všeč, oh, PHP je samo všeč, da je mama, ki je, kot ne, ne, ne. Vem, kaj misliš. Vem, kaj hočeš. OK. Torej, to je, upajmo, koristne za vašo pset, vsaj na samem začetku, ker ste vse o obravnavanju z oblikami in stvari iz strani uporabnika. Torej obstajata dva načina, da smo podajaš informacije s PHP in HTML ko smo mimo med tema dvema stvarema. Torej imamo $ _GET, ki se prenaša preko URL, in imamo $ _POST, ki se prenese v sporočilu telo, in zato menimo, da je skrita. Ampak ena stvar je razumeti, da nobena od teh se obravnavajo varno. Če imate nekoga, ki je prestrezanje sporočil, ki gredo naprej in nazaj med vami in strežnik, lahko še vedno dobite te podatke. So samo še pogledati malo težje. To ni res, da je that-- samo skrita od naslova. To je še vedno v telesu sporočila, čeprav, tako da, če imajo dostop do, da to je res samo like-- To je kot razliko med nečim ki je zapisana na zunanji strani ovojnice in nekaj počutje napisano na kos papirja v notranjosti. Saj ni tako težko, da se odpre ovojnico in dobili kos papirja v notranjosti. Odobrena, bi bilo veliko lažje pravkar prebral zunanjosti. Ampak to je, kako lahko vrste, da o teh. Nobeden od teh so res šteje varno. OK? Odobrena, v resnici ne pomembno za vaš pset ker si ne ukvarjajo s poslovnimi skrivnostmi, ampak to je ponavadi ena stvar, ki se mi res rad poudaril, saj ljudje mislim, oh, no, to je skrita. To mora biti zelo varna. No. To ni varno. To je le nekoliko manj negotovi, se mi zdi. Ali unsecure. Torej imamo dejansko zgled. Kot veste, ljubim naučiti več s primeri. Počutim se, kot da to pomaga bolje. Torej, imamo nekaj preprostega obrazca tukaj ki je dejansko, če se vidva kdaj zmeden približno PHP, to je res majhna, vendar php.net je pravzaprav res dobra dokumentacija. Res mi je všeč. Sem jo uporabljajo za pripravo na to del, tako da sem lahko vet je za vas. To je primer iz njih o tem, kako $ _POST in $ _GET dela. Edina razlika med dvema od njih, poleg kjer je informacija Prikaže se, ali je to v URL ali v telesu, je tudi kaj metoda. Torej, v vašem obrazcu za HTML-- This je zelo preprost HTML oblika. Mi lahko kdo pove, kaj počne? OBČINSTVO: Vprašajte za vaše ime in starost. ALLISON BUCHHOLTZ-AU: Točno tako. Torej imamo nekaj ukrepov obliki. Da vemo, da je nekaj akt obliki. In kaj se bo zgodilo je, ko smo zadeli Submit to se dogaja, da pokličete action.php, ki je, kaj je to, in to se dogaja, da ga pokličete z metodo $ _POST. Torej, v tem primeru si Podatki skrita. in to je samo tvoje ime, nekateri vhodom, se imenuje ime, nekateri starost, input type = "text", da pokličete tudi starost. In potem, če smo zadeli Submit Oddati bo poklical action.php. Torej, ko smo dejansko udaril Submit smo vedo, da je objavil, per se, in bomo dejansko videli to vaš problem je določeno, da upajmo, da bomo priti na sprehod skozi malo. In vse to počne tu POST nekaj superglobal spremenljivka da smo govorili med predavanjem. In kako lahko pomislite $ _POST je da je samo asociativno paleto. OK? Torej je to nekaj ključnega pomena, to nekateri ključni, in ne glede na uporabnikov vnos postane vrednost za vsakega od tistih. OK? Torej, če bi napisali, kaj to vrsto dejansko izgledala desno, ko smo predložiti obrazec, bi mi imajo, to je naša $ _POST, in nekateri matrika, kjer imamo nekaj ime. Recimo samo, da bomo naredili moje ime, in potem imamo nekaj starost, 21. Woo. Torej, to je vse, $ _POST je. $ _POST je samo asociativno paleto, OK? Samo pravi, OK. Kaj so stvari, ki smo jih zahteval od uporabnika? Kaj so spremenljivke da smo mimo okoli da smo prosili za v tej obliki? In potem, kaj so vrednote, povezane s tem? Torej, v tem primeru, če sem ga poslala z imenom Ally in mlajši od 21 let, To je tisto, kar $ _POST izgleda. OK? In to je tisto, kar ta PHP datoteka ima dostop. Vse v redu? Torej v tem primeru, to je tako kot dobili koli drugo stvar iz naše paleto. Namesto, indeksa v našem matrika, imamo nekaj ključ. Torej, to se dogaja, da me vrednost na ime ključa. Torej, to se bo Ally, in Ta pravica je tu dogaja, da me vrednost pri $ _POST kjer Ključ je starost, ki bo 21. Boš biti početje to zelo malo. Ja, iz katerega dela? OBČINSTVO: Ko ste bili pokaže na spodnjem delu. ALLISON BUCHHOLTZ-AU: Ta spodnji del? OK. Torej, boste razumeli, da je to naša HTML tvorijo, in imamo nekaj metoda $ _POST, katere zadeve. To bi lahko bila tudi $ _GET, vendar za ta namen, smo le, da bo rekel, da je $ _POST. Ko smo poslali ta obrazec, to je del PHP datoteke, ki je klical. Torej, to PHP datoteka je sedaj dogaja, da izvrši dati informacije iz našega HTML oblika. Torej, kaj počne, je, ko smo hit Pošlji na naši HTML obliki to je vas, ki poteka ta superglobal, ki je samo asociativno paleto. To je to. To je tako kot, da gre za datoteko. In kaj piše, je, OK, tukaj je $ _POST. To je tvoj asociativni niz. Storiti z njim, kar hočeš. In mi rekel, OK. Daj mi vrednost na ime, in mi vrednost na starost. Torej, to so le ključi, in to je naša matrika. Ali je to smiselno? OBČINSTVO: Mhmm. ALLISON BUCHHOLTZ-AU: Awesome. OBČINSTVO: Če imate za ponovno predloži oblika pa je samo prepisati podatke? ALLISON BUCHHOLTZ-AU: Ja. Mhmm? OBČINSTVO: Zakaj imate navesti, da je int? ALLISON BUCHHOLTZ-AU: V tem primeru, Uporabnik je prav tako silili v int. OBČINSTVO: OK. ALLISON BUCHHOLTZ-AU: Ne vem če bi dejansko potrebovali, da ampak za svoje namene, so se odločili, da so želeli, da bi bilo int. Oni samo Typecasting. Mogoče oni ga uporabljate kot nekaj drugega kasneje. To je samo en košček. Ja? OBČINSTVO: Kaj če bi vnesli 12, T-W-E-L-V-E, za starost? ALLISON BUCHHOLTZ-AU: Če potrudil, da tip, ki kot notr? OBČINSTVO: Ja. ALLISON BUCHHOLTZ-AU: I pozabiti, kaj to počne. Mislim, da bi poskušali spremeniti Prvi znak, da notr, ali se vrednost in pretvorbo da, vendar sem pozabil, kaj je. Bilo zabavno, da napišete Program in poskusite. Narediti par vrstic. OK, tako da je to eden od glavnih stvari, ki jih boš morala delati. Bom upajmo sprehod skozi nekaj datotek od pset z vama. Izgleda, da bomo imate čas, da to lahko storimo. Vendar si bo delaš veliko stvari kot je ta, kjer ste kratki stvari iz HTML obrazca v tem PHP obrazec, ki ga bo nato izvršiti neko nabora ukazov o podatkih, ki jih je zagotovila. To je dobesedno bistvo vašega pset. Ja. OBČINSTVO: type = "submit", da naredi gumb na obrazcu HTML. Ali obstaja način, da pokličete Gumb kaj? Torej bi bilo všeč ime = "predloži"? Ali je ta gumb le, da bo treba izprazniti zdaj, saj vas le ji je dal vrsto, ne pa ime. ALLISON BUCHHOLTZ-AU: Mislim, da je Pravkar bo zdaj prazna. Mi vsekakor lahko ogledate v pset, ker bomo zagotovo gledaš registriraj se takšne stvari. Ampak ja, definitivno lahko določite besedilo, ki ga želite na gumb. OK, tako da SQL. Ko ste nakup in prodajo zalog, morate slediti teh. Torej način bomo storili, da je z SQL, ki je samo zbirke podatkov. Misli, da je za mizo, kjer je ste vodenje vse te informacije o vaših različnih uporabnikov. In vidva sta dejansko bo vzpostavila eno od teh. To je zelo kul. In tam so le štirje glavni stvari da morate vedeti za to pset, in so posodobitev, tako da v bistvu posodobitev podatkov. To predpostavlja, da je že tam. Če je ni, to se dogaja da vas udaril z napako, tako da morda želite preveriti. In boste posodobiti on-- I morala actually- imam čas, Napisal bom nekaj teh. Bom dejansko vam fantje a Nekaj ​​vzorca, polna SQL ukazi, saj so le glavna tisti, ki pa jih lahko združijo. Tako da bom naredil to in bom poslal da, da se vam s temi pojasnili. Torej, če želite posodobiti nekaj, morali povedati, kaj si o posodobitvi in kje ste ga posodobiti. Tako da bi ukaz tipično SQL biti update ID, kjer je nekaj enako nekaj. Ali kot update naslov kadar ID enak 3, in to bi posodobiti polje naslova svojega uporabnika, ki je ID tri. OK? Torej, če greš na SQL in W3Schools, imajo super primere. Dejansko bi lahko potegnem nekateri v malo. In nato vstavite, ste pravkar vstavljanje nekatere vrednote tam. Torej, če ste poskušali ustvariti nekaj novega vnos, tako da boste ustvarili novega uporabnika ki jo lahko naredite vložek v karkoli je vaša baza podatkov se imenuje, in bi imeli vse te vrednote. Potem moraš izbrati, izberite vrednosti za ogled. Torej, če ste poskušali preveriti, vidim, če uporabnik ne obstaja ali pa si poskušam zagrabiti specifična Informacije o uporabniku boste uporabljali izberite. In potem izbrisati, mislim, je zelo preprosta tam. Ste pravkar brisanje nekaj iz tabele. In v resnici, mi dejansko potegnite up nekaj primerov za vas. Oh poglej, to je moja 61 str. Torej, če gremo na W3Schools, upajmo, da je to spet. Da, Love it. Gremo na SQL. Torej, to je nekaj tu. Torej, to je zelo preprost SELECT. Man, I love to funkcijo. Torej, lahko imate SELECT nekateri polje FROM kupci. V tem primeru, kupci nanaša spletna baza podatkov, ki ga uporabljate, tako da vse, kar je vaša miza imenuje, in zvezda pomeni le, da izberete vse. Daj mi vse eno. Torej, samo želim, da bi vam fantje a Nekaj ​​primerov, kako je to. Torej imamo SELECT, UPDATE. Torej, tukaj je nekako splošno sintakso. Torej posodobitev, ne glede na vaš Ime tabele je, in nato nastavite je, če ste dejansko dogaja biti, katere podatke ste spreminja. Tako da to lahko be-- Pustiti mi, da je primer tukaj. Torej, to se dogaja, da be-- OK. Zato sem si ustvarila zbirko podatkov za nas. Bomo imeli nekaj ID, nekaj let, nekateri poimenovali. Torej ID ena bo leto '15, in smo šele tekoč, da bi ga mi. Kdo želi biti drugi oseba, ki v naši mizi? Kdorkoli. Jaz sem šele tekoč, da izberejo Emmo kajti tvoje ime je hitro. Emma, ​​kaj letnik pa si? OBČINSTVO: Katero leto? ALLISON BUCHHOLTZ-AU: Ja. OBČINSTVO: '16. ALLISON BUCHHOLTZ-AU: 16. Ste šele bo moj morski prašiček za danes. OK, tako da imamo ta dva človeka. Pravzaprav, naj to storijo. Recimo, slišal sem jo narobe, in jaz dejansko rekla, da je leto mlajši. Ona je '17. Kaj želimo narediti tukaj, če bomo želel posodobiti leto Emma za pravilno uporabo, da je tisto, kar bi storiti, je, da bova rekli, ažurirajo podatke tukaj. In to lahko vsi v eni vrstici, vendar saj sem stisnjena v prostor tukaj, Bom tukaj napisal. In želimo določiti. Torej je to tabela posodabljamo. SET se bo kaj stolpec ali kateri podatki so dejansko spreminjajo. Kaj smo spreminja, je letos, tako bomo rekli SET leto = 16, in nato WHERE nam pove, kateri uporabnik ali kakšna vrsta smo dejansko posodabljanje tega. Torej, kje? Imamo dve možnosti tukaj. Kaj so dve? To so edinstveni, kajne? Torej, naša imena so unikatni in naša ID je edinstvena, kaj sta dve možnosti za primere, kjer bi lahko to naredila? Dal ti bom eno. Kar lahko storimo WHERE ID = 2, ali bi lahko storili kaj če gremo off to paradigmo tukaj. OBČINSTVO: [neslišno]. ALLISON BUCHHOLTZ-AU: Točno tako. Tako bi lahko tudi to ime = Emmo. In eno od teh bi delovalo. In to smo tekel, bi bilo všeč, OK. Bomo to spremenili. Ti si dejansko 16, tako zdaj si spet v redu. OK, tako da to ne bi bilo super uporabna v vašem pset kjer morda nekdo odločil za nakup 100 delnic Appla, nato pa so bili podobni, samo hecam se. Želim samo 90 delnic. In tako so prodali 10 od njih, tako da boste morali posodobiti količino zalog da imajo. Torej, posodabljanje zaloge, posodabljanje tabele. OK. Torej, to je en primer tam. To je sintaksa posodobitev. DELETE. Oh. Vstavite v naša druga. Torej, tale tukaj je zelo podoben. Lahko samo rečem, da je to Primer Dodajmo nekoga. Mi lahko dodate Ben tokrat. Mi vstavite, in smo želite ime za našo mizo. V tem primeru je to podatki. In potem smo samo želim, si boste pravijo, VREDNOTE, in kaj boste storili je, boste dejansko morali prepričati da imate nekaj za vsako vrstico ki jo želite. Pravkar ste jih v zaporedju. Torej, v tem primeru bi lahko rekli, 3. Ti si 18, pravi Ben? OBČINSTVO: 19. ALLISON BUCHHOLTZ-AU: 19? OBČINSTVO: 19. ALLISON BUCHHOLTZ-AU: Vaš letošnji '19? Ste diplomirali leta '18, kajne? OBČINSTVO: Oh. ALLISON BUCHHOLTZ-AU: Graduation leto. OBČINSTVO: OK. ALLISON BUCHHOLTZ-AU: Sem si mislil, ste že načrtujejo vzeti leto off tukaj? Torej, '18, imamo Ben. Torej, v tem primeru bi šlo skozi, da bi ustvarili nov vnos tukaj. Cool. Ni slabo, kajne? Veliko tega se dogaja, da je sintaksa za vas. Koncepti mora priti, upajmo, relativno enostavno. Skladnja je edina stvar, ki je lahko precej zapleteno. In potem je naša zadnja je DELETE, in kot ste opazili, Jaz zelo priporočiti to spletno stran. To je super. Tam je ton stvari. Torej, na enak način, da smo imeli nekateri UPDATE, DELETE je zelo podoben. Namesto tega smo Izbriši iz podatkov. Torej, v tem primeru naša zadnja enega bom napisal tukaj. Recimo, da smo želeli, da bi me izbrisati. Ne morem pisati danes. DELETE iz katerega koli tabeli smo v podatke. In dejansko obstajajo trije načini smo se lahko odločijo, da me izbrišete. Lahko vi povej mi, kaj tri načini so, kako bi me lahko izbrisati? ID enak 1, kadar ID enaka 1. Kar lahko storimo, kadar leto je enako 15, ali če ime enaka Allison. Seveda obstajajo samo tri različne načine, ker to so vsi edinstveni. Običajno v tabeli, in še zlasti v vašem pset, boš enega določite ti stolpci biti edinstven. To je verjetno, da bo nekaj edinstven ID številko, ker če have-- dejansko, da bi dejansko kaj imaš dva. Ne morem se spomniti, če bom pustil imate dve enaki stvari. OBČINSTVO: Potem bi spremenijo svoje vedenje. ALLISON BUCHHOLTZ-AU: To bi. To bo povzročilo vedenje, ki je nepričakovano, da vam ne morem napovedati. Tako da boste zagotovo imeli en stolpec v bazi podatkov, ki bo edinstvena, in to je ponavadi lahko nastavite je tako, da je kot edinstven ID, in to bo samo posodobiti vsak ko vstavite v tabelo. Vsakič, ko ustvarite novo vrstica, se bo samodejno prirastek in ji dati nekaj edinstveno ID. Torej namig za vaš pset. OK. Tako da je SQL. Torej, zdaj bomo govorili o zelo zadnja stvar, ki pa se pravzaprav zelo dobro s svojim pset, če bi šel naprej. Torej, MVC, model, pogled krmilnik. To je res samo način ohraniti stvari organizirali. Na enak način, s C smo vas vprašam fantje ustvariti funkcij in ločene stvari ven, to je samo način izločiti Koda ko delaš web development. Tako da naredi stvari veliko bolj elegantno in poenostaviti, in to je dejansko pot da je vaš pset je pravzaprav ustanovljen, tako da če ti je všeč ali ne, ste tekoč, da ga učijo, tudi če ne misliš ste ga učenja. In ena stvar je, da vam omogoča tudi storiti veliko več, kot je sodelovanje uporabnika. Torej, ko sem prevzel CS50, sem Spletna stran za svoj končni projekt, in sem si mislil, bom ročaj stvari baze podatkov. Jaz bom vrnil konec stvari, in moj sostanovalec, ki mi je pokazal z njim je bila zelo umetniško. Počne scenografijo, in ona želel, da bi bilo vse lepo. Tako sem kot, OK. Lahko poskrbimo Vse front end stuff. In stvar je, kot bomo videli zelo kmalu, ta model pogled krmilnik vam omogoča popolnoma loči kodo, tako da lahko delam na izvajanje naših straneh, in manipuliranja informacije v naših bazah podatkov, in bo lahko samo, da se stvari lepa, in sva bila oba zelo srečna, saj imamo za kaj sva si želela in mi ni bilo treba ukvarjati z drugo. Tako smo se družili skupaj. Radi se družim. Samo nisem hotel ukvarjati z Vse CSS in HTML stvari. Sem bil všeč, vam bo to lepa. Bom se ukvarjajo z bazo podatkov. Tako smo to imeli res cool, zelo malo mizo. Ljubim tabel. In v bistvu je model, ki ga lahko pomislite, je samo vaša baza podatkov. Bil sem modela oseba za moj projekt. To je vse o skladiščenju Informacije in organizacijo teh podatkov. Torej, to je tisto, kar smo želeli poklicati nazaj konec. Tako bodo fantje, ki se ukvarjajo z Podatkovna baza SQL in podatkovne datoteke. To je vaš model. Vaš pogled, kot ste morda mislim, nekako smiselno, je, kaj je tvoj uporabnik dejansko vidi. To je uporabniški vmesnik. To je ta obrnjeni prednji del. Torej, to je tisto, kar je moj sostanovalec dobil za delo na ves čas. Bila je super srečen. Tako, da je vse v HTML, in tam je zelo malo PHP. Če ste pravkar govorili o kaj se prikaže uporabniku, govorimo o hipertekst. Govorimo o tem, kako to izgleda. Mi ne govorimo o logiki, ali pogoji ali malenkosti. Vse to postane ravna upravljavec, OK? Tako da obravnava zahtevke uporabnikov in dobi informacije. Torej, ena stvar, ki jo je treba vedeti o Vaše pset je, da v vaših pogledih, vse, kar je pravzaprav prikazovanje informacij nikoli ne sme biti tako poziva, da vašega modela. Vsi, ki se obdelujejo v krmilnik. Vaš krmilnik je ena posredovanjem med tema dvema. To bo od modela za določene informacije. Prav tako lahko izbirate preko tega Informacije, ugotovimo, tisto, kar dejansko potrebujejo od to, kaj storiti z njim, in potem bo posredoval samo informacije vam morali namenom, da jo natisnete ven ali jo prikažejo uporabniku, OK? Ker smo videli stališče kot karkoli se sooča uporabnika, tako da bo veliko lažje za njih, da ugotovimo, oh, če delaš nekateri pravijo, da vašemu modelu in ste prosi za vse uporabnike ki se začnejo s črko A, in delaš, da je po vašem mnenju vsakdo, ki lahko vidijo vašo spletno stran bi lahko dostop do tega. Saj ni nujno, da želimo. Vi ne želite, da ljudje videli Več v bazo podatkov, kot tisto, kar bi jih bilo treba videti. Le njihove posebne želje. Torej regulator ročaji vse to. Torej vse vaše .php datoteke, da bomo videli lahko razmislite o vaših datotek krmilnika. In to je, če ste Res bo prosi za stvari iz vaše baze podatkov, in ponavljanjem ali manipulacijo da po potrebi pred njegovo posredovanje je treba obravnavati. To je res kul pset, po mojem mnenju. Mislim, da je malo bolj kot instant hvaležnost, ker izvajanje Veliko malo drobnih stvari, in vsaka stvar, ki bi morali delati na svoje. Ni všeč, storiti vse, kar je in potem vidim, če deluje. Tako kot s programsko opremo kjer ste, kot sem res upal, da je to prav, ker če ni, obstaja veliko postavlja, da bi lahko bilo narobe. Vse je v redu. Samo pazite, da sem rekel, vse, kar sem potreboval za povedati o MVC. Ja. Cool. Torej, v CS50 finance, imamo naš model, kot sem rekel tukaj. To se dogaja, da je MySQL in phpMyAdmin. Prav gotovo lahko potegnite navzgor, tako tistih, ki fantje dobili priložnost, da pogled na to. Kot sem rekel prej, vaš SQL Baza podatkov deluje kot model, in lahko pošljete pravimo poizvedbe, ki so le te vrste stvari. To so ti poizvedbo. To poizvedbo, kjer ste pravkar prosi svoje podatkovne baze za nekaj, ali ste spremenili svojo Baza podatkov je na nek način. To je vse kar je. In si to storil z Naloge smo ga dala tukaj. Prav tako lahko manipulirati jih ročno s pomočjo phpMyAdmin, ki jih je mogoče z gotovostjo si oglejte. Bom oblikovati vzorec Podatkovna baza z vama. OK. Torej, krmilnik. Torej, v tem primeru, če obvestilo, da je to vse PHP. Obvestilo, da je neke vrste vaš Glavna stvar za vaš krmilnik je, da bi morala biti večinoma PHP. Če imate HTML v vašem krmilniku, res ne vem, kaj se dogaja tam. Na enak način, kot sem rekel, če vas uspe [neslišno] s HTML, Jaz sem pravi zanima. Torej, kaj imamo tukaj je imate nekaj poizvedbo. Poizvedba je funkcija, ki smo zgradili za vas. To je kot ovoj bi poizvedbe v vašo bazo podatkov malo lažje. Če niste imeli, da je sintaksa za dejansko govorimo na vaš SQL zbirko podatkov Drugače bi bilo, Pa samo ponudbo za vas. Radi, da bi življenje enostavno. Torej, v tem primeru, lahko vidva povej mi, kaj je to linija počne? SELECT * from neke tabele. OBČINSTVO: Izberite Vse iz te tabele. ALLISON BUCHHOLTZ-AU: Točno tako. Torej, to je rekel, daj mi Vse iz te tabele. In to je shranjevanje v neka spremenljivka rezultat. In to pravi, če rezultat ni enaka na false, potem počnemo vsak od tega. Torej, če tam ni ničesar, če je vaš miza je prazna, ali pa preprosto ne obstaja, to se dogaja, da se vrne false. Torej, v tem primeru bomo samo izdelavo Prepričajte se, da nekaj, kar je bilo dejansko vrnil k nam. In potem tu imamo naša velika foreach zanke da smo ponavljanjem nad našimi Rezultat, in mi kličeš to vrstico, in smo rekli, da ponudijo svojo predlogo kje so vaši podatki ta rezultat. OK? Torej, to je samo za obdelavo vrstica rezultata. Sicer pa vpije. Torej, to je primer krmilnika. Kot vidite, je to place-- samo Ja, žal? OBČINSTVO: Zakaj je znaka & pred zapored? ALLISON BUCHHOLTZ-AU: Znaka & pred zapored. Mi smo šele ponavljanjem. To je tudi naslov of-- OBČINSTVO: Torej, to je kot C referenčnih. ALLISON BUCHHOLTZ-AU: To je pazite, da ste v resnici spreminjanje izvirnik in ne kopija. To je na enak način s C če smo po referenci tukaj, samo se prepričajte. OBČINSTVO: Ali ni == namesto da ne = v PHP? ALLISON BUCHHOLTZ-AU: To ni ==. OBČINSTVO: Ker je enak v C je just-- ALLISON BUCHHOLTZ-AU: To preprosto ni =. Ja, no. To ni ==. Ker == v PHP preveri enakost pri menjavi zveze, odobrena, vendar dodatno kakovost. Torej, to ni == v PHP. To je ena od malo sintaktične razlike. Ja. Tako da smo samo ponavljanjem skozi vsako vrstico in postane, če vaju prebrati skozi spec, je le kakšno drugo funkcijo, ki je dejansko gre za predelavo vse HTML in jo prikaže v vašem Spletni brskalnik za vas. OK. Torej, smo želeli, da razmišljajo o vaših krmilnikov kot kaj ročaji poslovno logiko. Kot vidite tukaj, to je, če smo ob naše podatke iz tabele, se ga bomo predelavo na nek način, in potem smo to zavajanje. Ko mi postane nekaj predlogo, nekateri template je naš pogled, in smo to poteka samo Podatki, ki naj bi ga dobil. Niso vsi podatki. Le podatki, ki jih želimo, da bi dobili. OK? V osnovi podatkov po predelavi. Torej je ta pogled, to je Predloga vsota, ki jo imamo, in vse to počne je, lahko imajo malo PHP v vašem pogledu. To ni všeč ne PHP v pogledu. Moral bi samo še zelo minimalen PHP v mnenju, in nikoli ne bo poizvedovanje po vašem mnenju. Nikoli ne bi smeli govoriti v vašo bazo podatkov v vašem pogledu. To je velika razlika. Torej, kaj se dogaja tu, imamo PHP, ki je ponavljanjem skozi zapored. Torej v tem primeru, ker smo bili ponavljanjem skozi vsako vrstico in postanejo nekaj, to je bilo verjetno kot dvodimenzionalnega polja kjer imamo nekaj vrstic, ki je samo po sebi, matrika, ker smo ponavljanjem skozi to še enkrat. In smo samo tiskanje Ime vrstica, nato pa ga konča. Vam ni treba tega v foreach. Še nikoli nisem videl, da je pred dejansko. Pravkar sem naredil foreach. OK, tako da je pogled. Poglejmo, če se lahko sprehodimo skozi malo vašega pset. Imamo 15 minut, tako da sem prepričan, da Fantje bi radi, da je več kot samo konča predčasno. Dovolite mi, da vidim, če lahko to bruhati. Tako da ne vem, koliko od vas, fantje so ga prenesli in še malenkosti, vendar imamo tu ime, in imamo nekaj geslo. In na žalost, prav zdaj baza podatkov je prazna, tako da smo dejansko potrebujejo ustvariti zbirko podatkov. No, to je čudno. Niso pričakovali, da je. Tehnične napake. Tehnične težave. Imamo nekaj pset7. Cool. Torej, ena stvar, ki jo lahko naredimo je, z query-- bom ustvarite tabelo. Torej, to se bo users-- kaj lahko naredite je, če imamo some-- Res pa zdaj? OK. Očitno ne počnem tako vroče. Oh. Vem, zakaj. Ker nikoli nisem ustvaril moje dejanske tabele. Torej, ko boste prvič začeli z Baza podatkov, ki jih očitno se morajo odločiti, kaj so stvari moram imeti tukaj? Torej, če gremo off naši podatki miza tukaj smo imeli nekaj ID, ki lahko le, da ostanete int. In če gledamo tukaj, tam je Kul stvar that-- So indeksa. Če boste to storili primarno, bo, da je stvar, ki je vaša miza v organizaciji, in to bo tudi edinstven. Torej, v tem primeru, bomo to primarno, in jaz bom, da bo to ime, potem bomo samo, da je varchar od kot 26 črk, ker zakaj pa ne? In potem lahko greš na Save, in nato če vidite, imamo nekaj uporabnikov tukaj. Torej, če smo želeli narediti vstaviti, da bi lahko to storite na ta način, ali pa če si hotel prakso s svojim queries-- Oh boy. Imam to ne uporablja vedno. Vzamem to nazaj. To lahko uredite sami bodisi samo z ročno vnašanje podatkov z nekaj podobnega, vas lahko spremenite katero koli od teh če si hotel make-- Če želite nenadoma znebili imena, lahko spusti, lahko naredite vse te stvari. Če boste morali kdaj ročno spremenite tabelo, Predlagam, da to počne v phpMyAdmin versus poskuša da ugotovimo, SQL poizvedbe na splošno. Ko prvič začnete pset, boste morali delati tukaj, tako da se navadiš na to. In potem, ko si dejansko želijo za vstavljanje stvari v svoje table-- Res se sprašujem, kje je to, ker there's-- Tukaj je. To je tisto, kar sem želel. Torej, če greš v SQL, lahko dejansko videli, kot smo videli tukaj, imamo SQL poizvedb. Torej, če želimo, da izberete nekaj, ali, če želimo vstaviti nekaj, lahko storimo vložek v uporabnike, kajne? Mislim, da rabiš poševnico nazaj. Ena stvar, ki vedo, če ste kdaj uporabljate ta, boste morali uporabiti te nazaj opuščaj, ki so po navadi, če ste na Mac, zavihek desno zgoraj. Tako dobra stvar, da veš. Lahko vstavite uporabnikov in imamo naše vrednote, kajne? Torej imamo vrednote in naše vrednote v tem primeru bi bilo samo, imamo samo ID, zato smo lahko storite, če bomo želeli. To je čudno. OK. Torej, to je tako kot kratko stvarca z SQL, vendar bi bilo bolj koristno, da dejansko pogled na nekatere datoteke tukaj. Torej obiščite Downloads. Oh, ne Prenosi. Torej, samo na hitro walkthrough od kaj je v vsaki od teh map. To vključuje, imamo samo stvari da nastavite vaš brskalnik, imamo te konstante, in imamo te funkcije. Če ste zainteresirani za katerega koli od njih, Priporočam gledaš funkcij. Ena od njih, ki je zelo uporaben, dejansko je to ena tukaj, dump. Torej, če boste uporabili to, da bo dejansko samo izpisal ne glede na spremenljivko ki ste jo želeli. Torej, če imate težave morete ugotoviti kaj ta matrika izgleda, ali kaj se ti podatki dejansko, kako je oblikovano, To je velika stvar za uporabo. Še posebej, če imate uporabnik z več zalog, To se bo nekaj super za uporabo. Saj morda formatted-- Vsaj vem, za mene, ko sem to pset, je oblikovano tako, da nisem povsem pričakovali. Torej sem poskušal ponoviti čez to in poskuša manipulirati, ampak nisem zares razumeli, kaj sem počel. Torej, če ste jo pravkar smetišče, se bo natisnete na brskalnik, in si lahko ogledate točno kako je formatiran. To bo navadno ga natisnete kot matrika s svojimi ključi in njenih vrednotah. Tako da lahko pomagajo tam. Prav tako lahko pomaga, da bi Prepričajte se, da ste dejansko oprijemalne podatke, ki ste mislili. Torej, če ste bili všeč, moji mizi definitivno pravi, da si s tem ID-jem ampak ko greš na smetišče spremenljivi, ni tam, ti očitno veš, da je kjer napaka se dogaja, da. To je eden izmed najboljših orodij za odpravljanje napak, po mojem mnenju. In potem je tu še Nekaj ​​tu druge stvari, vendar za večino del, to je en želim opozoriti na, ker je zelo koristno. Javno, kaj imamo tukaj je, to je vse naše CSS stvari. Torej, CSS, pisave, naše podobe, malenkosti. To je vse stvari, ki vam ni treba spreminjati. Lahko mislita o tem, če Ima stvari, kot so CSS v pisavah, bi to lahko bil model, ali pogled, ali krmilnik? OBČINSTVO: [neslišno] ALLISON BUCHHOLTZ-AU: To bi biti več namenom, kajne? To je ravnanje vse stvari, kako stvari izgledajo. Torej, če bomo to odprlo tukaj, bomo videli da vse, kar se dogaja tukaj se bomo zaradi česar nekaj. OK? Torej, to bi bila zelo označili kot da bi za to. Torej, to je samo pri nekaterih, da kliče nekaj portfolio.php da imamo, in to je mimo v naslovu in portfelja. In to je samo, da je upodabljanje. Pravzaprav, jaz vzamem nazaj. To je krmilnik, ker render, se spomnite, postane pogled. Torej portfolio.php v ta Primer bi bil vaš pogled. Oprostite, fantje. Portfolio.php se bo tvoj pogled, bi to in samo tvoj krmilnik za to. In če pogledamo na to zadnja tukaj, predloge, Predloge so vse vaše mnenje tukaj. Torej, če pogledamo, je očitno smo videli veliko HTML tukaj. Torej je ta samo prikazuje, kaj Stran za prijavo naj bi izgledal. Opazite imamo nekaj skupine obrazcev, imajo predložiti. Tukaj je, kako ste se odločili, kaj se prikaže tam. Imate neko vrsto gumba = "submit" in potem boste morali, kaj si želiš prikazati na gumb. Torej, to je, kako bi ti ga pokaže kot karkoli želite. In vidimo, tukaj imamo nekaj uporabniško ime, nekateri geslo in ko smo dejansko udaril Submit to se dogaja, da nekaj objavite, in to se dogaja, da objavite kaj? Kaj je krmilnik za tem pogledom? Ko smo zadeli Submit kaj se dogaja, da se imenuje? To vemo? To je tukaj, da login.php. Nekaj ​​vidva sta bo izvajala. Tako da lahko vedno povedati kaj se dogaja, da se imenovano ko zadeli Pošlji s tem prvi vrstici tukaj. Kaj ukrep obrazec. Ob predložitvi tega obrazca, katere ukrepe bomo vzeli? Kličemo login.php, in smo call it s to metodo delovnega mesta, ki ima skrite informacije. OK? Torej je to tvoj pogled, in potem seveda če smo šli na login.php-- Naredi jo imamo še? Ja. Torej, kot vidimo tukaj, je ta Ima veliko več logike. To je vse naše PHP tukaj. Poskušamo, da vidim, če je bila $ _GET, če bi bil $ _POST, preverjanje stvari, povpraševanj, vse te stvari. Torej, to so samo tri tu različni stvari. vam ni treba spremeniti stvari. Boste ustvarjanju stvari v predlogo, po možnosti, ampak kolikor HTML ali styling za vse to gre, ga lahko pustite kot navaden ali tako zapleten, kot želite. Nekateri ljudje res v njej in narediti nekaj zelo super spletne strani. Vam ni treba storiti. Če imate čas, to je res kul stvar. Lahko igral z CSS in HTML in dobili veliko boljši občutek za to, vendar ne čutijo pritisk, da. Tam je veliko za vas na zadnji konec z izvajanjem prijavite, in register, in vse te stvari. Zato upajmo, da pomaga malo. pa vi imate vprašanja o vsem, kar smo šli čez, vsa druga sredstva? Jaz bom zagotovo poslali vse moj primer PHP kodo za vaju, in potem vas prosimo, da sprejmejo slike ali drugih malenkosti za to. Prav tako je na spletu. Vedno lahko samo gledajo znova. Torej, če to je to, vsi dobro? Da. OBČINSTVO: Hočem Za potrditev, ko smo početje izberite SQL, zvezda pomeni vse, kajne? ALLISON BUCHHOLTZ-AU: Da. OBČINSTVO: In potem, če nimate zvezdo, Če želite, da bo od specifičnih vrstica, potem si dal ime of-- ALLISON BUCHHOLTZ-AU: Ime zapored in kaj želite, da želite vrednost. OBČINSTVO: In potem datum. ALLISON BUCHHOLTZ-AU: Karkoli iščete, ja. Na enak način, če vam DELETE * od nekateri miza, bo izbrisati vse. Torej, * je samo wild Kartica za vse. OBČINSTVO: OK. ALLISON BUCHHOLTZ-AU: Cool. Super. No, imajo veliko ponedeljek, fantje. Se vidiva naslednji teden. Vso srečo na vaši pset.