[Muzikos grojimo] ALLISON Buchholtz-AU: Gerai, kiekvienas, pasveikinti atgal į skyrių. Tikimės, kad jūs visi turėjo puikus Helovinas savaitgalį, ar Halloweekend, kaip aš norėčiau pasakyti, visi pailsėję ir atsigavo. Ir laimei, tai ne sniegas nebėra. Tai tikrai saulėta lauke. Buvau nekilnojamojo laimingas apie tai. Nepasirengusi užtęsti mano Žieminiai batai. Tikimės, pset6 viskas vyko labai gerai. Jei esate pavargę nuo C, aš laimingas pasakyti baigsite su C dabar. Mes visiškai perkėlėte į interneto programavimo, taip jums dirbti HTML, PHP, gal šiek tiek "JavaScript. Aš nežinau, ką kitą savaitę pset yra, todėl aš negaliu garantuoti, kas kitas jūsų pset bus būti, bet šią savaitę pset yra CS50 Finansai, kuris iš esmės yra įgyvendinanti tinklalapio rūšiuoti kuri leidžia jums pirkti ir parduoti atsargų ir sekti jais. Ir tai gana kietas, nes visi tai yra dinamiškai generuojami. Jūs galite turėti skirtingus vartotojus, kurie kiekvienas turi savo informacijos, ir jūs ketinate būti įgyvendinant visa tai. Tai užtrunka ilgai. Aš tikrai manau, kad tai yra lengviau nei C psets, tačiau ji trunka ilgiau. Jūs mokotės naujos kalbos, PHP, kuris yra labai panašus į C, bet, žinoma, ketina reikalauti jums ieškoti sintaksę ir suprasti kaip konvertuoti tarp kalbų. Bet aš nemanau, kad ten kas nors super konceptualiai sunku apie šį pset. Tai tiesiog mokymosi Naujas kalba ir gauti per visus šiuos mažus gabaliukus. Jei jus vaikinai perskaityti spec, tai gana ilgas. Manau, kad tai vienas yra kaip 21 puslapiai, jei teisingai pamenu. Tai ilgas spec. Taigi, jei turite ne skaityti it-- 22. 32. Wow. Taigi buvau išjungti ten 50%. Taigi, 32 psl. Taigi tai ilgai. Yra daug vienetų, bet nė vienas gabalai turi būti, kad blogai. Tai tiesiog daug. Taigi tikrai pradėti anksti jei įmanoma, kaip už įprasta, bet manau, kad ji turėtų jaustis šiek tiek gražiau nei ypač panašaus psets atsigauti ir dydį, kad tik labai sunku wrap savo galvos aplink. Taigi su tuo, kad mes ketiname nerti. Aš neturiu savo darbotvarkę skaidrių ir šiandien, bet mes bus kalbama apie PHP. Aš būsiu duoti jums rūšies avarijos metu dėl kai kurių dalykų, kad jūs galbūt norėsite žinoti apie PHP. Įvairūs sintaksės dalykų, ką atkreipti dėmesį. Mes ketiname kalbėti Šiek tiek apie SQL. Tiesiog labai paprastų dalykų ten, ir tada taip pat MVC yra Modelis Peržiūrėti Valdiklis, kuris kaip jūsų pset įsteigtas, taip suprasti, kaip kad darbai bus super naudinga. Gerai. Taigi PHP. Vaikinai turėjo padaryti kažkas labai, labai paprasta PHP, kuris yra tai apačioje dalykas čia, kur pateikiama šiek formą viršų, kad čia turėjo tam tikrą vardą, kurį įėjimo, ir jis pasakys, kaip labas, Ben, arba labas, Allison, ir tai būtų pop-up. Taigi tai iš tiesų ką jis turėtų jau atrodė iš pset, jeigu jus vaikinai norėjo žinoti ar nelabai suprasti jį. Bet mes turime šiuos klaustukų čia, kad rodo, kad tai yra PHP. Jie wrap jį, o tada htmlspecialcharge atminkite, tai tik, įsitikinkite, kad esate saugūs iš bet kvailai injekcijos išpuolių arba jei kas nors bando daryti beprotiškas kenkėjiškų simbolių į savo pavadinimo lauke, tai nėra patinka jūsų serverį arba Papuošalą. Ir tada, jei pastebime, tai HTML forma turėjo $ _GET metodu, kuris, jei mes prisimename mūsų superglobals iš PHP, $ _GET, $ _POST, mes bus eiti į tiems truputį. Bet mes žinome, kad mes turime tam tikrą vardą čia, kuris atitinka pavadinimo kad pateikėme. Taigi tai yra tik šiek tiek kaip labai paprasta PHP HTML bendradarbiavimas kad vaikinai turėjo iš pset šeši. Bet tikrai ne atsakyti, kas yra PHP. Akivaizdu, kad tai kalba, bet mes ne tikrai apie tai kalbėjome šiame skyriuje, todėl ten šiek tiek daugiau apie tai, kas PHP tikrųjų. Taigi PHP yra tik PHP hiperteksto pirminio apdorojimo. Tai iš tikrųjų manė, programavimo kalba nes ji turi logiką, kadangi jei mes prisiminti kalbame apie HTML, mes vadinami, kad žymėjimo kalba versus programavimo kalba, nes HTML yra griežtai keičiant kaip viskas atrodo puslapyje. Tai tiesiog keičiant ar kažkas yra drąsus, ar tai forma, elementas, ar kažkas panašaus. Ji neturi logikos. Ji neturi jokių kilpų ar sąlygas. Jūs negalite patikrinti klaidų dalykų. Galima būtų arba rodyti dalykus tam tikru būdu arba prašyti daiktų nuo naudotojo. Štai ir viskas. Taigi su PHP, tai tikrai neleidžia mus padaryti visus šiuos daugiau loginių dalykų, kaip patvirtinti įvestį arba manipuliuoti tam tikru būdu. Mes galime sujungti ją su HTML, kaip mes ką tik mačiau jūsų paskutinio pset ir dabar, , o tai leidžia mums sukurti šie dinamiški interneto puslapiai. Taigi, jei jus vaikinai ever-- aš nežinau, jei buvai panašus į mane, bet iš vidurinės mokyklos jie mums pasinaudoti šia IT klasę, jei mes sukūrėme tik HTML puslapius, ir jie buvo statinis ir spustelėkite aplink į kitus dalykus, tačiau jie niekada pasikeitė. Su dinaminius, ką galime, padaryti, tai, kaip su CS50 Finansų, jūs ketinate turėti skirtingus vartotojus. Priklausomai nuo šių vartotojų preferencijos, ir ką jie perka ar tai, ką jie parduoda jų atsargų, jūs ketinate rodyti skirtingi dalykai. Taigi, jei nėra kažkokio nustatant charakteristika Dėl vartotojo, naudojant šią interneto puslapis, mes galime dinamiškai nuspręsti, ką rodyti jiems. Tai ne tas pats, už kiekvieną asmuo, kuris, jei tik turėtume HTML, puslapis būtų už tą pačią kiekvienas asmuo, kuris aplankė. PHP Mums leidžia individualizuoti puslapių. Ir tada mes galime arba įdėti juos į pats failas, kuris, kaip ir tuo atveju, prieš čia, mes pamatėme, kad mes turime HTML visi čia ir tada mes turime šį truputį PHP. Mes galime padaryti, kaip kad, arba su CS50 Finansų, jei jus vaikinai pažvelgė files-- ir turėtume laiko dengimo, keletą iš jų kartu ties section-- mes galų galite pamatyti, kaip jūs galite faktiškai išlaikyti juos atskirti, kuris iš tikrųjų geriau, ką reikia padaryti. So. Avarijos metu. Visi greitai paprasti dalykai Jums gali prireikti žinoti PHP. Skelbiantis kintamieji. Kad mėlyna šiek tiek erzina, bet tikiuosi jus vaikinai gali jį peržiūrėti. Jei ne, aš jį rašyti ant kreida, lenta. Deklarante kintamieji. Vienas dalykas žinoti, kad, skirtingai nuo C PHP yra laisvai arba dinamiškai įvedėte, o tai reiškia, kad jums nereikia, kad pasakyti kintamąjį, kokia ji yra. Galite tiesiog pasakyti kai kintamasis yra lygus, ką norite jį, ir jis nuspręs, tipo kad vykdymo metu jums kintamasis. Kaip pamatysite, tai gali sukurti labai įdomių dalykų. Bet dauguma tikslų, jūs nereikia nurodyti tipą. Jūs galite, ir galite įvesti mesti dalykų, kaip jūs paprastai nebūtų matyti, jei norite priversti ją būti tam tikras rūšis, bet jūs neturite. Jis nesiruošia klykauti ne jums jei jūs tiesiog paskelbti kintamąjį ir nenurodysite tipo už tai. Taigi, jei jūs negalite skaityti this-- Žinau, kad tai ne pats geriausias. Aš maniau, kad būtų rodomas better-- kaip jums inicijuoti kintamosios tik dolerio ženklas, ką Jūs norite, kad ji būtų vadinama, ir tada tai, ką jūs suteikiant ją. Taigi šiuo atveju, tai yra kai $ var = 3. Taigi, jei mes kada nors naudoti $ var kažkur, jis bus tiesiog būti toks pat, kaip išleisti 3 ten. Gerai? Taigi, bet koks kintamasis, tik doleris ženklas, nepriklausomai norite skambinti savo kintamasis, ir ką jūs norite jį lygūs. Little aušintuvas. Mažiau rašyti inicializavimui kintamasis, tiesa? Ar tai prasminga visiems? Tiesiog greitai sintaksė skirtumas tarp C ir PHP. Matricos yra daug aušintuvas PHP. Mes galime suteikti raktų jiems. Taigi būdas galvoti apie ji yra tai, kad jei kada nors mes norėjo prieiti elementas masyvo mums reikia žinoti indeksas jį, ar ne? Taigi mes žinome, kad su C, mes galėtų susipažinti su pirmojo elemento atlikdami masyvo laikiklis nulis, arba jei mes noriu pirmąjį elementą, masyvas laikiklis vienas. Ir jei mes norėjome kažko ten, mes galime tik turi kartoti, kad, išskyrus atvejus, kai mes iš tikrųjų žinojo indeksą. Vienas dalykas, kad yra tikrai cool su masyvas PHP yra tai, kad jie ką mes vadiname asociatyvus. Taigi, mes galime susieti kai raktas šiek vertės, ir mes iš tikrųjų ketiname to-- aš jums parodysiu, kaip mes galime naudoti šią per sekundę. Bet iš esmės, jei jūs kada nors norite siekiama pradėti panašaus masyvą, jūs turite kai $ masyvas. Taigi tuo pačiu būdu, tai tik kai kintamasis mes sukurti. Tai galėtų būti vadinama ką norėjo. Tai galėtų būti pavyzdys $. Tiesiog dar vienas kintamasis. Kuo ji masyvas Laikiklis sintaksė, kad mes čia turime. Tiesiog kaip ir normalaus C. ir mes turėti tam tikrą tam tikru vertės raktą. Taigi key1 eina 1 reikšmė, key2 du eina į VALUE2. Šie poros atskiriamos su kablelis, kaip įprastų masyvų. Tačiau. Didelis vienas. Raktai yra neprivalomas. Jūs neturite naudoti juos. O jei ne, tada jis tiesiog normalus. Klausimas? Arba, oi. AUDITORIJA: Na, apie teisę. Kur atmintis ateina iš? Ji gali taip pat būti pats kaip [Nesigirdi] ir iš kamino? Yra tai, kad taip pat, naudojant PHP? Pavyzdžiui, kai mes juos susiejimas? ALLISON Buchholtz-AU: PHP, mes nelinkę rūpintis, kur mūsų Atminties ateina iš. Mes neturime išleisti daug laikas kalbėti apie tai, todėl tai nėra tikrai nieko jums reikia rūpintis. Taigi raktai yra neprivalomos. Tuo pačiu būdu, jei jūs neturite nori, kad ši asocijuotoji, jūs tiesiog norite normalų masyvas kur masyvas yra nulis pirmasis elementas ir masyvas yra vienas antra elementas, jūs galite tai padaryti tiksliai kaip jums C Turite kai kintamasis ketina būti jūsų masyvas, ir jis yra lygus šių skliausteliuose čia. Taip. AUDITORIJA: Ar ji turi pats taškas notacijos. Kaip aš galiu padaryti kaip masyvo ++, ir atkreipia dėmesį į, kad antrasis. ALLISON Buchholtz-AU: Galite do-- Na, jūs galite turėti tam tikrą iteratorių, i, kad jūs galite padaryti i ++ ir daryti masyvas i tuo pačiu būdu. Bet tai ir viskas. Taigi, kaip šiuo atveju, masyvas 1 prilygtų 20. Pačios rūšies indeksavimo notacijos. Tai iš esmės yra tik numanoma dalykas čia, kur ji sako, nulį nulio iki 10, į 1-20, 2-30. Tai tik numanomi raktus tai. Kokie pokyčiai su PHP kad jūs jau turi įgaliojimus perskirti tuos raktus daryti ką norite. Taigi vienas dalykas yra čia. Taigi turiu tik keletą pavyzdžių čia aš rašiau iki jums vaikinai nes aš jaučiu, kaip pavyzdžių visada padėti ne tik abstrakčiai. Taigi, šiuo atveju čia, mes turėti tam tikrą masyvą tai yra mano vardas, mano pavardė, o aš esu skardus, kuris yra tiesiog visiems tikslams čia ketina spausdinti išėjimo čia. Ir jis sako, gerai. Atspausdinti reikšmę, atitinka masyvo svarbiausiose Allison. Ir aš taip pat galite siųsti jums vaikinai visa tai kodas po klasę. Taigi, kai mes paleisti tai, ką manote nutiks? Kas vyksta atsispausdinti? AUDITORIJA: Tavo pavardė. ALLISON Buchholtz-AU: Mano pavardė. Ji veikia. Čia. Atsispausdinti. Taigi, jei mes tai pakeisti ir mes buvo pridėti kažkas mūsų list-- Taigi galime sakyti, kad mes turime Emma čia ir mes siejame savo paskutinį name-- Leiskite pamatyti, jei aš rašybos šią teisę. AUDITORIJA: Taip. ALLISON Buchholtz-AU: Taip. AUDITORIJA: Geras darbas. ALLISON Buchholtz-AU: Gražus. Taigi dabar, jei mes turime tai čia ir mes norėjome rasti savo pavardę, Jūs turite jį ten. Taigi galite tiesiog galvoti apie tai, kaip pakeisti šį klavišą čia. Jūs tik pakeičiant indeksą. Todėl leidžia tiesiog ieškoti per masyvą daug lengviau. Jums nereikia žinoti indeksą. Tol, kol šiame rakte, kad jūs ieškote už egzistuoja kažkur masyvo, PHP ras jį, ir jis sugrįš reikšmė, susijusi su juo. Taigi ji suteikia jums daug daugiau galia su savo masyvų. Taip. AUDITORIJA: Jei turite dvi raktų patį, ji suteiks jums klaidą? ALLISON Buchholtz-AU: Tai turėtų suteikti jums klaidą, taip. Ar tai padaryti mažai daugiau prasmės jums vaikinai? Ir tuo pačiu būdu, mes turime masyvą čia, kad neturi jokių raktų. Taip pat tai yra sintaksė kad jūs galbūt norėsite žinoti, nes jums turite naudoti šią nuorodą į savo pset. Kiekvieną kartą, kai jūs darote echo, turite šių kabučių, ir kiekvieną kartą, kai jūs nuoroda daliai masyvo jūs turite turėti šiuos garbanotieji petnešų aplink juos. Tai tipo erzina, bet jums tereikia padaryti. Taigi tiesiog kažkas nepamiršti. Jei dirbate į klaidų, Žinau, kad tai mano masyvo egzistuoja bet tai mesti klaidų mane, pabandykite petnešos aplink jį ir ji turi dirbti. Taigi šiuo atveju čia, tai yra normalus C masyvas, kad mes įpratę. Turi tris, penkis, o šeši, ir mes tiesiog noriu atsispausdinti pirmąjį elementą, todėl tai turėtų išspausdinti trys. Ir aš paleisti visų šių, taip tikiuosi niekas nepasikeitė. Mes matome čia apačioje, jis tiesiog spausdina tris. Cool. Tai prasminga visiems? Asociatyvūs matricas. Žymiai geriau nei normalus matricos. Tai why-- Dovydas parodyti jums PHP įgyvendinimas pset6 Per paskaitą visi? Gerai. Taigi, aš jums parodysiu,. Nežinau jį išjungti t-- AUDITORIJA: Jis padarė praėjusią savaitę. ALLISON Buchholtz-AU: tai buvo praeitą savaitę? AUDITORIJA: Taip. ALLISON Buchholtz-AU: Taip. Taigi Speller galima padaryti, pavyzdžiui, šešių eilučių PHP ir jos dalį, kad galia tai masyvą, kur Jūs galite tiesiog įkelti kiekvieną žodį, ir jūs turite jį lygi true arba false. Ir todėl jūs galite sakyti, oi. Grįžti žodyną tikru žodžiu, ir jei jis ten, jis grąžina true. Priešingu atveju, jis neras tai ir jis bus grąžinti klaidinga. Tiek rūšies vėsioje mažai ką. Gerai. Taigi tie, kurie asociatyvių masyvų. Jie gana kietas. Aš tikrai norėčiau juos. Ir akivaizdu this-- Ah. Gerai. Dabar jis veikia. Gal. Gerai. Kitas dalykas. Taigi, su lygybės, tiesiog cool dalykas, reikia nepamiršti. PHP, nes juo yra dinamiškai įvedėte, tipas gali keistis priklausomai nuo to, kada Paleidus jį, kaip jūs naudojate jį. Aš iš tikrųjų turi kai kurias kietas pavyzdžiai, kad aš jums parodysiu, vaikinai. Bet == tiesiog tikrina, lygybė po tipo žongliravimas. Taigi, jei turite ką nors, kad yra panašus į charakterį 1 ir numeris 1, PHP būtų pasakyti, kad tas yra lygus, nes juo gali žongliruoti su tipų du iš jų, kol jis lygus, kuris gal jūsų atveju yra gerai. Jei reikia išsiaiškinti, ar jie yra tos pačios rūšies ir iš value paties tipo, norite šio ===. Ir aš nemanau, kad jūs turite bet kokia atvejis, kai jums reikia naudoti, kad savo pset, bet nes daugeliui jūs, kurie bus eiti daryti tinklalapius jūsų galutiniai projektų ir dalykų, tai geras dalykas žinoti, kad == ir === yra skirtingi, ir tai geras skirtumas suprasti. Gerai. So. Foreach kilpos. Jie būdas kartoti, kad masyvo. Taigi, tiesiog patinka masyvai tapo tiek aušintuvas PHP, Jūsų būdas kartoti per masyvą, manau, taip pat tampa daug aušintuvas ir daug daugiau galingas. Taigi vietoj to, kad kurti kai už I lygus 0 ir kas, ir tada atnaujinti, kad i, kaip jūs einate per, mes turime šį awesome foreach ciklą. Taigi čia standartinis bendrasis struktūra iš šių dviejų. Taigi Jūs arba foreach kai masyvas kaip vertė norite pakartoti, kaip. Taigi tai yra masyvo vardas kintamasis, kurį norite nuoroda, ir tai, ką norite, jį pavadinti per kilpą. Gerai? Taigi tai atitinka kiekvienas masyvo elementas, ir naudoti šią vertę per šį kilpa. Turiu pavyzdį. Žinau pavyzdžių, kad daug geriau. Ir todėl tai yra, jei yra joks mygtukas, todėl tai yra tarsi jei mes tiesiog turėti vieną, kur raktus tai normalūs rodikliai jūsų masyvo. Ar tai taip pat ir jei bylos Jūs neturite naudoti klavišų. Jei nerūpi raktai ir tiesiog noriu pakartoti per su vertėmis kiekvienas iš jų už bet kokia tvarka, tai gerai. Galite naudoti struktūrą. Priešingu atveju, jei yra raktai, mūsų $ Vertės tiesiog pasikeičia į $ rakto reikšmę. Taigi jis tiesiog keičia į rakto porą. Ir tada mes galime kreiptis į $ raktas ir $ value per mūsų kilpa. Gerai? So. Pavyzdys. Padaryti gražiau. Gerai. Taigi, mes turime šį vieną čia kurią mes kai are-- pat galite sukurti panašaus masyvo turėdami kai kintamasis lygus masyvo su skliaustuose, arba galite tiesiog padaryti laikiklį. Jūs turite padaryti kronšteiną, bet tai yra dar vienas būdas tai padaryti. Taigi čia mes kai trijų masyvo elementai vienos, dviejų, ir trijų, ir mes turime foreach. Pastebės, vienas atitinka masyvas, kad mes Iteracja per, ir tai, ką mes skambina kiekvienas mūsų masyvas dalykas. Ir visa tai daro, yra tai ketina spausdinti kiekvieną vertę. Taigi, jei mes paleisti jį, pastebime, kad mes turi vertę vieną, vertės du, vertės trijų. Ir tuo pačiu būdu, kad tipiškai masyvai turi būti vienos rūšies, matricos neturite visi būti tos pačios rūšies čia. Taigi dabar mes turime šiek tiek int. Mes turime dvi eilutes. Taigi jūsų matricas galima gauti daug daugiau galingas ir gal šiek tiek bit Messier, priklausomai kelyje norite žiūrėti į jį. Taigi, mes galime tai pakeisti į ką nori. Mes naudojame vertę. Tai tiesiog standartinis dalykas mes naudojame. Bet, tiesiog svarbu žinoti, kad mes galime vadiname tai, kaip skaitiklį, jei mes norėjome. Ir tol, kol jie atitinka iki, akivaizdžiai kiekvienas laimingas. Jei kada nors norėsite paleisti PHP paleisti kažką panašaus šioje komandoje linija žinote tai čia jūs tiesiog padaryti PHP, ir tada viską failą, kurį norite paleisti. Taigi, jei norite pažaisti PHP ir daugiau logikos ir jums nereikia tikrai reikia pamatyti, kaip interneto naršyklėje, Jūs galite tiesiog paleisti jį į komandinės eilutės, pavyzdžiui, kad ir echo bus atspausdinti bet kada norite. Gerai. Kitas būdas, kad mes turime yra tokia. Taigi tai yra atvejis, kai gal norite naudoti tiek raktą ir vertę, Žinau tai, kaip super nenatūralu pavyzdžiai bet aš tikiuosi, kad jie padaryti jis šiek tiek aiškiau. Taigi čia mes kai masyvas vėl, bet šį kartą, o ne tik turintys Jūs žinote, ten ne raktas. Mes turime raktus, kiekvienai iš šių. Taigi viskas bus viena, b atitiks į dvi dalis, ir c atitinka bus iki trijų. Ir šiuo atveju, jei mes rašome tai šis būdas, turime prieigą prie tiek raktas ir vertė už kiekvieną iš šių klausimų. Taigi, kai mes paleisti tai, mes kiekvienas iš jų. Todėl spausdina mūsų raktus ir atitinkamas vertybes. Kitas cool dalykas yra tai, kad, ir aš žinau, sakė, kaip tai vienas neturėjo raktų, bet ji visada netiesiogiai turi raktas, nes jei jūs neturite deleguoti raktas, žinoma, jūsų raktai yra tik jūsų indeksai ar indeksų kad galėtume visada taip daro šį vieną. Kaip šis. Aš atsispausdinti. Taigi šiuo atveju, jei pastebėjote, mes turime numanomus raktai Nulio, vienas ir du čia. Ir taip pat, su šiuo vienu, Jūs visada galite tiesiog pasakyti r kaip vertės, ir jūs tiesiog turite prieigą prie vertės. Jūs nerūpi tavo raktai, net jei jūsų yra raktus, jei nerūpi juos, jūs nebūtinai reikia įdėti juos į savo foreach kilpa. Ar tai prasminga visiems? AUDITORIJA: Ar jūs tiesiog skambinti raktus, taip pat? ALLISON Buchholtz-AU: Taip jus gali visiškai padaryti, taip pat. Tiesą sakant, laukti. Prašome palaukti. būtų it-- Nr Jei norite, kad klavišą, tada ką jums reikia padaryti rakto vertė. AUDITORIJA: Pridėti vertė. ALLISON Buchholtz-AU: Taip. Ir jūs tiesiog niekada nenaudos vertė yra viskas. AUDITORIJA: Gerai. ALLISON Buchholtz-AU: Jei jums tiesiog vienas dalykas ten, jis ketina prisiimti, kad esate kalbu apie vertę, o ne pagrindinis. Didelis klausimas. Gerai. Cool. Tiesą sakant, laikykis. Leiskite pamatyti, ką aš turiu. Taigi, kol mes gauti į postą ir gauti, aš tiesiog noriu parodyti jums, vaikinai truputį apie tai, kaip tai dinamiškai parašomas kuris yra tipo kietas. Turiu visas. Turiu kaip keturi pavyzdžiai čia, ir aš atsiųsime jums visą šį kodą po klasę. Taigi čia mes kai kintamasis a. Tai tik 1 plius 1, tiesa? Ir mes ketiname spausdinti, ką tai lygi ir tada mes turime tam tikrą tipą. Ir kas nors turite spėlionės kokio tipo jis bus? AUDITORIJA: int. ALLISON Buchholtz-AU: Taip, tai int. Taigi ji tik prideda juos kartu. Tai int. Viskas gerai. Taigi tai šalia vienas, mes turime kas atrodo stygos. Kai mes paleisti tai, jos nuomone, jais oh. Jūs iš tikrųjų bando tiesiog pridėti dalykų. Jūs tiesiog susipainiojo. Taigi, aš tik ketina išspręsti už jus. Jūs reiškė int. Aš žinau, tu reiškė int. Taigi tai yra vienas iš būdų, galite matyti, PHP turi savo galvoje. Nors mes aiškiai pasakė, žiūrėti, pastarieji yra eilučių. Aš turiu galvoje eilutę vieną. Bet jis sako, oi, bet Jūs bandote pridėti juos, todėl jūs turite galvoje tai sveikas. Tiesiog pasitikėk manimi apie tai. Taigi jis sako, kad tai sveikas, ir priduria juos kaip įprasta. Taigi tipo kietas, jei jūs ketinate gauti tingus su savo dalykų, ar norite ką nors pridėti. Puikus dalykas yra tai, kad, jei Jūs prisiminkite pset2, kažkas, kad buvo naudoti įvestas, tiesa, kad mes manome, yra char ar ne pirmas eilutė. Dabar mes neturime aiškiai sako, oi, kad šis int. PHP būtų tik kaip, oh yeah. Aš žinau, tu reiškė int. Kvailas tu. Jūs nereiškė eilutę. Taigi šiuo atveju dabar kad mes tai turime, ką vaikinai manau, kad tai padaryti čia? Mes turime eilutę ir int dabar. AUDITORIJA: Tai dar int. ALLISON Buchholtz-AU: Tai dar int. Ir priežastis is-- Norėčiau įdėti daugiau pavyzdžių, bet tai vienas įdomus. Priežastis tai daro, nes tai kaip jūs bandote pridėti dalykų. Taigi, jei jūs bandote pridėti dalykų, aš manyti, pagrįstai, turite kažką Pagrįsta, kad galėtumėte pridėti. Aš tik ketina padaryti jį int, ir mes tiesiog ketinate įdėti į, pavyzdžiui, įprasta. Ir tada taip pat, aš Manote, kad jums vaikinai gauti idėja. Mes taip pat turime šį vieną čia, kuris yra tiesiog apadegina, ir jis daro tą patį. Tai kaip jūs kvailas vartotojas. Jūs žinote, jūs norite int. AUDITORIJA: Jei mes įdėti laišką, bus tai padaryti [nesigirdi] vertę, ar ne? ALLISON Buchholtz-AU: Oh, kad tai geras klausimas. Pažiūrėkime. Ne, vis dar yra int. Taigi tai šiek tiek beprotiška. Tai tiesiog rūšies parodyti jums PHP kartais gali elgtis irrational-- Ne visiškai iracionali, tačiau ji gali elgtis taip, kad jūs tikrai tikėtis. Taigi, kai kyla abejonių, kreipkitės kad daiktų rūšis. Ši funkcija gettype gali būti itin naudinga. Paprastai, jei jūs ką nors su plusses ar bet matematiniai operatoriai, jis ketina prisiimti nieko pagrįstas tik int. Taigi, jūs turite char 1 arba string 1 arba faktinis int 1, jis ketina prisiimti, kad. Jei norite Spausdinti medžiaga nieko, jūs galite visiškai. Tai galite padaryti kažką panašaus dvigubai čia, manau. Ir tokiu atveju jis ketina pasakyti, oh. Aš padarysiu tai, nes dvigubas Jūs aiškiai pasakė, kad tai dvigubas. Jūs visada galite aiškiai padaryti PHP ką nors padaryti, bet. AUDITORIJA: Palaukite, kodėl plius 1 yra? ALLISON Buchholtz-AU: Oh. Yra. Tai buvo tik aidas. Tai buvo mano kaltė. Taigi, galite aiškiai pasakyti, kad padaryti kažką tikro tipo, bet dauguma laiko, jis ketina dinamiškai nuspręsti runtime. Taigi jis ketina nesustoti per ir tai bus tarsi, Gerai. Ką daro dauguma jausmas, kad tai būtų? Ar jis turėtų būti iš tiesų eilutę? Ar tai turėtų būti int? Ar tai turėtų būti plūdę? Ar tai turėtų būti du kartus? Ir tai nuspręs, kad Jums. Galima priversti jį daryti ko norite, but-- AUDITORIJA: Ar tai, kad jis lėčiau? ALLISON Buchholtz-AU: Na, Aš turiu galvoje, C yra labai efektyvus. Manau, kad tai tikrai lėčiau, nes ji turi šiame procese, nes jis vyksta. C, aš beveik įsitikinęs, greičiau. Bet akivaizdu, kad ten daug šaunių dalykų čia kad mes neturime nerimauti. Taigi, jei mes ieškome per masyvo, mes neturite iš tikrųjų sukurti kai paieškos per masyvą. Galime tik prašyti rakto ir PHP bus rūpintis ji. Cool. Nuostabus. Atrodo, kad mano pavyzdžiai pabaigoje. Vaikinai yra niekada pamiršti, kad dabar. Jūs ketinate būti kaip, oh, PHP yra tiesiog kaip kad mamos lyg ne, ne, ne. Aš žinau, ką tu kalbi. Aš žinau, ką tu nori. Gerai. Taigi tai, tikiuosi, naudinga jūsų pset, bent jau pačioje pradžioje, nes jūs visi apie susijusius su formų ir dalykų iš vartotojui. Taigi yra du būdai, kad mes aplenkti info su PHP ir HTML kai mes artimųjų tarp šių dviejų dalykų. Taigi, mes turime $ _GET, kuri yra perduodama per URL, ir mes turime $ _POST, kurį prakišta žinutėje kūno, ir todėl mes manome, kad paslėptas. Tačiau vienas dalykas, suprasti, kad nė vienas iš jos laikomos saugus. Jei turite ką nors, kas yra perimti pranešimus vyksta pirmyn ir atgal tarp jūsų ir serveris, jie vis dar gali gauti šiuos duomenis. Jie tiesiog turi atrodyti šiek tiek sunkiau. Tai tikrai ne that-- tai tiesiog paslėpti nuo URL. Jis vis dar kartu su pranešimo, nors, todėl, jei jie turi prieigą prie to, tai tikrai tik like-- Tai kaip skirtumas tarp kažko parašyta ant išorėje paketas ir kažkas yra parašyta ant popieriaus lapo viduje. Tai nereiškia, kad sunku atidaryti voką ir gauti popierėlį viduje. Natūralu, kad reikia būti daug lengviau tik skaityti išorę. Bet tai, kaip jūs galite rūšies galvoti iš jų. Nė viena iš jų yra tikrai laikomi saugiai. Gerai? Natūralu, tikrai ne Nesvarbu jūsų pset nes nesate sprendžiant su prekybos paslapčių, bet tai paprastai viena dalykas, kad mes tikrai norėčiau pabrėžti, nes žmonės manau, oh, gerai, tai paslėpta. Turi būti super saugus. Ne. Tai nėra saugus. Tai tik šiek tiek mažiau nesaugus, I guess. Arba nesaugius. Taigi mes iš tikrųjų turime pavyzdį. Kaip žinote, aš myliu mokyti daugiau pavyzdžių. Jaučiu, kad tai padeda geriau. Taigi, mes turime šiek tiek paprastą formą čia kuris iš tikrųjų, jei jus vaikinai kada nors painiojama apie PHP, tai tikrai nedidelis, bet php.net yra iš tikrųjų tikrai gera dokumentacija. Aš tikrai patinka. Aš naudoju jį pasiruošti tai skyrius, todėl galiu vet tai už jus. Tai pavyzdys iš jų kaip $ _POST ir $ _GET darbą. Skirtumas tik tas, tarp dviejų iš jų, be, jei ši informacija yra rodomas, ar tai į URL arba organizme, taip pat yra kas metodas. Taigi savo forma HTML-- šio Yra labai paprastas HTML formą. Ar kas nors pasakykite man, ką ji daro? AUDITORIJA: Paklauskite savo vardą ir amžių. ALLISON Buchholtz-AU: Būtent. Taigi, mes turime tam tikra forma veiksmus. Kuri leidžia mums žinoti, kad tai kai aktas forma. Ir kas nutiks yra, kai mes Hit Pateikti, jis ketina kreiptis Action.php, kuris yra, kas tai yra, ir jis ketina jį pavadinti su $ _POST metodu. Taigi šiuo atveju, jūsų informacija paslėpta. ir tai tik jūsų vardas, kai įvesties vadinamas vardas, kai amžius input type = "text", kad mes taip pat vadiname amžiaus. Ir tada, jei mes Hit Pateikti, Pateikti kreipsis Action.php. Taigi, kai mes iš tikrųjų nukentėjo Pateikti mes žinau, kad jis parašė, per se, ir mes iš tikrųjų matome tai tavo problema nustatyti, kad tikiuosi, mes gauti pasivaikščioti truputį. Ir visa tai daro čia yra POST yra keletas superglobal kintamasis kad mes kalbėjome apie paskaitą metu. Ir kaip jūs galite galvoti apie $ _POST yra kad tai tik masyvą. Gerai? Taigi tai yra svarbūs, tai yra svarbūs, ir kokia naudotojo įvesties tampa vertė už kiekvieną iš jų. Gerai? Taigi, jei mes turėjo užrašyti, ką šis masyvas iš tikrųjų atrodė dešinėje po mūsų pateikta formą, mes būtume turėti, tai yra mūsų $ _POST, o kai masyvas, kur mes turime tam tikrą vardą. Sakykim mes padarysime savo vardą, ir tada mes kai amžiaus, 21. Woo. Taigi visa tai $ _POST yra. $ _POST tik masyvą, gerai? Jis tiesiog sako, gerai. Kas yra dalykų, mes paprašė iš vartotojas? Kokie kintamieji kad mes artimųjų aplink kad mes paprašė šią formą? Ir kas tada yra vertės, susijusios su tuo? Taigi šiuo atveju, kai aš pateikė jį su Ally pavadinimas ir jo 21 metų amžiaus, tai ką $ _POST atrodo. Gerai? Ir tai yra tai, ką tai PHP failas turi prieigą prie. Viskas gerai? Taigi šiuo atveju, tai yra tiesiog kaip vis ko nors kito iš mūsų masyvas. Vietoj į indeksą mūsų masyvas, mes kai raktas. Taigi tai ketina duoti man ne pagrindinis vardas vertė. Taigi tai bus Ally, ir Ši teisė yra ketina suteikti man nuo $ _POST, kai vertė raktas yra amžius, kuri bus 21. Jūs ketinate būti daro šį gana didelis. Taip, iš kurios dalis? AUDITORIJA: kai buvai nukreipta į apatinėje dalyje. ALLISON Buchholtz-AU: Tai apatinė dalis? Gerai. Taigi, jūs suprantate tai yra mūsų HTML formuoti, ir mes turime tam tikrą metodą $ _POST, kokie klausimai. Tai taip pat gali būti $ _GET, bet siekiant šio tikslo, mes tiesiog ketinate pasakyti tai $ _POST. Kai mes pateikti šią formą, tai yra dalis PHP failas, kuris vadinamas. Taigi tai PHP failas yra dabar ketina vykdyti teikiama iš mūsų HTML informacija forma. Taigi, kas tai daro, tai, kai mes nukentėjo Pateikti mūsų HTML formą, tai artimųjų jums šį superglobal, kuris yra tik masyvą. Tai tai. Tai kaip artimųjų, kad į failą. Ir ką ji sako yra, gerai, čia yra $ _POST. Tai jūsų masyvą. Daryti su juo ką nori. Ir mes sakydamas Gerai. Duok man vertės vardu, ir duok būdamas vertę. Taigi tai yra tik mygtukai, ir tai yra mūsų masyvas. Ar tai prasminga? AUDITORIJA: mhmm. ALLISON Buchholtz-AU: Awesome. AUDITORIJA: Jei turite pakartotinai pateikti forma tai tiesiog parašykite per duomenų? ALLISON Buchholtz-AU: Taip. Mhmm? AUDITORIJA: Kodėl jūs turite nurodyti, kad tai int? ALLISON Buchholtz-AU: Šiuo atveju, vartotojas tiesiog verčia jį būti int. AUDITORIJA: Gerai. ALLISON Buchholtz-AU: Nežinau jei iš tikrųjų reikia, kad, bet jų tikslams, jie nusprendė kad jie norėjo, kad ji būtų int. Jie tiesiog Typecasting jį. Gal jie naudoja ją kaip kažkas vėliau. Tai tik vienas fragmentas. Taip? AUDITORIJA: Ką daryti, jei jie atspausdinti 12, T-W-E-L-V-E, pagal amžių? ALLISON Buchholtz-AU: Jei jie bandė rašyti, kad kaip int? AUDITORIJA: Taip. ALLISON Buchholtz-AU: Aš pamiršti, ką tai daro. Manau, kad tai gali bandyti konvertuoti Pirmoji raidė "int, ar turi vertę ir paversti tai, bet aš pamiršti, ką tai. Būti įdomus dalykas rašyti programa ir pabandyti. Ar pora eilučių. Gerai, kad tai yra vienas iš pagrindinis dalykų, kad jūs ketinate daryti. Aš ruošiuosi tikiuosi vaikščioti per daug failų pora iš pset su jumis vaikinai. Atrodo, kad mes ketiname laiko, kad galėtume tai padaryti. Bet jūs ketinate būti daro daug dalykų kaip tai, kur jūs artimųjų dalykų iš HTML formos į šį PHP forma, kuris turės vykdyti tam tikrą instrukcijų rinkinį dėl duomenų, kurie buvo pateikta. Štai tiesiog savo pset esmė. Taip. AUDITORIJA: tipas = "submit", kad pademonstravo mygtuką HTML formą. Ar yra būdas skambinti kad mygtukas kažkas? Taigi norėtumėte būti panašus pavadinimas = "submit"? Arba kad mygtukas tiesiog bus ištuštinti dabar, nes jūs tik davė jam tipą, o ne vardas. ALLISON Buchholtz-AU: Manau, kad tai tiesiog bus tuščia dabar. Mes tikrai galime pažvelgti į pset, nes mes tikrai nagrinėsime registruotis rūšies dalykas. Bet taip, jūs tikrai galite nurodyti tekstas, kurį norite savo mygtuką. Gerai, kad SQL. Kai jūs pirkti ir parduoti atsargas, jums reikia sekti jų. Taigi, kaip mes ketiname daryti, kad yra su SQL, kuri yra tik duomenų bazės. Pagalvokite apie tai, kaip lentelę, kurioje jūs išlaikyti visą šią informaciją apie jūsų skirtingų vartotojų. Ir vaikinai iš tikrųjų yra sukurs vieną iš šių. Tai gana kietas. Ir yra tik keturi pagrindiniai dalykai kad jums reikia žinoti šią pset, ir jie yra atnaujinti, todėl jūs iš esmės atnaujinti duomenis. Kurio matyti, kad jis jau ten. Jei jo ten nėra, ji vyksta hit you su klaida, tai gal norite patikrinti. Ir jums bus atnaujinti on-- aš turėtų actually- turiu laiko, Aš parašyti tai pora. Aš iš tikrųjų duoti jums vaikinai pora mėginyje pilni SQL komandas, nes tai tik pagrindinis tie, bet jūs galite prisijungti prie jų kartu. Todėl aš padaryti, kad ir aš atsiųsime kad su jumis su šių nurodymų. Taigi, jei norite atnaujinti kažką, reikia pasakyti, kad tai, ką jūs atnaujinti ir kur jūs ją atnaujinti. Taigi tipiškas SQL komanda būtų atnaujinti ID kur kažkas lygus kažką. Ar kaip atnaujinimas adresas kur ID lygus 3, o tai atnaujinti adreso laukelį savo vartotojui, kuris iš trijų ID. Gerai? Taigi, jei jūs einate į SQL ir W3Schools, jie nuostabus pavyzdžių. Tiesą sakant, aš gali traukti kai sudaryta truputį. Ir įdėkite į, jūs tik įterpiant tam tikras vertybes ten. Taigi, jeigu Jūs bandote sukurti keletą naujų įrašas, todėl jūs kuriate naują vartotoją, galima padaryti įterpti į kokia jūsų duomenų bazė yra vadinama, ir jūs turite visas šias vertybes. Tada jūs turite pasirinkti, pasirinkti vertybes, kad galėtumėte peržiūrėti. Taigi, jei jūs bandote patikrinti pamatyti, jei vartotojas yra ar esate bando patraukti specifinis informacija apie klientą jūs ketinate būti naudojant pasirinkite. Ir tada ištrinti, manau, yra gana paprasta ten. Jūs tik ištrynus kažkas iš lentelės. Ir iš tiesų, leiskite man iš tikrųjų traukti iki kai jums vaikinai pavyzdžių. O atrodo, tai mano 61 puslapis. Taigi, jei mes einame į W3Schools, tikiuosi, kad tai dar kartą. Taip, patinka. Mes einame į SQL. Taigi, tai yra tai, ką čia. Taigi, tai yra labai paprasta SELECT. Žmogau, aš myliu šią funkciją. Taigi, jūs galite turėti SELECT kai iš klientų laukas. Šiuo atveju, klientai nurodo internetinė duomenų bazė, kad jūs naudojate, tad jei jūsų stalo yra vadinamas, ir žvaigždė tiesiog reiškia pasirinkti viską. Duok man kiekvienas. Taigi, aš tiesiog noriu duoti jums vaikinai pora pavyzdžių, kai tai yra. Taigi, mes turime SELECT, UPDATE. Taigi čia yra rūšies bendrojo sintaksė. Taigi UPDATE, kokia jūsų lentelės pavadinimas yra, tada nustatykite yra ten, kur iš tikrųjų vyksta būti, kokie duomenys norite pakeisti. Taigi tai gali be-- Leisti man padaryti pavyzdį čia. Taigi tai vyksta be-- Gerai. Taigi, aš sukūriau mažą duomenų bazę mums. Mes ketiname turėti tam tikrą adresą, kai metų, o kai kurie pavadino. Taigi ID vienas bus metų "15, ir mes tiesiog ketinate padaryti man tai. Kas nori būti antras žmogus mūsų stalo? Kiekvienas. Aš tik ketina rinktis Emma Jūsų pavardė staigiai. Emma, ​​kelintų metų jūs esate? AUDITORIJA: Kuriais metais? ALLISON Buchholtz-AU: Taip. AUDITORIJA: 16. ALLISON Buchholtz-AU: "16. Jūs esate tik ketina būti mano kiaulytė šiandien. Gerai, kad mes turime šiuos du žmones. Tiesą sakant, leiskite man tai padaryti. Tarkime aš girdėjau jos negerai, ir aš iš tikrųjų sakė ji metais jaunesnis. Ji '17. Ką mes norime padaryti čia jei norėjo atnaujinti Emma metus yra teisinga, naudojant tai, kas mes norime padaryti, tai mes norime pasakyti atnaujintus duomenis čia. Ir tai visa tai gali būti ant vienos linijos, tačiau jie nes aš suspaudžiamas erdvę čia Aš ruošiuosi rašyti čia. Ir mes norime nustatyti. Taigi tai yra stalo mes atnaujiname. SET bus ką kolonėlė arba kokius duomenis mes iš tikrųjų keičiasi. Ką mes keičiame yra metų, todėl mes ketiname pasakyti SET metai = 16, ir tada KUR pasakoja kuris vartotojas ar kas eilėje mes iš tikrųjų atnaujinti tai. Taigi, kur? Mes turime dvi galimybes čia. Kokie du? Tai yra unikali, ar ne? Taigi, mūsų vardai yra unikalūs ir mūsų ID yra unikalus, Taigi, kas yra du variantai o kur mes galėtume tai padaryti? Aš duosiu jums vieną. Mes galime padaryti, KUR ID = 2, arba mes galime padaryti, kas jei mes ketiname ne ši paradigma čia. AUDITORIJA: [nesigirdi]. ALLISON Buchholtz-AU: Būtent. Taigi mes taip pat galime padaryti name = Emma. Ir nė vieno iš jų galėtų dirbti. Ir nubėgome tai, norėčiau būti, pavyzdžiui, Gerai. Pakeisime ją. Jūs iš tikrųjų 16, todėl dabar tu teisus dar kartą. Gerai, kad tai būtų super naudingas jūsų pset kur gal kas nusprendė pirkti 100 akcijų iš "Apple", ir tada jie buvo tarsi, just kidding. Aš tik noriu 90 akcijų. Ir taip jie parduoda 10 iš jų, todėl jūs reikia atnaujinti atsargų kiekį kad jie turi. Taigi, atnaujinimas atsargas, atnaujinti lentelę. Gerai. Štai vienas pavyzdys yra. Štai atnaujinimas sintaksė. DELETE. Oh. Įkiškite į kita mūsų vienas. Taigi, tai vienas čia yra labai panašūs. Galėtume tiesiog pasakyti, kad tai atveju galime pridėti asmenį. Mes galime pridėti Ben šį kartą. Mes INSERT INTO, ir mes nori mūsų lentelės pavadinimą. Šiuo atveju tai duomenys. Ir tada mes tiesiog norime, kad jūs ketinate pasakyti VERTYBĖS, ir ką jūs ketinate daryti yra, jūs iš tikrųjų reikia įsitikinti kad jūs turite kažką kiekvienoje eilutėje kad jūs norite. Jūs tiesiog įdėti juos, kad. Taigi šiuo atveju, sakytume, 3. Jūs 18, tinkamą Benas? AUDITORIJA: 19. ALLISON Buchholtz-AU: 19? AUDITORIJA: 19. ALLISON Buchholtz-AU: Jūsų metų "19? Pereisite į "18, tiesa? AUDITORIJA: Oh. ALLISON Buchholtz-AU: Metai. AUDITORIJA: Gerai. ALLISON Buchholtz-AU: Aš, pavyzdžiui, esate jau planuoja prireiks metų nuo čia? Taigi žodžiai "18, turime Benas. Taigi, šiuo atveju, tai būtų eiti per, būtų sukurti naują įrašą čia. Cool. Neblogai, tiesa? Daug tai ketina būti sintaksės jums vaikinai. Sąvokos turi ateiti, tikiuosi, gana lengvai. Sintaksė yra vienintelis dalykas, kad gali būti šiek tiek sudėtinga. Ir tada mūsų naujausia yra DELETE, ir kaip jūs pastebėjote, Aš labai rekomenduoju šią svetainę. Tai puiku. Yra tona stuff. Taigi, tas pats būdas, kad mes turėjome kai atnaujinti, naikinti yra labai panašus. Vietoj mes Ištrinti iš duomenų. Taigi šiuo atveju, mūsų paskutinis vienas aš užsirašyti čia. Tarkime norime ištrinti mane. Negaliu rašyti šiandien. DELETE, nepriklausomai nuo jų stalo mes į duomenų. Ir ten iš tikrųjų yra trys būdai galėtume pasirinkti ištrinti mane. Gali jus vaikinai man pasakyti, kas tris būdai, kaip jums galėtų man ištrinti? ID lygus 1, kur ID lygus 1. Mes galime padaryti, jei bus lygu 15 arba kai "pavadinimas yra Allison. žinoma, yra tik trys skirtingi keliai, nes visa tai yra unikalūs. Paprastai jūsų stalo, ir ypač į savo pset, jūs ketinate nustatyti vieną Šie stulpeliai yra unikalus. Tai tikriausiai bus kai unikalus ID skaičius, nes jei have-- tikrųjų, ji iš tikrųjų gali jums turi po dvi. Aš negaliu prisiminti, jei jis tegul turite du to paties dalyko. AUDITORIJA: tada ji keisti savo elgesį. ALLISON Buchholtz-AU: Tai būtų. Tai bus sukelti elgesį, kuris yra netikėtas, kad jūs tikrai negali prognozuoti. Taigi jūs tikrai turi vieną stulpelį į savo duomenų bazę, kuri bus unikalus, ir tai paprastai galite nustatyti tai, kad jis, kaip unikalaus ID, ir jis bus tiesiog atnaujinti kas laikas įdėsite į lentelę. Bet koks laikas jums sukurti naują eilutė, jis bus automatiškai prieaugio ir suteikti jai tam tikrą unikalų ID. Taigi užuomina jūsų pset. Gerai. Taigi tai yra SQL. Taigi, dabar mes ketiname kalbėti apie pats paskutinis dalykas, ir kuris būtų tikrai gana gerai su jūsų pset, jei jis būtų eiti į priekį. Taigi MVC, modelį kontrolierius. Tai tikrai tik būdas išlaikyti viskas kontroliuojama. Tokiu pat būdu su C prašome jus vaikinai sukurti funkcijas ir atskirus dalykus out, tai tik būdas atskirti kodas, kai jūs darote interneto svetainių kūrimas. Todėl daro ką daug daugiau elegantiškas ir supaprastinta, ir iš tikrųjų tai yra būdas kad jūsų pset yra iš tikrųjų įsteigti, taip, ar ji jums patinka ar ne, jūs ketinate mokytis, net jei jums nereikia galvoti jūs mokotės ją. Ir vienas dalykas yra, ji taip pat leidžia jums padaryti daug daugiau, kaip vartotojo bendradarbiaujant. Taigi, kai aš paėmė CS50, aš svetainėje mano galutinis projektas, ir man buvo kaip, aš tvarkyti duomenų bazės stuff. Aš tai padaryti atgal pabaigos stuff, ir mano kambarioku, kuris man buvo atsižvelgiant su juo buvo labai meniškas. Ji daro scenografiją, ir ji norėjo, kad visi gana. Taigi aš kaip, Gerai. Galite rūpintis visi priekis stuff. Ir tai, kaip matysime labai greitai, kad modelis vaizdas valdiklis leidžia jums visiškai atskiria tą kodą, kad galėčiau dirbti įgyvendinti mūsų puslapius, ir manipuliavimas informacija mūsų bazių, ir ji gali tiesiog padaryti dalykus gana, ir mes abu tikrai laimingas, nes mes turime daryti, ką mes abu norėjome ir mes neturėjo spręsti su kita. Taigi mes Kabinkite kartu. Mums patinka hang out. Aš tiesiog nenorėjau susidurti su visi CSS ir HTML stuff. Buvau kaip jūs padaryti jį gražus. Aš susidoroti su duomenų baze. Taigi, mes turime tai tikrai cool, puikus staliukas. Aš myliu lenteles. Ir iš esmės, modelis galite galvoti apie tai, ką tik jūsų duomenų bazės. Buvau modelis asmuo mano projektas. Tai viskas apie saugojimo informacija ir organizuoti, kad duomenys. Taigi, tai, ką mes mėgstame vadinti nugaros pabaigoje. Taigi jūs vaikinai bus susijusios su SQL duomenų bazės ir duomenų failai. Tai jūsų modelis. Jūsų nuomone, kaip jums gali manau, natūra prasmę, yra tai, ką savo vartotojo tikrųjų mato. Tai sąsaja. Tai, kad visą susiduria komponentas. Štai ką mano draugas turiu dirbti visą laiką. Ji buvo super laimingas. Štai visa HTML, ir yra labai mažai PHP. Jei jūs tik kalbame apie kas buvo rodomas naudotojui, mes kalbame apie hiperteksto. Mes kalbame apie tai, kaip jis atrodo. Mes kalbame ne apie logiką, ar sąlygos arba Papuošalą. Visa tai pasireiškia tvarkoma duomenų valdytojas, gerai? Kad rankenos naudotojų pageidavimus ir gauna informaciją. Taigi vienas dalykas, kurį reikia žinoti apie Jūsų pset yra tai, kad savo pažiūras nieko, kad yra iš tikrųjų Informacijos rodymas niekada neturėtų padaryti ragina savo modelį. Visa tai tvarkoma savo kontrolierius. Jūsų valdiklis vienas tarpininkauti tarp šių dviejų. Jis prašys modelį tam tikros informacijos. Jis gali pakartoti per tą informacija, išsiaiškinti ką jūs iš tikrųjų reikia iš tai, ką daryti su juo, ir tada jis bus perduoti tiesiog informacija jums reikia mano jums spausdinti iš arba rodyti jį vartotojui, gerai? Nes matome, kaip vaizdas kokia susiduria vartotojas, todėl ji bus daug lengviau jiems išsiaiškinti, oh, jei darote kai su savo modeliu skambutis ir esate klausia visiems vartotojams kas prasideda raide A, ir darote, kad jūsų nuomone, bet kas, kas gali matyti jūsų tinklalapį potencialiai gali pasiekti, kad. Jūs nebūtinai nori, kad. Jūs nenorite, kad žmonės matytų daugiau į duomenų bazę, nei ką jie turėtų būti pamatyti. Tik dėl jų specifinių parinktys. Taigi valdiklis rankenos visa tai. Taigi visi jūsų .php failus, pamatysime galite apsvarstyti valdikliui failus. Ir tai, kai esate tikrai bus prašote iš savo duomenų bazės, ir Iteracja ar manipuliuojant tai, kiek reikia, kol perduoti ją peržiūrėti. Tai tikrai cool pset, mano nuomone. Manau, kad tai šiek tiek daugiau kaip momentinis atpildas, nes jums įgyvendinti daug šiek tiek maža ko, ir kiekvienas dalykas turi dirbti savo. Nepatinka, daryti viską ir tada pamatyti, jei ji veikia. Kaip su programine įranga kur jūs kaip aš tikiu, tikrai tikiuosi tai teisę, nes jei taip nėra, yra daug daug Kavinės ji gali būti klaidinga. Gerai. Tiesiog įsitikinkite, kad aš sakiau viskas, ką reikia pasakyti apie MVC. Taip. Cool. Taigi CS50 Finansų, turime mūsų modelis, kaip aš ką tik pasakė čia. Ji ketina būti MySQL ir phpMyAdmin. Galiu tikrai traukti tie taip, vaikinai gauti galimybę pažvelgti į jį. Kaip ir sakiau anksčiau, tai jūsų SQL duomenų bazė veikia kaip savo modelį, ir jūs galite siųsti ką mes vadiname užklausas, kuris yra tik šie dalykų rūšių. Tai vadinama užklausa. Tai užklausą, kur esate tik klausia savo bazę kažko, ar jūs pakeitę duomenų bazė tam tikru būdu. Tai viskas yra. Ir jums, kad su funkcijos mes davė jums čia. Jūs taip pat galite manipuliuoti juos ranka per phpMyAdmin, kuriuos mes galime tikrai pažvelgti. Aš sukursiu mėginį duomenų bazė su jumis vaikinai. Gerai. Taigi, duomenų valdytojas. Taigi šiuo atveju, jeigu jūs pranešimas, kad visa tai PHP. Atkreipkite dėmesį, kad tipo jūsų Svarbiausia iš valdikliui yra tai, kad ji turėtų būti daugiausia PHP. Jei turite HTML valdikliui, ne tikrai, kas vyksta ten. Taip pat, kaip ir sakiau, jei jums sugeba [nesigirdi] su HTML, Aš susidomėjęs. Taigi, ką mes turime čia yra turite kokių nors užklausą. Užklausa yra funkcija, kuri mes sukūrėme jums vaikinai. Tai kaip įvynioti į užklausas į duomenų bazę tiek lengviau. Jei nebuvo, kad už sintaksė iš tikrųjų kalbėti su savo SQL duomenų bazės būtų skirtingi, todėl mes tiesiog jai jums vaikinai. Mes norėtume, kad gyvenimas lengvas. Taigi šiuo atveju, gali vaikinai pasakykite man, ką ši eilutė daro? SELECT * FROM tikru stalo. AUDITORIJA: Pasirinkite viskas iš šios lentelės. ALLISON Buchholtz-AU: Būtent. Taigi jis sako, duok man viskas iš šios lentelės. Ir tai ją saugoti kai kintamasis rezultatas. Ir tai sako, jei rezultatas yra ne lygus false, tada mes kiekvienas tai. Taigi, jei ten nieko čia, jeigu jūsų Lentelės tuščias arba jis tiesiog neegzistuoja, jis ketina grįžti klaidinga. Taigi šiuo atveju, mes tiesiog padaryti įsitikinkite, kad kažkas iš tikrųjų grįžo į mus. Ir tada čia mes turime mūsų labai foreach kilpa kad mes Iteracja per mūsų rezultatas, ir mes vadiname tai eilutė, ir sakome, kad suteiktų tokias šabloną kur jūsų duomenys yra šis rezultatas. Gerai? Taigi tai tik perdirbimo Rezultato eilutė. Priešingu atveju, jis šaukia. Taigi, tai yra pavyzdys valdytojo. Kaip matote, tai yra tik place-- Taip, atsiprašau? AUDITORIJA: Kodėl prieš eilę ampersand? ALLISON Buchholtz-AU: Prieš eilę ampersand. Mes tiesiog Iteracja. Štai taip adresas of-- AUDITORIJA: Taigi tai tarsi C nuorodas. ALLISON Buchholtz-AU: Tai įsitikinkite, kad jūs iš tikrųjų pakeisti pradinį ir ne kopija. Tai taip pat, C kur mes pro šalį nuoroda čia, tiesiog įsitikinti. AUDITORIJA: Ar tai nėra == Vietoje NOT = PHP? ALLISON Buchholtz-AU: Tai ne ==. AUDITORIJA: Kadangi lygus C yra just-- ALLISON Buchholtz-AU: Tai tiesiog =. Taip, ne. Tai ne ==. Nes == PHP tikrina, lygybę sveriame, suteiktas, bet papildomai kokybė. Taigi, tai ne == PHP. Tai vienas iš mažai sintaksės skirtumus. Taip. Taigi mes tiesiog Iteracja per kiekvieną iš eilės, ir padaryti, jei jūsų vaikinai skaityti per savo spec, yra tik keletas kitų funkcijų, kad yra iš tikrųjų ketina apdoroti visą HTML ir rodyti jį į savo interneto naršyklė jums. Gerai. Taigi, mes norėtume galvoti valdikliu kaip kas tvarko verslo logika. Kaip matote čia, tai kur mes esame atsižvelgiant mūsų duomenų iš lentelės, mes nagrinėjame jį tam tikru būdu, ir tada mes perduoti ją išjungti. Kai mes darome tampa šiek šabloną, kai šablonas yra mūsų požiūris, ir mes perduoti ją tik Duomenų, kad jis turėtų gauti. Ne visi duomenys. Gryni duomenys, kad mes norime, kad ji gauti. Gerai? Iš esmės tas apdorojus duomenis. Taigi tai yra mano, kad ši yra suma šablonas, kad mes turime, ir visa tai darai, tai galite šiek tiek PHP, jūsų nuomone. Tai ne taip, kaip nėra susijusi PHP. Tiesiog turėtumėte turėti labai minimalus PHP atsižvelgiant, ir jūs niekada neturėtų būti užklausų, jūsų nuomone. Jūs niekada neturėtų kalbėti į duomenų bazę, Jūsų nuomone,. Štai didelis skirtumas. Taigi, kas čia vyksta, yra, mes turime PHP Štai Iteracja per eilę. Taigi šiuo atveju, nes mes buvome Iteracja per kiekvieną eilutę ir teikiant kažką, tai buvo tikriausiai kaip dviejų masyvas kur mes kai eilutę, kuri yra savaime masyvas, nes mes Iteracja per jį dar kartą. Ir mes tiesiog spausdinti eilutė vardas, tada baigti jį. Jums nereikia tai per foreach. Aš niekada nemačiau, kad prieš iš tikrųjų. Aš tiesiog padaryti foreach. Gerai, kad tai vaizdas. Leiskite pamatyti, jei mes galime eiti per Šiek tiek savo pset. Mes turime 15 minučių, todėl aš tikiu, kad jūs vaikinai norėtų, kad daugiau nei tik baigiant anksti. Leiskite pamatyti, jei aš galiu duoti tai padaryti. Taigi, aš nežinau, kiek iš jūsų vaikinai Atsisiuntus ją ir dar Papuošalą, bet mes turime vardą čia ir mes kai savo slaptažodį. Ir, deja, tiesa Dabar duomenų bazėje yra tuščias, todėl mes iš tikrųjų reikia sukurti duomenų bazę. Na, tai keista. Nesitikėjau, kad. Techninių klaidų. Techniniai sunkumai. Mes turime pset7. Cool. Taigi, vienas dalykas, kurį galite padaryti, tai, su query-- aš sukurti lentelę. Taigi tai bus users-- kas jūs galite padaryti čia yra, jei mes turime some-- Tikrai dabar? Gerai. Akivaizdu, kad aš nesu darydama karšta. Oh. Aš žinau, kodėl. Nes aš niekada nebuvo sukurta faktiniai stalai. Taigi, kai jūs pirmą kartą pradėti su duomenų bazė, jūs akivaizdžiai turite nuspręsti, kokie yra dalykų man reikia turėti čia? Taigi, jei mes tiesiog išjungti Mūsų duomenų lentelė čia mes turėjome šiek tiek ID, kuris gali tiesiog likti int. Ir jei mes žiūrime per čia, ten cool dalykas that-- So indeksą. Jei tai padarysite, pradinio, tai sudarytų dalykas, kad jūsų stalo organizuoja, ir jis taip pat bus unikalus. Taigi šiuo atveju, mes pasirūpinsime, kad pagrindinis, ir aš ruošiuosi padaryti šį vardą, tada mes tiesiog padaryti jį varchar tiek kaip 26 raidžių, nes kodėl gi ne? Ir tada jūs galite eiti į Išsaugoti, tada jei matote, mes turime kai kurie vartotojai čia. Taigi, jei mes norėjome padaryti įterpti, galėtume tai padaryti Tokiu būdu, arba, jei norite praktika su savo queries-- Oh boy. Turiu nenaudojama tai amžinai. Norėčiau pasinaudoti šia atgal. Jūs galite redaguoti šią savo arba tiesiog rankiniu Informacijos įterpimo kažką panašaus, jums gali pakeisti bet kurį iš šių jei norite make-- Jei norite staiga atsikratyti vardo, galite nukristi, jūs galite padaryti visus šiuos dalykus. Jei jums reikia, kad kada nors rankiniu būdu pakeisti savo stalo, Siūlau tai daryti phpMyAdmin prieš bandant išsiaiškinti SQL užklausos apskritai. Kai pirmą kartą paleidžiate savo pset, jūs ketinate turi dirbti čia, taip pripranta prie to. Ir tada, kai jūs iš tikrųjų norite įterpti dalykus į savo table-- Aš tikrai įdomu, kur tai yra, nes there's-- Štai jis. Štai ką aš norėjau. Taigi, jei jūs einate į SQL, galite realiai pamatyti, kaip matome čia, turime SQL užklausas. Taigi, jei mes norėjome pasirinkti kažką arba jei mes norėjome įdėti kažką, mes galime padaryti įterpti į vartotojų, tiesa? Manau, kad jums reikia pasvirąjį. Vienas dalykas žinoti, jei jūs kada nors naudoti šiuo, turite naudoti juos atgal apostrofai, kurie paprastai, jei esate Mac, tiesiai virš skirtuko. Taigi geras dalykas žinoti. Galite įterpti į vartotojų, ir mes turime savo vertybes, ar ne? Taigi, mes turime vertybes, o mūsų vertybės šiuo atveju būtų tiesiog būti, mes turime tik asmens dokumentą, kad mes gali padaryti vieną, jei mes norėjome. Kad keista. Gerai. Štai kaip trumpai mažai ką su SQL, tačiau jis gali būti naudingesnis, kad iš tikrųjų pažvelgti į kai kuriuos failus čia. Taigi pasirinkę "Parsisiųsti. Oi, ne atsisiųsti. Taigi, tiesiog greitai rankos iš kas yra kiekvieno iš šių katalogų. Ji apima, mes tiesiog turime dalykus kad sukonfigūruoti savo naršyklę, turime šias konstantas, ir mes turime šias funkcijas. Jei jus domina kuri nors iš jų, Aš rekomenduoju žiūri funkcijų. Vienas iš jų, kuris yra super naudingas, iš tikrųjų tai yra vienas čia sąvartynas. Taigi, jei jūs naudojate šią, jis bus iš tikrųjų tik spausdinti nepriklausomai kintamasis kad jums patinka tai, kad. Taigi, jei turite problemų suprasti , kas tai masyvas atrodo, ar ką šių informacijos, kaip tai suformatuotas, tai yra puikus dalykas naudoti. Ypač tada, kai jūs turite vartotojas su keliais sandėlyje, tai bus kažkas puikus naudoti. Nes jis gali būti formatted-- Žinau bent jau man, kai aš tai pset buvo suformuluoti taip, kad aš ne visai tikėtis. Taigi, aš bandžiau pakartoti per tai ir bando manipuliuoti, bet aš tikrai ne suprasti, ką aš darau. Taigi, jei jūs tiesiog iškelties jį, jis bus spausdinti jį į naršyklę, ir jūs galite pamatyti, kaip tai suformatuotas. Paprastai jis bus atspausdinti jį kaip masyvas su mygtukais ir jos vertybes. Todėl ji gali padėti ten. Jis taip pat gali padėti padaryti Įsitikinkite, kad jūs iš tikrųjų greiferiniai duomenis maniau tu buvo. Taigi, jei jums buvo kaip, mano stalo tikrai sako ten vartotojas šiuo ID, bet kai jūs einate į sąvartyną kintamasis, tai ne ten, jūs akivaizdžiai žino, kad tai kur klaida ketina būti. Tai yra vienas iš geriausių įrankių derinimo metu, mano nuomone. Ir tada ten pora kitų dalykų čia, bet didžioji dalis, tai vienas noriu atkreipti jūsų dėmesį į, nes tai yra labai naudinga. Visuomenės, ką mes turime čia yra, tai visi mūsų CSS stuff. Taigi CSS, šriftai, mūsų vaizdo, Papuošalą. Tai viskas, stuff, kad Jūs neturite pakeisti. Gali jus vaikinai manote apie tai, jei tai turi tokius dalykus kaip CSS šriftų, Ar tai modelis, arba vaizdas arba reguliatorius? AUDITORIJA: [nesigirdi] ALLISON Buchholtz-AU: Tai reikia būti daugiau nuomone, tiesa? Tai nagrinėdama visus dalykai, kaip viskas atrodo. Taigi, jei mes tai atidaryti čia matome kad viskas, kas vyksta čia, yra mes padaryti kažką. Gerai? Taigi tai būtų labai kvalifikuoti kaip tokią nuomonę. Taigi tai yra tik atsižvelgiant kai, jis skambina kai portfolio.php kad mes turime, ir tai artimųjų pavadinime ir portfelio. Ir tai tik teikiant kad. Tiesą sakant, aš imtis, kad nugarą. Tai valdiklis, nes teikti, atminkite, perteikia vaizdą. Taigi portfolio.php šiame atvejis būtų jūsų požiūris. Atsiprašome, vaikinai. Portfolio.php bus Jūsų požiūris, o tai tik jūsų valdiklis, kad. Ir jei mes, apsilankykite čia paskutinis čia, šablonai, šablonai visus savo nuomonėmis čia. Taigi, jei mes žiūrime, akivaizdžiai matome gaires HTML čia. Taigi šis yra tiesiog parodyti jums, ką prisijungimo puslapis turėtų atrodyti. Pastebėjus mes kai , sudaro grupes, turi pateikti. Štai kaip nuspręsti, ką rodomas ten. Turite kokių nors mygtuką type = "submit", ir tada jūs turite tai, ko norite, kad rodyti mygtuką. Štai kaip jūs padaryti jį parodyti kaip ką norite. Ir mes matome, čia mes turime kai vartotojo vardą, kai slaptažodis ir kai mes iš tikrųjų nukentėjo Pateikti, jis ketina būti šiek postas, ir jis ketina rašyti, ką? Kokia šiuo požiūriu kontrolierius? Kai mes paspausti Submit, kas bus vadinama? Ar žinome? Tai čia, todėl login.php. Kas jums vaikinai ketina įgyvendinti. Taigi jūs visada galite pasakyti, kas bus vadinamas po paspausite Pateikti šis pirmoje eilutėje čia. Ką forma veiksmas. Kai ši forma yra pateikiama, kokių veiksmų mes imtis? Mes vadiname login.php ir mes vadina jį su šiuo metodu iš kampo, kuris turi paslėpta informacija. Gerai? Taigi tai yra jūsų požiūris, tada akivaizdžiai jei nuėjome login.php-- mes turime jį Dar neužsiregistravote? Taip. Taigi, kaip matome čia, tai turi daug daugiau logikos. Tai visų mūsų PHP čia. Mes stengiamės pamatyti, jei ji buvo $ _GET, jei ji buvo $ _POST, tvirtinti dalykus, querying, visa tai stuff. Taigi tie, kurie tiesiog trijų skirtingi dalykai čia. Jūs neturite ką nors keisti. Kursite dalykus į svetainės šabloną, galbūt, bet kiek HTML arba bet stilius tai eina, Jūs galite palikti jį kaip paprastas arba kaip sudėtingas, kaip norite. Kai kurie žmonės tikrai į jį ir padaryti kai kurie gana awesome svetainėse. Jūs neturite daryti. Jei turite laiko, tai tikrai cool dalykas. Galite pažaisti su CSS ir HTML ir gauti daug geriau jaustis už jį, bet ne pajusite. Yra daug, kad jūs darote Sezono pabaiga su kuriuo užtikrinamas prisijungti, ir registruotis, ir visi šitie dalykai. Taigi, tikiuosi, kad padeda šiek tiek. vaikinai turi kokių nors klausimų, apie ką mes perėjo, visi kiti ištekliai? Aš tikrai siųsti visus mano pavyzdys PHP kodas jumis vaikinai, ir tada nedvejodami imtis nuotraukas ar Papuošalą tai. Taip pat jis yra prisijungęs. Jūs visada galite tiesiog žiūrėti dar kartą. Taigi, jei viskas, visi gerai? Taip. AUDITORIJA: Aš tik noriu patvirtinti, kai mes daro pasirinkite SQL, žvaigždė reiškia viską, tiesa? ALLISON Buchholtz-AU: Taip. AUDITORIJA: Ir tada, jei Jūs neturite žvaigždė, jei norite, kad ji trunka nuo konkrečių eilutė, tada tiesiog įdėti pavadinimą of-- ALLISON Buchholtz-AU: Iš eilės pavadinimas ir tai, ką norite norite, vertė. AUDITORIJA: Ir tada data. ALLISON Buchholtz-AU: Nepriklausomai Jūs ieškote, yeah. Tokiu pat būdu, jei jūs darote DELETE * nuo kai stalo, jis bus ištrinti viską. Taigi, * yra tik laukinis kortelė visko. AUDITORIJA: Gerai. ALLISON Buchholtz-AU: Cool. Nuostabus. Na, turime puikią pirmadienis, vaikinai. Aš pamatysiu kitą savaitę. Sėkmės jūsų pset.