1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Viikko 8, jatkuu] 2 00:00:02,000 --> 00:00:04,000 [David J. Malan] [Harvardin yliopisto] 3 00:00:04,000 --> 00:00:08,000 [Tämä on CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> Tämä on CS50, joten tämä on loppuun Viikko 8 täältä. 5 00:00:13,000 --> 00:00:16,000 Meillä tietysti oli hieman hurrikaanin aiemmin tällä viikolla, 6 00:00:16,000 --> 00:00:19,000 joten nyt se on oikeastaan ​​vain sinä ja minä tässä salissa, 7 00:00:19,000 --> 00:00:22,000 mutta tänään jatkamme keskustelua PHP 8 00:00:22,000 --> 00:00:25,000 ja noin Web-ohjelmointi yleisesti ja otamme myös käyttöön ajatus 9 00:00:25,000 --> 00:00:29,000 tietokantojen, erityisesti yksi nimeltään MySQL, joka on varsin suosittu näinä päivinä, 10 00:00:29,000 --> 00:00:34,000 suurelta osin, koska sen skaalautuvuutta sekä koska sen on vapaan ja avoimen lähdekoodin. 11 00:00:34,000 --> 00:00:37,000 >> Mutta ensin katsoa mihin jäimme viime kerralla. 12 00:00:37,000 --> 00:00:40,000 Muistutan, että olimme katsot useita Frosh IMt esimerkkejä, 13 00:00:40,000 --> 00:00:44,000 ja tämä oli vastenmielinen muoto, että olen päätynyt noin 15 + vuotta sitten 14 00:00:44,000 --> 00:00:49,000 saadakseen opiskelijoita kampuksella rekisteri fuksi sisäiset urheilu 15 00:00:49,000 --> 00:00:52,000 ei itse tarvitse vaeltaa enää poikki pihan Wigglesworth 16 00:00:52,000 --> 00:00:56,000 liukumaan fyysistä paperille alla jotkut Proctor oven. 17 00:00:56,000 --> 00:00:59,000 Sen sijaan muutimme kaiken verkossa, mutta tehdä, että meidän piti käyttää 18 00:00:59,000 --> 00:01:03,000 Muutaman tekniikoita, joten yksi, tarvitsimme HTML, Hypertext Markup Language, 19 00:01:03,000 --> 00:01:07,000 mikä taas on tämän kuvauskieli, jolla voit tehdä web-sivuja rakenteellisesti. 20 00:01:07,000 --> 00:01:10,000 >> Käyttämällä hieman CSS näinä päivinä, css, 21 00:01:10,000 --> 00:01:16,000 jolloin käytämme stylizations Web-sivun käyttämällä hieman erilaista syntaksia, 22 00:01:16,000 --> 00:01:19,000 taas HTML oli kyse sen rakenne. 23 00:01:19,000 --> 00:01:21,000 Meidän on myös otettava käyttöön Web-ohjelmointikielellä. 24 00:01:21,000 --> 00:01:25,000 Tässä tapauksessa käytämme PHP ja PHP tulee antamaan meille 25 00:01:25,000 --> 00:01:28,000 dynaamisesti tuotoksen sisältöä sekä tehdä ohjelmallinen asioita, kuten 26 00:01:28,000 --> 00:01:33,000 lähettää sähköposteja, kuten oli laita huomautuksen lähdimme viime viikolla. 27 00:01:33,000 --> 00:01:35,000 >> Muistuttaa, että koodi oli 2 osassa. 28 00:01:35,000 --> 00:01:38,000 Yksi, meillä oli froshims3.php, 29 00:01:38,000 --> 00:01:42,000 ja tämä oli pääosin markup kanssa HTML-muodossa sen sisällä, 30 00:01:42,000 --> 00:01:45,000 pikkuisen CSS tänne tyyliattribuutteja 31 00:01:45,000 --> 00:01:48,000 niin että lomake sinänsä olisi keskittynyt sivulla, mutta pidemmälle 32 00:01:48,000 --> 00:01:51,000 meillä oli joitakin edustavia muodossa tuloa, tekstikenttä, valintaruutu, 33 00:01:51,000 --> 00:01:55,000 Joissakin radio painikkeet, valitse valikko ja lähetä-painiketta. 34 00:01:55,000 --> 00:02:01,000 Ja tällä lomakkeella, jätimme tiedosto oli ilmeisesti nimeltään register3.php, 35 00:02:01,000 --> 00:02:04,000 joka itse näytti vähän jotain tällaista. 36 00:02:04,000 --> 00:02:08,000 Nyt useimmat koodin register3.php, muistaa, oli kyse sähköpostilla. 37 00:02:08,000 --> 00:02:11,000 Se teki hieman validoinnin muodossa toimitettiin varmista 38 00:02:11,000 --> 00:02:14,000 että alat todella että odotettiin. 39 00:02:14,000 --> 00:02:18,000 Sitten kutsui joitakin PHP toimintoja käyttämällä hieman uutta syntaksia, 40 00:02:18,000 --> 00:02:20,000 vaikka se lainattu C. 41 00:02:20,000 --> 00:02:24,000 >> Tämä nuoli operaattori sallii meidän käyttää jotain kutsutaan olio-ohjelmointi. 42 00:02:24,000 --> 00:02:27,000 Emme aio mennä, että yksityiskohtaisesti täällä, mutta tiedämme nyt 43 00:02:27,000 --> 00:02:31,000 se on tapa, jolla liittyviä toimintoja esineitä, 44 00:02:31,000 --> 00:02:34,000 jotka ovat erityinen rakenne, kuten näimme C. 45 00:02:34,000 --> 00:02:37,000 Mutta nyt, vain ottaa uskon, että tämä on oikea syntaksi käyttää 46 00:02:37,000 --> 00:02:41,000 kun käytetään kirjastoa, kuten tämä phpmailer kirjasto. 47 00:02:41,000 --> 00:02:44,000 Ja sitten loppuun tämän tiedoston olimme dynaamisesti sähköpostia 48 00:02:44,000 --> 00:02:47,000 että pelaaja lähetti minun jharvard@cs50.net tili 49 00:02:47,000 --> 00:02:50,000 minun jharvard@cs50.net tilin, 50 00:02:50,000 --> 00:02:54,000 ja me ilmoitti käyttäjä vastaavasti, että ne oli rekisteröity tätä urheilua. 51 00:02:54,000 --> 00:02:57,000 Se on melko paljon, mitä Frosh infrastruktuurin sivusto teki vuosia sitten 52 00:02:57,000 --> 00:03:00,000 kun toteutetaan sitä, myönnetään eri kielellä, 53 00:03:00,000 --> 00:03:02,000 mutta se näyttää ehkä voima, että olet 54 00:03:02,000 --> 00:03:05,000 Nyt voit ilmaista itseäsi ei vain ohjelmallisesti 55 00:03:05,000 --> 00:03:08,000 alhaisella tasolla kielellä, kuten C, mutta paljon korkeammalle tasolle 56 00:03:08,000 --> 00:03:11,000 Näiden hyvin reaalimaailman sovelluksia, kuten sähköpostin todella ratkaista 57 00:03:11,000 --> 00:03:13,000 joitakin reaalimaailman ongelmia. 58 00:03:13,000 --> 00:03:16,000 >> Nyt tietenkin, vaikka käytän tätä script luoda joitakin 59 00:03:16,000 --> 00:03:20,000 sähköpostit dynaamisesti jharvard@cs50.net, joka on todellakin tili 60 00:03:20,000 --> 00:03:23,000 että minulla on pääsy, älä varsin varovainen lähettää 61 00:03:23,000 --> 00:03:26,000 mail vain tilejä, jotka ovat todella oman, 62 00:03:26,000 --> 00:03:30,000 ettei asiat saavat sinut hieman kuumaa vettä elämässä. 63 00:03:30,000 --> 00:03:35,000 Tämän sanoi, katsotaanpa nyt siirtymistä ratkaisemaan toinen ongelma kokonaan, 64 00:03:35,000 --> 00:03:37,000 että säilyttää toteaa. 65 00:03:37,000 --> 00:03:39,000 Nyt, mitä tämä oikeastaan ​​tarkoittaa? 66 00:03:39,000 --> 00:03:42,000 HTTP, tämä Hypertext Transfer Protocol, 67 00:03:42,000 --> 00:03:45,000 on todella kansalaisuudeton protokollaa, ja mitä tämä tarkoittaa, että 68 00:03:45,000 --> 00:03:48,000 kun vetää jotain Google.com ja sitten enteriä 69 00:03:48,000 --> 00:03:51,000 yleensä selaimessasi on jonkinlainen kehruu kuvake sitten 70 00:03:51,000 --> 00:03:54,000 tuloksia joissakin sivun latautui, 71 00:03:54,000 --> 00:03:57,000 ja sitten se pieni kuvake pysähtyy spinning, ja että todellakin ehdottaa 72 00:03:57,000 --> 00:04:02,000 että HTTP on suorittanut jonkinlaisen yhteyden palvelimeen ja se on siinä. 73 00:04:02,000 --> 00:04:05,000 HTTP on tilaton siinä mielessä, että se ei yllä 74 00:04:05,000 --> 00:04:08,000 jatkuva yhteys palvelimeen samalla tavalla Skype ei 75 00:04:08,000 --> 00:04:11,000 tai Gchat tekee, koska HTTP 76 00:04:11,000 --> 00:04:15,000 oletus on, että kun olet hakenut sivun siinäpä se. 77 00:04:15,000 --> 00:04:18,000 >> Nyt, todellisuudessa näinä päivinä sivustot, kuten Facebook ja Google Maps 78 00:04:18,000 --> 00:04:21,000 ja Twitter ja vastaavat siellä on paljon enemmän dynamiikkaa, jossa 79 00:04:21,000 --> 00:04:25,000 senkin jälkeen kuvake pysähtyy kehruu voit itse saada lisää päivityksiä 80 00:04:25,000 --> 00:04:29,000 palvelimelta, enemmän tweets, enemmän tilapäivitykset Facebookissa ja vastaavat. 81 00:04:29,000 --> 00:04:33,000 Mutta sekin on käyttää tekniikkaa, me puhumme vuonna viikon tai kaksi 82 00:04:33,000 --> 00:04:36,000 tunnetaan Ajax käyttäen kieltä nimeltä JavaScript.Lisää 83 00:04:36,000 --> 00:04:38,000 mutta lopussa päivä, HTTP on edelleen kansalaisuudeton. 84 00:04:38,000 --> 00:04:42,000 Ja vielä jos haluat jotenkin muistaa asioita käyttäjän 85 00:04:42,000 --> 00:04:44,000 vaikka he ovat irti palvelimen 86 00:04:44,000 --> 00:04:47,000 PHP ei varaa sinulle keino tämän 87 00:04:47,000 --> 00:04:52,000 sillä, kuten näimme viime kerralla, PHP on useita Superglobaalit, 88 00:04:52,000 --> 00:04:55,000 ja superglobal on jälleen erityisen globaali muuttuja 89 00:04:55,000 --> 00:04:59,000 joka on antanut sinulle web-palvelimen ja PHP itse. 90 00:04:59,000 --> 00:05:02,000 >> Sinun ei tarvitse tehdä mitään laittaa arvot siinä, 91 00:05:02,000 --> 00:05:05,000 ja joukossa Superglobaalit olemme nähneet tähän mennessä on saada ja lähettää, 92 00:05:05,000 --> 00:05:08,000 mikä on kun lomakekenttiä laitetaan automaattisesti puolestasi, 93 00:05:08,000 --> 00:05:11,000 sekä pari muuta, jotka emme ole nähneet vielä. 94 00:05:11,000 --> 00:05:17,000 Sisältä $ _SERVER joitakin erityisiä liittyviä muuttujia palvelimen itse. 95 00:05:17,000 --> 00:05:22,000 Mikä IP-osoitteen, mitä protokollaa, HTTP tai HTTPS käytit, 96 00:05:22,000 --> 00:05:25,000 Mitä pyynnöstä menetelmä käytit ja vastaavat, joten on mielenkiintoista, 97 00:05:25,000 --> 00:05:29,000 mehukas tietoja palvelimen, ja itse asiassa, käyttäjälle myös siellä. 98 00:05:29,000 --> 00:05:33,000 On $ _cookie, mikä on kun nämä asiat nimeltään evästeet tallennetaan. 99 00:05:33,000 --> 00:05:36,000 Emme viettää aikaa evästeet itse tänään, 100 00:05:36,000 --> 00:05:40,000 mutta tiedämme nyt, että eväste on vain pieni pala tietoa 101 00:05:40,000 --> 00:05:43,000 että web-palvelin voi kasvi selaimella 102 00:05:43,000 --> 00:05:46,000 ja puolestaan ​​sen RAM tai tietokoneen kiintolevylle 103 00:05:46,000 --> 00:05:49,000 tallentaa tietoa käyttäjän, esimerkiksi niiden käyttäjätunnus 104 00:05:49,000 --> 00:05:52,000 niin että he eivät tarvitse kirjoittaa sitä joka kerta he kirjaudu sisään tai joissakin 105 00:05:52,000 --> 00:05:55,000 yksilöllinen numero tai tunniste, että käyttäjä 106 00:05:55,000 --> 00:05:58,000 joten sinun ei tarvitse kiusata niitä samanlaisia ​​kysymyksiä 107 00:05:58,000 --> 00:06:00,000 mieltymykset tulevaisuudessa, mutta useimmat kiinnostuksen 108 00:06:00,000 --> 00:06:02,000 nyt on $ _SESSION. 109 00:06:02,000 --> 00:06:07,000 >> Tämä superglobal, joka, kuten muut, luovutetaan sinulle automaattisesti PHP 110 00:06:07,000 --> 00:06:10,000 Kun olet kirjoittamassa PHP-pohjaisia ​​web-sivustoja 111 00:06:10,000 --> 00:06:13,000 voit tallentaa mitä haluat, jouset, kokonaislukuja, 112 00:06:13,000 --> 00:06:16,000 kelluva pistettä, arvot, taulukot, esineet, 113 00:06:16,000 --> 00:06:20,000 oikeastaan ​​mitään, että haluat, ja sen avulla voit tallentaa sen niin 114 00:06:20,000 --> 00:06:23,000 että vaikka käyttäjä vierailee sinua nyt ja sitten 115 00:06:23,000 --> 00:06:26,000 tulee takaisin hetken kuluttua tai 5 minuutin päässä nyt, koska 116 00:06:26,000 --> 00:06:28,000 he ottavat aikaa ennen kuin klikkaat muu linkki 117 00:06:28,000 --> 00:06:32,000 PHP varmistaa, että mitä laitat että istunto superglobal 118 00:06:32,000 --> 00:06:37,000 minuutti tai 5 minuuttia sitten edelleen siellä kun käyttäjä palaa. 119 00:06:37,000 --> 00:06:40,000 Ja alla huppu tämän superglobal toteutetaan tavalla 120 00:06:40,000 --> 00:06:44,000 nuo asiat kutsuttuja evästeitä, mutta nyt se on vain abstraktio 121 00:06:44,000 --> 00:06:47,000 jolloin se on tavallaan ohjelmallisen vastaavan ostoskorin. 122 00:06:47,000 --> 00:06:50,000 Mitä ikinä, ohjelmoija, laita se 123 00:06:50,000 --> 00:06:53,000 superglobal assosiatiivisia array on siellä joitakin useita minuutteja myöhemmin 124 00:06:53,000 --> 00:06:59,000 kunnes poistat sen tai kunnes käyttäjä sulkee hänen selain kokonaan. 125 00:06:59,000 --> 00:07:02,000 >> Katsotaanpa katsomaan esimerkki siitä, miten tämä asia on todella käytetään. 126 00:07:02,000 --> 00:07:07,000 Vuonna counter.php joukossa Nykypäivän paloja koodi 127 00:07:07,000 --> 00:07:09,000 meillä on seuraava rivi. 128 00:07:09,000 --> 00:07:13,000 Alussa tämä tiedosto meillä joukko sininen huomautuksia, jotka mielenkiinnoton nyt. 129 00:07:13,000 --> 00:07:15,000 Mutta linja 13 meillä on uusi linja, 130 00:07:15,000 --> 00:07:18,000 session_start, ja että itse ei mitä se sanoo. 131 00:07:18,000 --> 00:07:20,000 Se alkaa istuntoja. 132 00:07:20,000 --> 00:07:25,000 Sen avulla voit käyttää, että iso superglobal $ _SESSION, ja se on niin yksinkertaista. 133 00:07:25,000 --> 00:07:30,000 Nyt, jos me siirrymme katsomaan linja 16, yritetään selvittää, mitä tällä sivulla aikoo tehdä. 134 00:07:30,000 --> 00:07:35,000 Jos (isset ($ _SESSION ["laskuri"]) sitten mennä eteenpäin 135 00:07:35,000 --> 00:07:39,000 ja myymälä laskurin muuttujan, pieniä laskuri, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["Laskuri"]. 137 00:07:42,000 --> 00:07:45,000 Tämä näyttää julistaa paikallinen muuttuja nimeltä laskuri 138 00:07:45,000 --> 00:07:48,000 jonka sisällä se asettaa kopion mitä on sisällä superglobal 139 00:07:48,000 --> 00:07:52,000 kutsutaan istunnon paikka "laskuri". 140 00:07:52,000 --> 00:07:56,000 Else, ilmeisesti, tämä pieni paikallinen muuttuja laskuri, alustetaan 0. 141 00:07:56,000 --> 00:08:01,000 >> Mutta sitten muutama rivi myöhemmin 26 ilmoituksessa, että istunto on kopio laskuri, 142 00:08:01,000 --> 00:08:06,000 sen avaimen, on uusi arvo sidota mikä on sen käypä arvo plus 1. 143 00:08:06,000 --> 00:08:09,000 Lyhyesti sanottuna tämä tiedosto näyttää päivittäminen 144 00:08:09,000 --> 00:08:13,000 laskuri, joka tallennetaan sisällä istunnon superglobal 145 00:08:13,000 --> 00:08:16,000 inkrementoimalla se 1, mutta se ensin säilyttää kopion edellisestä arvosta 146 00:08:16,000 --> 00:08:20,000 tallentamalla se paikallinen muuttuja nimeltä $ laskuri, 147 00:08:20,000 --> 00:08:22,000 ja sitten tänne katsotaanpa mitä jää. 148 00:08:22,000 --> 00:08:24,000 On käynyt ilmi, se on aika paljon vain HTML. 149 00:08:24,000 --> 00:08:29,000 Alareunassa tämän sivun näemme linja 37, että olen käynyt tämän sivuston 150 00:08:29,000 --> 00:08:33,000 laskuri useita kertoja, joten siellä pari mielenkiintoisia ominaisuuksia täällä. 151 00:08:33,000 --> 00:08:36,000 Yksi, tämä on selvästi vaihteleva, mutta se ei riitä vain laittaa 152 00:08:36,000 --> 00:08:39,000 $ Laskuri body HTML takia tietysti 153 00:08:39,000 --> 00:08:43,000 jos se on vain siellä joukossa HTML PHP tulee olettaa, että vain HTML. 154 00:08:43,000 --> 00:08:48,000 Voit kirjaimellisesti haluavat $ laskuri tulostetaan ruudulle. 155 00:08:48,000 --> 00:08:51,000 >> Vaan pudottamalla osaksi PHP tilaan 156 00:08:51,000 --> 00:08:55,000 Tämän pala syntaksin voimme dynaamisesti lisätä arvoa täällä 157 00:08:55,000 --> 00:08:58,000 hyvin samankaltainen hengessä mitä teimme viime kerralla 158 00:08:58,000 --> 00:09:00,000 lisäämällä arvot jousille. 159 00:09:00,000 --> 00:09:04,000 Itse asiassa tämä on vain lyhennetty merkintätapa sanoa jotain tällaista kirjaimellisesti, 160 00:09:04,000 --> 00:09:12,000 print ($ counter) tai edes jotain printf (% s, laskuri), 161 00:09:12,000 --> 00:09:14,000 tai jopa, kuten ehkä nähneet verkossa tai oppikirjoissa, 162 00:09:14,000 --> 00:09:17,000 siellä funktio PHP nimeltään kaiku 163 00:09:17,000 --> 00:09:20,000 joka tekee saman asian, ja kaikki nämä ovat vain enää kelalla tapoja 164 00:09:20,000 --> 00:09:25,000 sanoa 00:09:28,000 Tässä yhdessä tapauksessa sinun ei tarvitse laittaa 166 00:09:28,000 --> 00:09:30,000 sana PHP jälkeen kysymysmerkin. 167 00:09:30,000 --> 00:09:34,000 Tämä on lyhennetty merkintätapa, jälleen, mitä juuri näimme hetki sitten 168 00:09:34,000 --> 00:09:37,000 joka kaikuu jotain arvoa. 169 00:09:37,000 --> 00:09:39,000 >> Katsotaan, mitä lopputulos tämä oikeastaan ​​on. 170 00:09:39,000 --> 00:09:43,000 Antakaa minun mennä yli meidän counter.php tiedostoon, 171 00:09:43,000 --> 00:09:47,000 ja näemme, että David juuri tehnyt virheen leikkii koodin sinne. 172 00:09:47,000 --> 00:09:50,000 Mennään korjata mitä hän mokasi, 173 00:09:50,000 --> 00:09:54,000 ja virhe näyttää olevan siellä, poissa, linjalla 37. 174 00:09:54,000 --> 00:09:59,000 Mukaan Tämän sivun alkuun olen käynyt tämän sivuston 0 kertaa. 175 00:09:59,000 --> 00:10:02,000 No, mennään eteenpäin nyt, ja yläosassa selaimen klikkaa 176 00:10:02,000 --> 00:10:05,000 lataa ikoni, ja osoitan lataa, 177 00:10:05,000 --> 00:10:12,000 ja nyt olen vieraillut sivuilla 1 kerran, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 Ja todellakin, jos katsomme tämän sivun lähdekoodia varsinainen lähdekoodi on muuttumassa, 179 00:10:16,000 --> 00:10:19,000 ja huomaa täydellinen puuttuminen PHP, ja se johtuu 180 00:10:19,000 --> 00:10:23,000 PHP on arvioitu ja tulkittu palvelimen puolella, 181 00:10:23,000 --> 00:10:27,000 ja niin se tarkoittaa, että lähtö PHP script on mitä lopulta lähetetty selaimelle, 182 00:10:27,000 --> 00:10:31,000 joka tässä tapauksessa on joidenkin raaka HTML ja joidenkin raaka tekstiä. 183 00:10:31,000 --> 00:10:33,000 Mitä täällä tapahtuu? 184 00:10:33,000 --> 00:10:37,000 >> No, suhteellisen muutaman rivin koodia voin tallentaa 185 00:10:37,000 --> 00:10:40,000 jatkuvasti aikana useita sekunteja, tai jos olemme odottaneet tarpeeksi kauan, 186 00:10:40,000 --> 00:10:44,000 minuuttia, jopa muutaman tunnin, noin arvoon tavalla, joka tekee HTTP 187 00:10:44,000 --> 00:10:47,000 näytä tilallinen ikään kuin olemme säilytetään 188 00:10:47,000 --> 00:10:51,000 Tämän yhteyden palvelimeen, ja se on vain muistaa, mitä sanoin sen viimeisen kerran, 189 00:10:51,000 --> 00:10:55,000 mutta todellisuudessa siellä koko joukko monimutkaisuus meneillään alla huppu 190 00:10:55,000 --> 00:10:59,000 johon evästeet on mahdollistaa PHP antaa minulle tämän illuusion 191 00:10:59,000 --> 00:11:02,000 Tämän ostoskorin kaltainen ominaisuus. 192 00:11:02,000 --> 00:11:05,000 Nyt triviaali esimerkki, jossa me vain tallennetaan kokonaisluku, 193 00:11:05,000 --> 00:11:08,000 mutta että ominaisuus tulee takaisin on erittäin arvokas 194 00:11:08,000 --> 00:11:10,000 kun alamme puhua monimutkaisempia projekteja, 195 00:11:10,000 --> 00:11:12,000 joukossa Harjoitus 7. 196 00:11:12,000 --> 00:11:16,000 Tämä on viimeinen ongelma asettaa CS50. 197 00:11:16,000 --> 00:11:19,000 Tiedän, se on niin surullista, mutta mitä löydät on, että me aiomme tehdä 198 00:11:19,000 --> 00:11:22,000 tämä osa lukukauden mukaan tosiasiallisesti siirtymässä 199 00:11:22,000 --> 00:11:25,000 alkaen osana C varmasti yhteydessä PHP 200 00:11:25,000 --> 00:11:27,000 mutta kun käytät joitakin aivan sama perustekijät 201 00:11:27,000 --> 00:11:29,000 olemme puhuneet jo jonkin aikaa. 202 00:11:29,000 --> 00:11:33,000 >> Tavoitteena kanssa PSET 7 on toteuttaa CS50 Finance, 203 00:11:33,000 --> 00:11:37,000 mikä on oma versio Yahoo Finance tai Google Finance 204 00:11:37,000 --> 00:11:40,000 tai jopa Etrade.com jolloin sinulla on kyky 205 00:11:40,000 --> 00:11:43,000 etsiä osakekursseja Annetun symboleja, mutta vielä enemmän 206 00:11:43,000 --> 00:11:48,000 sinulla on mahdollisuus "ostaa" ja "myymään" varastoja 207 00:11:48,000 --> 00:11:51,000 että käydään eri pörsseissä, koska sillä tällä kotisivulla 208 00:11:51,000 --> 00:11:55,000 täällä ehdottaa, mikä on todella missä määrin olemme alkaneet 209 00:11:55,000 --> 00:11:59,000 Harjoitus sinulle, olet kirjautunut lomake, joka kysyy käyttäjätunnusta ja salasanaa. 210 00:11:59,000 --> 00:12:03,000 Se on submit nappia, mutta sen jälkeen, kun me lopulta nähdä, 211 00:12:03,000 --> 00:12:06,000 ei ole mitään todella tapahtuu alla huppu vielä, koska se 212 00:12:06,000 --> 00:12:09,000 jää sinua toteuttamaan mahdollisuus rekisteröidä uusia käyttäjiä, 213 00:12:09,000 --> 00:12:12,000 kyky ostaa varastot, myydä varastoja, 214 00:12:12,000 --> 00:12:14,000 todella etsiä tämänhetkisiä osakekursseja. 215 00:12:14,000 --> 00:12:17,000 >> Ja todellakin, tämä on niin reaalimaailmassa kuin mahdollista, koska teimme 216 00:12:17,000 --> 00:12:20,000 kuuluu vähän koodia, jonka avulla voit yhdellä toiminto 217 00:12:20,000 --> 00:12:25,000 kyselyn Yahoo Finance, mikä ihanan asettaa saataville tietojen vapaa 218 00:12:25,000 --> 00:12:31,000 ja etsii osakkeiden hintojen pohjalta varastosta symboli tai ticker symboli, 219 00:12:31,000 --> 00:12:34,000 ja saat takaisin nykyinen osakekurssi päivän. 220 00:12:34,000 --> 00:12:37,000 Tiedot näet tosiasiassa tässä nimenomaisessa PSET tulee 221 00:12:37,000 --> 00:12:40,000 suunnilleen yhtä reaalimaailman kuin se voi saada niin, että olet todella vuorovaikutuksessa 222 00:12:40,000 --> 00:12:43,000 reaalimaailman varastoja, reaalimaailman hinnat, 223 00:12:43,000 --> 00:12:47,000 ja näemme, miten paljon rahaa voit tehdä kenties 224 00:12:47,000 --> 00:12:51,000 seuraavan useita päiviä pelaa omalla ongelman asetettu. 225 00:12:51,000 --> 00:12:55,000 >> Mutta katsotaanpa ensin vaiheessa miten suunnitella jotain, joka on varmasti monimutkaisempi 226 00:12:55,000 --> 00:12:59,000 kuin counter.php, joka on monimutkaisempi kuin mitä tahansa Frosh infrastruktuurin esimerkkejä tähän mennessä 227 00:12:59,000 --> 00:13:02,000 ja yritetään ottaa muutaman paradigmoja täällä, että voimme 228 00:13:02,000 --> 00:13:06,000 sekä PSET 7 ja ehkä oman opinnäytetyön jos teet jotain web-pohjainen 229 00:13:06,000 --> 00:13:11,000 pitää koodin hyvin järjestetty, pitää itse sane- 230 00:13:11,000 --> 00:13:15,000 ja ottaa askeleen kohti yhteistyötä, olipa CS50 n opinnäytetyö 231 00:13:15,000 --> 00:13:18,000 tai sen jälkeen, jos jatkat ohjelmoida jotain tulevaisuudessa. 232 00:13:18,000 --> 00:13:21,000 On tämä yleinen malli paradigman 233 00:13:21,000 --> 00:13:24,000 tietotekniikassa ja ohjelmistokehitykseen yleisemmin 234 00:13:24,000 --> 00:13:27,000 tunnetaan MVC, model view controller, 235 00:13:27,000 --> 00:13:30,000 ja tämä on typerä lyhenne, joka kuvaa erittäin mukava ajatus, 236 00:13:30,000 --> 00:13:34,000 joka on erillään eri osa ohjelmaa, 237 00:13:34,000 --> 00:13:39,000 erityisesti eriytettyä logiikkaa tai liiketoiminnan logiikkaa sivusto 238 00:13:39,000 --> 00:13:42,000 joten jotain, johon asioita, kuten 239 00:13:42,000 --> 00:13:45,000 soittamalla toiminnot ja kyselyitä tietokantoihin ja niiden kaltaiset 240 00:13:45,000 --> 00:13:48,000 tapahdu keskuudessa HTML 241 00:13:48,000 --> 00:13:51,000 vaan erillisinä tiedostoina, ja todellakin, siellä on tämä yksi tiedosto 242 00:13:51,000 --> 00:13:54,000 tyypillisesti, että olet kutsuttu ohjain 243 00:13:54,000 --> 00:13:56,000 että on todella aivot takana toimintaa, ja näemme esimerkin 244 00:13:56,000 --> 00:13:58,000 Tämän vain hetken. 245 00:13:58,000 --> 00:14:01,000 >> On malli, joka ohjelmoi koodia 246 00:14:01,000 --> 00:14:05,000 joka ei puhu tietokantoja, jotka puhuu Yahoo Finance ja vastaavat, 247 00:14:05,000 --> 00:14:08,000 ja sitten on V MVC, näkemyksiä, 248 00:14:08,000 --> 00:14:11,000 kaikki jutut, joka liittyy estetiikkaa, tiedostot, jotka todella sisältävät 249 00:14:11,000 --> 00:14:14,000 HTML, ehkä teidän CSS ja vastaavat. 250 00:14:14,000 --> 00:14:17,000 Ajatuksena tässä, koska tämä kuva esittää, on, että ohjain 251 00:14:17,000 --> 00:14:21,000 on tiedosto, niin me pian nähdä ja saat erityisen nähdä PSET 7, 252 00:14:21,000 --> 00:14:24,000 että maailma puhuu kautta web-selaimissa. 253 00:14:24,000 --> 00:14:27,000 Se on tiedosto, joka saa vieraili julkiseen internetiin, 254 00:14:27,000 --> 00:14:30,000 mutta ohjain puhuu mahdollisesti malliin, 255 00:14:30,000 --> 00:14:34,000 , joka on yksi tai useampi muita tiedostoja, jotka sisältävät koodia liittyvät tiedot, 256 00:14:34,000 --> 00:14:37,000 koodi tietokantoihin liittyvät ja vastaavat, ja sitten se puhuu 257 00:14:37,000 --> 00:14:40,000 ohjain yksi tai useampi muita tiedostoja kutsutaan views, 258 00:14:40,000 --> 00:14:43,000 jotka ovat estetiikka sivun, malleja lajittelee, 259 00:14:43,000 --> 00:14:47,000 , joka saattaa kestää joitakin tietoja tulona, ​​mutta loppujen lopuksi 260 00:14:47,000 --> 00:14:50,000 ainoa logiikka sisällä näkymä olisi renderöinti tietojen, 261 00:14:50,000 --> 00:14:53,000 iteroimalla yli silmukka ja todella sylkee joitakin 262 00:14:53,000 --> 00:14:56,000 HTML-pohjainen esitys sen tai edes jotain PDF. 263 00:14:56,000 --> 00:14:59,000 >> Mitä kivaa MVC on, että voit olla eri mieltä 264 00:14:59,000 --> 00:15:02,000 perustuvat tyyppinen laite, joka perustuu tyypin tiedostomuoto todella 265 00:15:02,000 --> 00:15:04,000 haluat näyttää käyttäjälle. 266 00:15:04,000 --> 00:15:10,000 Katsotaanpa katsomaan muutamia asteittain monimutkaisempi ja hyvin suunniteltu esimerkkejä 267 00:15:10,000 --> 00:15:13,000 aloittamalla ensin versioon 0 tänne. 268 00:15:13,000 --> 00:15:16,000 Anna minun mennä eteenpäin ja avata meidän MVC hakemistossa tänään 269 00:15:16,000 --> 00:15:21,000 tiedosto nimeltään index.php hakemistossa 0. 270 00:15:21,000 --> 00:15:26,000 Huomaa että tämä on erittäin yksinkertainen ja erittäin underwhelming sivusto 271 00:15:26,000 --> 00:15:29,000 se on tavallaan version 0 kotisivullaan CS50, 272 00:15:29,000 --> 00:15:32,000 ja huomaa kuinka meillä linkin luennot, meillä on yhteys Lukusuunnitelma, 273 00:15:32,000 --> 00:15:35,000 ja jos minä seurata linkkiä Luennot ilmoitus että URL 274 00:15:35,000 --> 00:15:39,000 ylös tulee vaihtaa lectures.php. 275 00:15:39,000 --> 00:15:44,000 Jos minä sitten seuraa linkkiä viikko 1 ilmoitus että URL muutokset week1.php. 276 00:15:44,000 --> 00:15:46,000 Näyttää olevan melko yksinkertainen hierarkkisen tässä. 277 00:15:46,000 --> 00:15:49,000 >> Otetaanpa vilkaista alla huppu, miten tämä on vahvistetut, 278 00:15:49,000 --> 00:15:53,000 ja todellakin, jos katson index.php se on melko yksinkertainen. 279 00:15:53,000 --> 00:15:57,000 Itse vaikka kutsuin tämän PHP tiedosto ei ole mitään todellista ohjelmakoodia. 280 00:15:57,000 --> 00:16:01,000 On kommentin, että olen kirjoittanut täällä PHP vain niin käyttäjä ei lopulta nähdä se. 281 00:16:01,000 --> 00:16:05,000 Tietenkin, kuten ennenkin, kaikki, mikä on välillä PHP tageja 282 00:16:05,000 --> 00:16:08,000 saa tulkita, vaikka se kommentti ja tulkita kommentin 283 00:16:08,000 --> 00:16:11,000 tarkoittaa vain heittää sen pois lopussa päivä ja ei oikeastaan 284 00:16:11,000 --> 00:16:15,000 lähettää sen selaimen, joten kaikki täällä on vain estetiikkaa. 285 00:16:15,000 --> 00:16:20,000 Jos minä avata samalla lectures.php tämäkin on vain kova koodattu tiedosto. 286 00:16:20,000 --> 00:16:23,000 Se tapahtuu kutsua jotain. Php, 287 00:16:23,000 --> 00:16:27,000 mutta se on todella vain. html, ja week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 Samoin ovat vain markup, niin siellä nippu puutteista tämä malli. 289 00:16:31,000 --> 00:16:33,000 Yksi, se on valtava määrä copy / paste. 290 00:16:33,000 --> 00:16:37,000 Vaikka ainoa asia, joka muuttuu näistä tiedostoista on Järjestämätön lista, 291 00:16:37,000 --> 00:16:41,000 li tunnisteet, olen kuitenkin doc tyyppi, HTML, pää, 292 00:16:41,000 --> 00:16:44,000 otsikko, close body, close HTML ja enemmän 293 00:16:44,000 --> 00:16:47,000 jokaisessa yksi tiedosto, mikä tarkoittaa sitä, että jos en koskaan halua uudistaa 294 00:16:47,000 --> 00:16:50,000 Tämän sivun tai restylize sillä minun täytyy mennä ja muuttaa 295 00:16:50,000 --> 00:16:54,000 kaikki nämä tiedostot manuaalisesti tai joidenkin massiivinen etsiä ja korvata. 296 00:16:54,000 --> 00:17:01,000 >> Otetaanpa askel kohti älykkäämpiä, pidempi ajattelu malli versiossa 1 täältä 297 00:17:01,000 --> 00:17:04,000 jolloin kohti luettu minulle, että olemme mukana niin, että voit pelata yhdessä 298 00:17:04,000 --> 00:17:07,000 Näiden verkkaisemmin kotona huomaa, että meillä on täällä 299 00:17:07,000 --> 00:17:10,000 yhteenveto tiedostojen version 1 tämän sivuston, 300 00:17:10,000 --> 00:17:13,000 ja näyttää siltä, ​​että olen ottanut sen itselleni tekijä ulos 301 00:17:13,000 --> 00:17:17,000 joitakin yhteisiä koodia, header.php ja footer.php. 302 00:17:17,000 --> 00:17:20,000 No, katsotaanpa katsomaan mitä sisällä ensimmäiseen näistä. 303 00:17:20,000 --> 00:17:23,000 Header.php näyttää tutulta, 304 00:17:23,000 --> 00:17:26,000 mutta huomaa jos se saa katkaista? 305 00:17:26,000 --> 00:17:30,000 Heti linja 19, niin se on kaikki, mitä oli yhteinen 306 00:17:30,000 --> 00:17:33,000 tiedostoista index.php, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 ja week2.php edellisen esimerkin. 308 00:17:36,000 --> 00:17:40,000 Mitä tein oli kopioida ja leikata kaiken, mikä oli yhteinen kaikille ne tiedostot, 309 00:17:40,000 --> 00:17:44,000 laita se erilliseen otsikkotiedoston, ja vastaavasti vuonna footer.php 310 00:17:44,000 --> 00:17:48,000 minä soveltaa samaa periaatetta, jonka ainoa mielenkiintoinen linjat 311 00:17:48,000 --> 00:17:52,000 vuonna footer.php ovat nämä kaksi, sulje rungon ja sulje HTML. 312 00:17:52,000 --> 00:17:55,000 >> Mutta mitä tämä tarkoittaa nyt, että uusi versio 313 00:17:55,000 --> 00:17:59,000 tehty index.php huomaa kuinka paljon yksinkertaisempaa se voi saada. 314 00:17:59,000 --> 00:18:02,000 Myönnettäköön, hieman arvoituksellisesti näköinen, hieman vähemmän intuitiivinen 315 00:18:02,000 --> 00:18:06,000 noudattaa ylhäältä alas, mutta minun Jumalani, kaikki tämä irtisanominen on nyt poissa. 316 00:18:06,000 --> 00:18:10,000 Vaadimme käyttämällä PHP funktio kirjaimellisesti kutsuttu edellyttävät ylös, 317 00:18:10,000 --> 00:18:15,000 joka on hyvin mieleen, muistaa, C: n # include mekanismi. 318 00:18:15,000 --> 00:18:17,000 Tarvitsemme header.php yläreunassa. 319 00:18:17,000 --> 00:18:20,000 Tarvitsemme footer.php alareunassa, ja ainoa asia, joka on erilainen 320 00:18:20,000 --> 00:18:25,000 tai erityisiä tästä tiedostosta on sisältöä, joka on tarkoitus olla ainutlaatuinen sen. 321 00:18:25,000 --> 00:18:29,000 Jos minä sitten mennä vaikkapa lectures.php, sama periaate pätee. 322 00:18:29,000 --> 00:18:32,000 Jälleen jotkut kommentit ylös, mutta sitten vaativat ylä, vaatia alatunniste, 323 00:18:32,000 --> 00:18:35,000 ja välillä se on vain sisältöä, joka on todella muuttunut. 324 00:18:35,000 --> 00:18:38,000 Ja jos me tutkineet viikoilla 1 ja 2 näkisimme 325 00:18:38,000 --> 00:18:42,000 , että samaa periaatetta on sovellettu siellä. 326 00:18:42,000 --> 00:18:44,000 No, emme ole aivan valmis siellä. 327 00:18:44,000 --> 00:18:48,000 >> Katsotaanpa katsomaan versio 2, joka on samanlainen rakenne, 328 00:18:48,000 --> 00:18:50,000 mutta huomaa nyt olen esitteli jotain muuta. 329 00:18:50,000 --> 00:18:53,000 Yhdenmukaisesti 10 Olen esitteli helpers.php, 330 00:18:53,000 --> 00:18:55,000 joka ilmeisesti sisältää auttaja-toimintoja. 331 00:18:55,000 --> 00:18:58,000 Auttaja-funktio on yleensä suhteellisen lyhyt funktio 332 00:18:58,000 --> 00:19:01,000 että kirjoitat auttaa sinua ulos eri paikoissa, 333 00:19:01,000 --> 00:19:04,000 ja katsotaan mitä sisällä helpers.php. 334 00:19:04,000 --> 00:19:07,000 Tässä tapauksessa se näyttää on 2 toimintoja. 335 00:19:07,000 --> 00:19:10,000 Muistamme toinen päivä meidän kuutio esimerkiksi 336 00:19:10,000 --> 00:19:13,000 Voit määrittää omia funktioita PHP, ja mitä olen tehnyt nyt olen 337 00:19:13,000 --> 00:19:17,000 funktioita kutsutaan tehdä alatunniste ja tehdä header- 338 00:19:17,000 --> 00:19:21,000 ensimmäinen, jossa otetaan parametri kutsutaan data, 339 00:19:21,000 --> 00:19:25,000 jonka oletusarvo on tyhjä joukko, kuten on ehdotettu siellä, 340 00:19:25,000 --> 00:19:29,000 ja voimme todellakin kirjoittaa tämän vielä ytimekkäästi uusin versio PHP 341 00:19:29,000 --> 00:19:32,000 sanomalla auki hakasulku, suljettu hakasulje. 342 00:19:32,000 --> 00:19:35,000 Tämä tarkoittaa, että tyhjä joukko koko 0 mutta kuitenkin joukko. 343 00:19:35,000 --> 00:19:38,000 >> Tämä uute toiminto on hieman erikoinen, että 344 00:19:38,000 --> 00:19:41,000 Mitä se on se ottaa sen väitteen assosiatiivisia array 345 00:19:41,000 --> 00:19:45,000 että on 0 tai useampi avain arvo-pareja, ja jos sinulla on avain foo 346 00:19:45,000 --> 00:19:48,000 ja arvo baarin uutteen toiminto 347 00:19:48,000 --> 00:19:51,000 luo tilanteen, jotka nyt linjan 11, 348 00:19:51,000 --> 00:19:57,000 sinulla on paikallinen muuttuja nimeltä $ foo, jonka arvo on baari. 349 00:19:57,000 --> 00:19:59,000 Ja jos sinulla on ollut enemmän avaimia ja arvoja tietomatriisin, 350 00:19:59,000 --> 00:20:03,000 Samoin he uuttaa paikallisen laajuuden 351 00:20:03,000 --> 00:20:06,000 tai nimiavaruuden jotta footer.php ja 352 00:20:06,000 --> 00:20:09,000 Sama ajatus täällä, jotta header.php 353 00:20:09,000 --> 00:20:12,000 saada nämä muuttujat. 354 00:20:12,000 --> 00:20:15,000 Itse haluan avata uudelleen header.php 355 00:20:15,000 --> 00:20:18,000 ja kiinnittää huomiota nyt, miltä se näyttää tässä versiossa. 356 00:20:18,000 --> 00:20:22,000 >> Sen sijaan kova koodaus CS50 kuten otsikko jokaisen sivun 357 00:20:22,000 --> 00:20:24,000 huomaa dynaamisuutta, on mahdollista nyt. 358 00:20:24,000 --> 00:20:29,000 Rivillä 5 Olen kaikuvat otsikko muuttuja, 359 00:20:29,000 --> 00:20:34,000 mutta ensin olen ohimennen, että otsikko muuttujan funktion nimeltä htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 Tyhmä nimi toimintoa, kunhan se on, mutta se todella tekee mitä se sanoo. 361 00:20:38,000 --> 00:20:41,000 Se varmistaa, että kaikki erikoismerkit 362 00:20:41,000 --> 00:20:46,000 on merkkijono, joka on kulkenut vuonna asianmukaisesti pakeni HTML. 363 00:20:46,000 --> 00:20:49,000 Tämä on oikeastaan ​​tapa välttää jotain kutsutaan cross site scripting hyökkäyksen 364 00:20:49,000 --> 00:20:52,000 jolloin joku voi ilkeästi tai vahingossa 365 00:20:52,000 --> 00:20:55,000 pistää omia HTML sivustoosi 366 00:20:55,000 --> 00:20:59,000 liittämällä osaksi jossain muodossa, esimerkiksi 367 00:20:59,000 --> 00:21:02,000 jotain, mitä ei aivan odottanut, varsinkin JavaScript-koodia, 368 00:21:02,000 --> 00:21:05,000 koska me puhumme vuonna viikon tai kahden kuluttua. 369 00:21:05,000 --> 00:21:08,000 >> Tämä nyt header.php, se on näkymä 370 00:21:08,000 --> 00:21:12,000 siinä mielessä, että sen avulla voit katsella esteettisesti sisältö joidenkin tietojen joukko. 371 00:21:12,000 --> 00:21:14,000 Mutta tarkemmin, se on malli. 372 00:21:14,000 --> 00:21:19,000 Tämä on eräänlainen suunnitelma nyt, mitä me haluamme jokaisen sivun yläpalkista näyttää, 373 00:21:19,000 --> 00:21:23,000 mutta siellä on joitakin dynaamisuutta että haluamme nimikkeen dynaamisesti lisättävä 374 00:21:23,000 --> 00:21:26,000 perustuvat otsikko muuttuja 375 00:21:26,000 --> 00:21:30,000 että uutettiin kun soitimme, taas 376 00:21:30,000 --> 00:21:33,000 render otsikon toiminto. 377 00:21:33,000 --> 00:21:36,000 Nyt, jos me katsoimme render footer, siellä oikeastaan ​​ole paljon käyttöä, että juuri nyt 378 00:21:36,000 --> 00:21:40,000 koska footer.php ole mitään dynamiikkaa mitään. 379 00:21:40,000 --> 00:21:43,000 Siellä voisi olla, mutta tällä hetkellä se on kova koodattu luettelo 2 tunnisteita, 380 00:21:43,000 --> 00:21:46,000 mutta sama ajatus pätee, joten oikeastaan ​​viittaa miksi 381 00:21:46,000 --> 00:21:49,000 ei tuhlaamme aikaa ottaa render otsikko ja renderöinti alatunnisteen funktio? 382 00:21:49,000 --> 00:21:52,000 Anna minun mennä vaan nyt tulee versio 3, 383 00:21:52,000 --> 00:21:56,000 ja versio 3 auttajia päätin yksinkertaistaa sitä entisestään. 384 00:21:56,000 --> 00:21:58,000 >> Saanen olla yksi render toimintoa. 385 00:21:58,000 --> 00:22:02,000 Anna minulle se ottaa toisen väitteen, tällä kertaa nimeltään mallin, 386 00:22:02,000 --> 00:22:05,000 joka on tarkoitus olla nimi mallin, 387 00:22:05,000 --> 00:22:11,000 ja sitten minä liität ylimielisesti. php kyseisen muuttujan arvon, 388 00:22:11,000 --> 00:22:17,000 ja sitten, jos se on olemassa foo.php, bar.php tai header.php ja footer.php, 389 00:22:17,000 --> 00:22:20,000 Sitten aion mennä eteenpäin ja poimia muuttuvat tiedot 390 00:22:20,000 --> 00:22:23,000 ja sitten vaatia, että polku. 391 00:22:23,000 --> 00:22:29,000 Toisin sanoen, käyttää tätä nyt, jos en avaa index.php 392 00:22:29,000 --> 00:22:32,000 huomaa, että en soita render otsikkoa enää. 393 00:22:32,000 --> 00:22:36,000 Minä vain soittaa render, mutta välitän vuonna noteerattu arvo header 394 00:22:36,000 --> 00:22:39,000 tehdä selväksi mikä malli Olen itse haluat ladata. 395 00:22:39,000 --> 00:22:41,000 >> Sitten tänne huomaa, mitä olen tekemässä. 396 00:22:41,000 --> 00:22:44,000 Olen ohimennen dynaamisesti avain otsikko, 397 00:22:44,000 --> 00:22:47,000 arvo CS50, ja tämäkin, kuten näimme aikaisemmin, 398 00:22:47,000 --> 00:22:51,000 voitaisiin tehdä pelkistettyjä uusin versio PHP 399 00:22:51,000 --> 00:22:54,000 missä voin vaihtaa array funktio hakasulkeilla, 400 00:22:54,000 --> 00:22:57,000 joka Ehdotan vieläkin luettavissa ja varmasti 401 00:22:57,000 --> 00:22:59,000 hieman helpompi kirjoittaa. 402 00:22:59,000 --> 00:23:02,000 Ja tietenkin, kanssa render alatunniste puhelun alareunassa, 403 00:23:02,000 --> 00:23:05,000 emme välitä ohimennen Toisen väitteen ollenkaan, ei assosiatiivisia array, 404 00:23:05,000 --> 00:23:07,000 koska ei ole mitään dynaamista sisällä että alatunnisteen. 405 00:23:07,000 --> 00:23:10,000 Se on vain muutamia lähellä tageja HTML. 406 00:23:10,000 --> 00:23:14,000 Hyvä, viemme askeleet todella puhdistaa asioita täällä, 407 00:23:14,000 --> 00:23:17,000 mutta haluan avata 2 lopullinen esimerkkejä. 408 00:23:17,000 --> 00:23:21,000 Tämä yksi, numero 4, huomaa, että olen tehnyt tietoisen päätöksen nyt 409 00:23:21,000 --> 00:23:26,000 parannella edellisen esimerkin viimein käyttäen joitakin hierarkiaa minun tiedostoja. 410 00:23:26,000 --> 00:23:29,000 >> Huomaa, että tässä yhteenvedossa, tässä lukea minua, olen otettu käyttöön 411 00:23:29,000 --> 00:23:32,000 sisältää hakemiston ja malleja hakemisto 412 00:23:32,000 --> 00:23:35,000 jonka sisältö tulee olemaan asioita, joita en halua sisällyttää 413 00:23:35,000 --> 00:23:38,000 ja malleja, jotka haluan tehdä, vastaavasti. 414 00:23:38,000 --> 00:23:42,000 Tämä on todella minulle on peräaukon ja yrittää pitää asiat siistinä, 415 00:23:42,000 --> 00:23:45,000 pitää liittyviä tiedostoja yhteen, mutta lopputulos 416 00:23:45,000 --> 00:23:48,000 on, että meillä on nyt hieman siistimpi setup, mutta meidän on muistettava nyt 417 00:23:48,000 --> 00:23:51,000 in, esimerkiksi index.php 418 00:23:51,000 --> 00:23:55,000 kun vaadimme tiedosto helpers.php 419 00:23:55,000 --> 00:24:01,000 meidän on nyt vaatia sitä kautta myös / helpers.php 420 00:24:01,000 --> 00:24:06,000 sijaan vain sanomalla helpers.php koska nyt se on oikeastaan ​​osa hakemistoon. 421 00:24:06,000 --> 00:24:09,000 Nyt, sivuun, näet näissä esimerkeissä ja toiset 422 00:24:09,000 --> 00:24:11,000 toimintoja, kuten edellyttävät, vaativat kerran. 423 00:24:11,000 --> 00:24:15,000 On oikeastaan ​​funktio itse kehotti kuuluvat, ja niillä kaikilla on hieman erilainen käyttäytyminen. 424 00:24:15,000 --> 00:24:18,000 Täällä Sanon edellyttävät kerran tehdä super selväksi, että haluan vain ne 425 00:24:18,000 --> 00:24:20,000 auttajia mukaan projektiini kerran. 426 00:24:20,000 --> 00:24:24,000 Mutta jos olen varovainen, ja jos olen itse ajatellut läpi minun logiikka oikein 427 00:24:24,000 --> 00:24:27,000 Sen pitäisi riittää myös vain sanoa vaatia ylös 428 00:24:27,000 --> 00:24:31,000 niin kauan kuin minä ei vahingossa edellytä, että samaan tiedostoon muualla. 429 00:24:31,000 --> 00:24:34,000 Itse asiassa tämä on hieman tehokkaampi tapa tehdä asioita sitten käyttämällä 430 00:24:34,000 --> 00:24:38,000 edellyttävät kerran, niin minä leikata se alas vain vaatia. 431 00:24:38,000 --> 00:24:40,000 >> Otetaan yksi askel eteenpäin. 432 00:24:40,000 --> 00:24:46,000 Tämä viimeinen esimerkki nyt versiossa 5, on jopa puhtaampaa kansiohierarkiassa. 433 00:24:46,000 --> 00:24:50,000 Huomaa mitä olen tehnyt tässä kohden lukea minua tässä lopullisessa versiossa 434 00:24:50,000 --> 00:24:54,000 Nyt minulla on HTML-hakemiston, joka minulla on ollut koko tämän ajan, 435 00:24:54,000 --> 00:24:58,000 mutta sisällä on nyt vain index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php ja week2.php. 437 00:25:01,000 --> 00:25:05,000 Sisältää hakemiston asuu rinnalla HTML hakemiston, 438 00:25:05,000 --> 00:25:08,000 joten samalla tasolla kuin sisarus, niin sanoakseni. 439 00:25:08,000 --> 00:25:10,000 Joten ei kansioon. 440 00:25:10,000 --> 00:25:14,000 Avain takeaway tässä olen esitteli hieman enemmän rakennetta, 441 00:25:14,000 --> 00:25:17,000 mutta keskeinen piirre on nyt, että vain tiedostot 442 00:25:17,000 --> 00:25:21,000 että on oltava Webissä julkisesti osoitteellinen 443 00:25:21,000 --> 00:25:25,000 by URL julkiseen internetiin on minun HTML hakemistoon. 444 00:25:25,000 --> 00:25:28,000 >> Samaan aikaan, muita tiedostoja, helpers.php, footer.php, 445 00:25:28,000 --> 00:25:32,000 header.php, jotka ovat todennäköisesti ehkä herkempiä, 446 00:25:32,000 --> 00:25:35,000 Ehkä auttajia todella on joitakin käyttäjänimiä ja salasanoja tai jonkin henkisen 447 00:25:35,000 --> 00:25:39,000 omaisuutta kaivoksen, toimii en todellakaan halua maailman näkevän, vaikka vahingossa. 448 00:25:39,000 --> 00:25:45,000 On hyvä pitää poissa yleisön HTML hakemistossa 449 00:25:45,000 --> 00:25:48,000 tiedostoja, jotka eivät tarvitse itse olla julkisia. 450 00:25:48,000 --> 00:25:51,000 Kaikki mitä sinun tarvitsee tehdä tässä tapauksessa, kun tarkastellaan esimerkiksi 451 00:25:51,000 --> 00:25:55,000 HTML hakemiston index.php tiedosto, 452 00:25:55,000 --> 00:25:58,000 huomaa meidän täytyy vain olla hieman varovainen, kun vaaditaan 453 00:25:58,000 --> 00:26:00,000 tai vaatia kerran tätä tiedostoa. 454 00:26:00,000 --> 00:26:03,000 Minun täytyy ensin tehdä .. Siirry emohakemisto, 455 00:26:03,000 --> 00:26:06,000 sitten tehdä / includes / helpers.php 456 00:26:06,000 --> 00:26:12,000 sukeltaa takaisin alas saada tiedosto välitän. 457 00:26:12,000 --> 00:26:16,000 >> Kaikki kysymykset sitten MVC 458 00:26:16,000 --> 00:26:20,000 tai tämä suhteellisen yksinkertainen inkarnaatio sen? 459 00:26:20,000 --> 00:26:23,000 Ja haluan tehdä selväksi, että olemme keskittyneet melko vähän 460 00:26:23,000 --> 00:26:27,000 V täällä, näkemyksiä ja factoring pois näistä malleja. 461 00:26:27,000 --> 00:26:30,000 Olemme oikeastaan ​​erottaa M C vielä. 462 00:26:30,000 --> 00:26:33,000 Itse asiassa ei todellakaan ole M täällä, ja jopa C, 463 00:26:33,000 --> 00:26:36,000 ohjain, ei oikeastaan ​​tee kovinkaan paljon, mutta saat paljon enemmän 464 00:26:36,000 --> 00:26:39,000 tuntee molemmat näistä 2 kirjeitä MVC, 465 00:26:39,000 --> 00:26:43,000 tai pikemminkin, saat paljon tutumpi C 466 00:26:43,000 --> 00:26:49,000 in MVC ongelmakäyttäjien joukko 7, joten siellä on enemmän sitä horisontissa. 467 00:26:49,000 --> 00:26:51,000 Kysymyksiä? 468 00:26:51,000 --> 00:26:53,000 Ei oikeastaan ​​ole ketään. 469 00:26:53,000 --> 00:26:57,000 >> Okei, nyt siirrymme toiseen ja viimeinen aihe tänään. 470 00:26:57,000 --> 00:27:00,000 Se on käyttöönottoa tietokantaan. 471 00:27:00,000 --> 00:27:03,000 Tähän saakka meillä on ollut muutamia tapoja tallentamista varten. 472 00:27:03,000 --> 00:27:05,000 Olemme käytetyt muuttujat. 473 00:27:05,000 --> 00:27:08,000 Takaisin meidän C tiedoston, I / O-keskustelu aloimme käyttää tekstitiedostoja 474 00:27:08,000 --> 00:27:11,000 ja käyttää tiedostoja, kuten fprintf, ja sitten me edes aloitettu 475 00:27:11,000 --> 00:27:14,000 puhuu CSV-tiedostoja hieman, pilkulla erotetut arvot, 476 00:27:14,000 --> 00:27:17,000 niin kaikki nämä pystyimme saada tiedot tallennetaan 477 00:27:17,000 --> 00:27:19,000 joko ei-pysyvästi tai jatkuvasti. 478 00:27:19,000 --> 00:27:23,000 Mutta vaikka CSVs eivät todellakaan edistä hakemisen 479 00:27:23,000 --> 00:27:25,000 ja lisäämällä ja poistamalla. 480 00:27:25,000 --> 00:27:28,000 Se on oikeastaan ​​vain tyhmä tekstitiedosto pilkuilla eroteltuina 481 00:27:28,000 --> 00:27:30,000 rivi rivi rivi riviltä, ​​joten jos haluat 482 00:27:30,000 --> 00:27:32,000 etsi tiedosto parasta mitä voi tehdä on todella lineaarinen haku. 483 00:27:32,000 --> 00:27:34,000 Sinun täytyy aloittaa yläosassa tiedoston, lue koko juttu, 484 00:27:34,000 --> 00:27:36,000 ja etsiä joitakin arvon kiinnostusta. 485 00:27:36,000 --> 00:27:39,000 Jos haluat lisätä siihen sinun täytyy tehdä sama asia, 486 00:27:39,000 --> 00:27:41,000 iteroimalla sen yli ja lisäämällä tietyssä paikassa, 487 00:27:41,000 --> 00:27:45,000 ja itse asiassa, sinun täytyy tehdä kaikki etsivät logiikan itse. 488 00:27:45,000 --> 00:27:49,000 >> Et voi tehdä viisas kaavoja on CSV-tiedosto, ellet itse kirjoittaa koodia. 489 00:27:49,000 --> 00:27:51,000 Et voi tehdä suodatuksen CSV-tiedoston 490 00:27:51,000 --> 00:27:53,000 ellet itse kirjoittaa koodia. 491 00:27:53,000 --> 00:27:56,000 Eikö olisi mukavaa, jos joku muu laittaa kaikki vaivaa 492 00:27:56,000 --> 00:27:59,000 todella tehdä hakuja helppoa ja lisäys helppoa 493 00:27:59,000 --> 00:28:01,000 ja poistaminen ja päivittäminen ja niin edelleen? 494 00:28:01,000 --> 00:28:04,000 Juuri tietokanta. 495 00:28:04,000 --> 00:28:07,000 SQL Structured Query Language, on vielä toinen kieli 496 00:28:07,000 --> 00:28:10,000 että otamme käyttöön tänään, mutta tämäkin on melko helposti, 497 00:28:10,000 --> 00:28:13,000 ja mitä me oikeastaan ​​teemme on vain vetäistä irti joitakin oleellisimmista 498 00:28:13,000 --> 00:28:16,000 ominaisuudet niin, että PSET 7, ja jos teet jotain web-pohjainen, 499 00:28:16,000 --> 00:28:19,000 oma opinnäytetyö, sinulla on kyky ilmaista itseäsi 500 00:28:19,000 --> 00:28:22,000 tiedonsiirron kyselyitä. 501 00:28:22,000 --> 00:28:25,000 Sinulla on kyky tallentaa vähän tai paljon tietoa 502 00:28:25,000 --> 00:28:28,000 paljon jäsennellymmin, joka loppujen lopuksi 503 00:28:28,000 --> 00:28:32,000 helpottaa elämääsi, koska SQL voit ilmaista itseäsi 504 00:28:32,000 --> 00:28:35,000 paljon tarkemmin, paljon enemmän suunnitelmallisesti, jotta 505 00:28:35,000 --> 00:28:40,000 saada takaisin joitakin osajoukko tietoja suuremman corpus tietoja. 506 00:28:40,000 --> 00:28:45,000 >> Voit ajatella tietokannan, tässä tapauksessa, SQL-tietokanta, todella Excel 507 00:28:45,000 --> 00:28:48,000 tai numeroita sellaiselta se laskentataulukko, 508 00:28:48,000 --> 00:28:50,000 tai ehkä useita laskentataulukoita ja taulukkolaskenta, tietenkin, 509 00:28:50,000 --> 00:28:53,000 on rivejä ja sarakkeita, ja se johtuu 510 00:28:53,000 --> 00:28:56,000 SQL tietokannat ovat relaatio, relaatio siinä mielessä 511 00:28:56,000 --> 00:28:59,000 että ne tallentavat tietoja kannalta näistä taulukoista, 512 00:28:59,000 --> 00:29:01,000 rivejä ja sarakkeita. 513 00:29:01,000 --> 00:29:03,000 Ne ovat korkeammat tehokas kuin jotain taulukkolaskenta, 514 00:29:03,000 --> 00:29:05,000 ja laskentataulukon on tarkoitus käyttää ihmisen. 515 00:29:05,000 --> 00:29:08,000 Tietokanta on tarkoitus käyttää ohjelmoija 516 00:29:08,000 --> 00:29:12,000 kirjoittaa koodia vastaan, joten inkarnaatio tietokannan 517 00:29:12,000 --> 00:29:14,000 tulee olemaan joko komentorivin. 518 00:29:14,000 --> 00:29:18,000 >> Yksi suosituimmista relaatiotietokantojen siellä on, jälleen, MySQL, 519 00:29:18,000 --> 00:29:22,000 joka on ihanan ilmainen, erittäin suorituskykyisiä, ja tämä on mitä 520 00:29:22,000 --> 00:29:24,000 Facebook käytetty hyvin varhain, ja jossain määrin vielä tänään 521 00:29:24,000 --> 00:29:27,000 tallentaa paljon sen tiedon ja näemme hetken 522 00:29:27,000 --> 00:29:30,000 että käyttämällä suhteellisen yksinkertaisia ​​komentoja 523 00:29:30,000 --> 00:29:33,000 Voimme valita tietoja, lisätä tietoja, päivittää tietoja, 524 00:29:33,000 --> 00:29:37,000 poistaa tiedot ja vastaavat, mutta onneksi siellä on enemmän käyttäjäystävällinen käyttöliittymä 525 00:29:37,000 --> 00:29:39,000 kuin kirjoittamalla klo mustavalkoinen nopea täällä. 526 00:29:39,000 --> 00:29:43,000 Käytämme varten PSET 7 ja sen jälkeen ilmainen työkalu nimeltään phpMyAdmin. 527 00:29:43,000 --> 00:29:45,000 Nimi on sattumaa. 528 00:29:45,000 --> 00:29:47,000 Työkalu sattuu toteutetaan PHP- 529 00:29:47,000 --> 00:29:49,000 mutta se on pohjimmiltaan merkityksetön. 530 00:29:49,000 --> 00:29:53,000 Mitä hyötyä siitä phpMyAdmin on se, että web-pohjainen apuohjelma. 531 00:29:53,000 --> 00:29:55,000 Olemme esiasennettu se laite sinulle, 532 00:29:55,000 --> 00:29:58,000 ja se voi luoda taulukoita tietokantaan, 533 00:29:58,000 --> 00:30:01,000 Voit lisätä tietoja, poistaa tietoja, ja yleensä katso 534 00:30:01,000 --> 00:30:04,000 tietosi melko käyttäjäystävällinen ympäristö. 535 00:30:04,000 --> 00:30:07,000 Käyttäjät eivät aio käyttää phpMyAdmin. 536 00:30:07,000 --> 00:30:09,000 >> Tämä on oikeastaan ​​vain hallinnollinen tai kehittäjän työkalu 537 00:30:09,000 --> 00:30:12,000 joiden nähdä ja penkoa tietoja ja selvittää, miten jäsentää sitä, 538 00:30:12,000 --> 00:30:15,000 paljon kuin sinä itse voi käyttää Excel tai numerot, 539 00:30:15,000 --> 00:30:19,000 mutta se tulee olemaan hyvä tapa visualisoida mitä tapahtuu alla huppu 540 00:30:19,000 --> 00:30:22,000 jotta voit keskittyä mielenkiintoinen ongelmanratkaisuun, eikä niinkään 541 00:30:22,000 --> 00:30:25,000 on mystistä komentoja. 542 00:30:25,000 --> 00:30:28,000 Katsotaanpa katsomaan esimerkki tietojen saatetaan tallentaa tabularly 543 00:30:28,000 --> 00:30:30,000 in relaatiotietokantaan. 544 00:30:30,000 --> 00:30:32,000 Tässä yksi esimerkki. 545 00:30:32,000 --> 00:30:35,000 Nyt valitettavasti phpMyAdmin virheellisesti puolella heittää aivan liian monta sanaa 546 00:30:35,000 --> 00:30:38,000 ja grafiikkaa sinulle, mutta jos hioa juuri 547 00:30:38,000 --> 00:30:42,000 ID-sarake, käyttäjän nimi pylvääseen ja hash sarakkeessa 548 00:30:42,000 --> 00:30:45,000 Tämä on tehokas taulukkolaskenta, mutta se sattuu olemaan pätkä 549 00:30:45,000 --> 00:30:49,000 taulukon laitteen sisäpuolella 550 00:30:49,000 --> 00:30:53,000 käyttämällä tiedosto voimme tarjota sinulle ongelmien joukko 7. 551 00:30:53,000 --> 00:30:57,000 >> Erityisesti annamme sinulle tiedoston, joka edustaa 552 00:30:57,000 --> 00:31:01,000 käyttäjän pöytä, joten laskentataulukko sisältää käyttäjien kanssa 3 saraketta, 553 00:31:01,000 --> 00:31:05,000 joista yksi on yksilöllinen tunnus, alkaen 1 ja sitä kasvatetaan sen jälkeen. 554 00:31:05,000 --> 00:31:08,000 Toisessa sarakkeessa on käyttäjätunnus, ja ne teistä, jotka tekivät Hacker, 555 00:31:08,000 --> 00:31:12,000 Hacker painos PSET 2, ehkä tunnista joitakin näistä käyttäjätunnuksia ainakin. 556 00:31:12,000 --> 00:31:16,000 Oikealla puolella ovat salasanoja, mutta he eivät kirjaimellisesti salasanoja. 557 00:31:16,000 --> 00:31:19,000 He hash sen, niin se kääntyy pois 558 00:31:19,000 --> 00:31:22,000 että varastointi salasanoja tietokannassa on todella huono idea. 559 00:31:22,000 --> 00:31:25,000 Olette kaikki lukeneet jossain vaiheessa joitakin verkkosivuilla 560 00:31:25,000 --> 00:31:28,000 tai jonkin yhtiön tietokantaan on vaarantunut, ja sitten on 561 00:31:28,000 --> 00:31:31,000 vaihtaa salasanan, sinun täytyy saada palautuksia asiat 562 00:31:31,000 --> 00:31:34,000 koska jotkut pahis todella murtautui tilisi seurauksena. 563 00:31:34,000 --> 00:31:38,000 >> Tallentaminen salasanoja tekstimuodossa, salaamattomana tietokantaan 564 00:31:38,000 --> 00:31:41,000 on täysin typerä, ja silti se on suuresti huvittavaa 565 00:31:41,000 --> 00:31:44,000 sitten lukea joitakin hyvin tunnettuja yrityksiä 566 00:31:44,000 --> 00:31:47,000 joskus lehdissä, joiden tietokannat ovat vaarassa, 567 00:31:47,000 --> 00:31:50,000 ja että osa ei ole hauskaa, mutta se, että tietokannat sisältävät salaamaton 568 00:31:50,000 --> 00:31:53,000 salasanat on naurettavaa, koska kirjaimellisesti yhdellä rivillä koodia 569 00:31:53,000 --> 00:31:57,000 voit suojautua kyseisen uhan, ja sitähän me olemme tehneet täällä. 570 00:31:57,000 --> 00:32:00,000 Jopa meidän fake pikku CS50 Rahoitus versio 571 00:32:00,000 --> 00:32:03,000 olemme salaa salasanat vain hyvä toimenpide, ja se, että 572 00:32:03,000 --> 00:32:07,000 kaikki nämä salasanat alkavat $ 1 $ on vain yleissopimus. 573 00:32:07,000 --> 00:32:10,000 Se vain tarkoittaa, että ne ovat salattuja tai oikeastaan ​​hajauttamat, 574 00:32:10,000 --> 00:32:13,000 joka on kuin yksisuuntainen salaus-toiminto 575 00:32:13,000 --> 00:32:17,000 jolloin et pysty peruuttamaan sen vaikutuksia jotain kutsutaan MD5. 576 00:32:17,000 --> 00:32:21,000 >> Se, että 50 on sen jälkeen se tarkoittaa, että suola-arvo 577 00:32:21,000 --> 00:32:24,000 50 käytettiin hajautusta kaikki nämä salasanat yhtä lukuun ottamatta. 578 00:32:24,000 --> 00:32:27,000 Mine, tietenkin, kuten voitte nähdä siellä, HA, 579 00:32:27,000 --> 00:32:30,000 käytti erilaista suolaa, joten ne teistä, jotka todella hieman lauennut ylös 580 00:32:30,000 --> 00:32:33,000 ehkä Hacker 2, joka olisi ollut seurausta meidän on käyttänyt 581 00:32:33,000 --> 00:32:36,000 eri hash kuin muut, koska salasana on todella sama 582 00:32:36,000 --> 00:32:38,000 kuten jotkut muut käyttäjän sinne. 583 00:32:38,000 --> 00:32:41,000 Itse asiassa, jos olet odottanut kaikki nämä viikkoina selvittää 584 00:32:41,000 --> 00:32:44,000 mitä nämä salasanat olivat täällä olivat salasanoja kyseenalaistettiin 585 00:32:44,000 --> 00:32:48,000 crack in Hacker painos Harjoitus 2, joten yhtään liian hankalaa. 586 00:32:48,000 --> 00:32:50,000 Itse asiassa, Malan n oli sama kuin jharvard, 587 00:32:50,000 --> 00:32:54,000 mutta jos palaamme he näyttivät erilaisilta. 588 00:32:54,000 --> 00:32:58,000 >> Keskity jharvard Crimson koska ne suolataan eri. 589 00:32:58,000 --> 00:33:01,000 Algoritmi on häirityn siten, että 590 00:33:01,000 --> 00:33:05,000 hash-arvo, salattu arvo näyttää hieman erilaiselta 591 00:33:05,000 --> 00:33:08,000 koska tulot olivat hieman erilaisia, mutta salasana alla huppu 592 00:33:08,000 --> 00:33:10,000 oli vielä lopulta karmiininpunainen. 593 00:33:10,000 --> 00:33:12,000 Nyt, kuka välittää tästä? 594 00:33:12,000 --> 00:33:15,000 No, me tarjoamme sinulle näytteen käyttäjien näyte käyttäjätunnukset 595 00:33:15,000 --> 00:33:18,000 ja hash niiden salasanoja niin että sinulla todellakin on jokin 596 00:33:18,000 --> 00:33:23,000 asiakkaiden CS50 Finance kun ensin vauhtiin koodin kanssa. 597 00:33:23,000 --> 00:33:27,000 Sinun täytyy toteuttaa enemmän taulukoita sisällä MySQL, sisällä tietokannasta. 598 00:33:27,000 --> 00:33:30,000 Sinun täytyy luoda taulukoita, tehokkaammin, mutta päätimme antaa teille tämän yhden 599 00:33:30,000 --> 00:33:33,000 joilla pääset alkuun, ja näet, että ongelma asetettu spesifikaatio 600 00:33:33,000 --> 00:33:37,000 opastaa prosessin tuoda tämän taulukon 601 00:33:37,000 --> 00:33:39,000 ja myös selittää, mitä jotkut ominaisuudet ovat, 602 00:33:39,000 --> 00:33:41,000 ja voit myös nähdä, että voimme tarjota sinulle koodin 603 00:33:41,000 --> 00:33:44,000 käsitellä hajautus tai salaus näitä salasanoja 604 00:33:44,000 --> 00:33:49,000 joten sinun ei tarvitse huolehtia liikaa siitä, mitä MD5 tai kuten on oikeastaan ​​kyse. 605 00:33:49,000 --> 00:33:53,000 >> Joten, SQL, Structured Query Language. 606 00:33:53,000 --> 00:33:56,000 Tämä on yksinkertaisesti kieli aiomme alkaa käyttää vuonna PSET 7 607 00:33:56,000 --> 00:34:01,000 ja ehkä pidemmälle pyytää tietoja jonkin tietokannasta. 608 00:34:01,000 --> 00:34:06,000 Tiedot, jälleen, varastoida tabularly näissä relaatio taulukoita, sarakkeita ja rivejä, 609 00:34:06,000 --> 00:34:09,000 mutta käyttäen joitakin suhteellisen yksinkertainen syntaksi kuten poistaa, 610 00:34:09,000 --> 00:34:12,000 lisätä, päivittää ja valitse voimme tehdä juuri näin. 611 00:34:12,000 --> 00:34:15,000 Voimme poistaa tietokannasta, lisätä, 612 00:34:15,000 --> 00:34:19,000 päivittää tietoja, sekä valita, että on, hakea tietoja tietokannasta. 613 00:34:19,000 --> 00:34:21,000 Miten edetä tässä? 614 00:34:21,000 --> 00:34:23,000 Anna minun mennä eteenpäin laitteeseen. 615 00:34:23,000 --> 00:34:28,000 Saanen vetää http://localhost, 616 00:34:28,000 --> 00:34:30,000 joka taas on paikallinen laite itse. 617 00:34:30,000 --> 00:34:32,000 Tuo sen oletuslempinimesi. 618 00:34:32,000 --> 00:34:35,000 Ja anna minun mennä / phpmyadmin. 619 00:34:35,000 --> 00:34:39,000 Tämä sattuu olemaan erityinen URL että laite on valmiiksi ymmärtää 620 00:34:39,000 --> 00:34:42,000 että heti kysyy minulta käyttäjätunnusta ja salasanaa. 621 00:34:42,000 --> 00:34:46,000 >> Kuten tavallista, aion kirjoittaa jharvard ja karmiininpunainen, 622 00:34:46,000 --> 00:34:48,000 mutta ymmärtää, että on järjestelmänvalvojan tili tietokoneessa. 623 00:34:48,000 --> 00:34:53,000 Se on vain sattumaa, että siellä on myös jharvard rekisteröity CS50 Finance. 624 00:34:53,000 --> 00:34:56,000 Jharvard, crimson, enter antaa minulle käyttöliittymän näimme 625 00:34:56,000 --> 00:34:59,000 Hangon hetki sitten, ja se on hieman ylivoimainen aluksi, 626 00:34:59,000 --> 00:35:02,000 mutta varma, et koskaan tarvitse napsauttaa useimpien linkkien tätä työkalua. 627 00:35:02,000 --> 00:35:05,000 Sinun päätyä käyttämään pienessä jotka ovat super hyödyllisenä 628 00:35:05,000 --> 00:35:08,000 ensimmäinen on tietokantojen täällä. 629 00:35:08,000 --> 00:35:11,000 Jos menen ylös tietokantoihin, huomaa että olen pyydetään luomaan tietokantaan. 630 00:35:11,000 --> 00:35:14,000 Tämä on kuin luoda uusi Excel-tiedosto, tehokkaasti. 631 00:35:14,000 --> 00:35:18,000 Aion mennä eteenpäin ja soittaa tämän luennon, ja olen juuri menossa sivuuttaa kenttään siellä lajittelu. 632 00:35:18,000 --> 00:35:20,000 Se liittyy tietojen esittämisessä siihen, 633 00:35:20,000 --> 00:35:24,000 ja aion valitse luoda, ja nyt huomaa kuin minä päästää luovat 634 00:35:24,000 --> 00:35:27,000 vasemmalla puolella, jossa se sanoo ei tietokannat 635 00:35:27,000 --> 00:35:30,000 Minun pitäisi pian nähdä luento tietokantaan. 636 00:35:30,000 --> 00:35:32,000 >> Jos minä nyt napsauttamalla vasemmalla puolella, luento-tietokanta, 637 00:35:32,000 --> 00:35:34,000 Huomatkaa välilehdet muuttua hieman. 638 00:35:34,000 --> 00:35:38,000 Minulla rakenne, SQL, vienti, tuonti ja joitakin muita asioita. 639 00:35:38,000 --> 00:35:40,000 Rakenne on melko tyhjä. 640 00:35:40,000 --> 00:35:43,000 Ei taulukot löytyy tietokannasta, koska tässä sanotaan, 641 00:35:43,000 --> 00:35:47,000 joten katsotaanpa luodaan taulukko, ja mennään eteenpäin ja luoda taulukon 642 00:35:47,000 --> 00:35:53,000 kuten opiskelijat, ja kuinka monta saraketta haluamme? 643 00:35:53,000 --> 00:35:55,000 Pidetään tämä yksinkertainen, ja katsotaanpa ennätys jokaiselle opiskelijalle 644 00:35:55,000 --> 00:35:58,000 ID-numero, nimi ja sähköpostiosoite. 645 00:35:58,000 --> 00:36:02,000 >> Pidämme asiat yksinkertaisina kaltainen, joten 3 palstaa, mene. 646 00:36:02,000 --> 00:36:05,000 Lomake näet täällä on nyt hieman sekava ja ylivoimainen, 647 00:36:05,000 --> 00:36:08,000 mutta meidän täytyy vain mennä läpi rivi riviltä, ​​joten todella nopeasti Annetaan 648 00:36:08,000 --> 00:36:14,000 ensimmäinen sarake tämän tietokannan nimen ID: n yksilöllinen tunniste. 649 00:36:14,000 --> 00:36:17,000 Se on kokonaisluku. Voin oikeastaan ​​sivuuttaa pituus ja arvoja. 650 00:36:17,000 --> 00:36:21,000 INT tulee olemaan 32 bittiä mitä kirjoitat sinne, joten katsotaanpa jätä se tyhjäksi. 651 00:36:21,000 --> 00:36:24,000 Oletusarvo, voisin tehdä null, määritelty. 652 00:36:24,000 --> 00:36:27,000 Aion jättää se rauhaan. Älkäämme murehtia oletusarvot. 653 00:36:27,000 --> 00:36:29,000 Mennään siirry tänne oikealle, määritteet. 654 00:36:29,000 --> 00:36:31,000 Tämä on mielenkiintoista. 655 00:36:31,000 --> 00:36:33,000 Mennään eteenpäin ja hieman mielivaltaisesti sanoa, että tunnusten on oltava unsigned. 656 00:36:33,000 --> 00:36:35,000 Älkäämme tuhlaa negatiivisia lukuja. 657 00:36:35,000 --> 00:36:37,000 >> Mennään 0-4000000000, antaa tai ottaa, 658 00:36:37,000 --> 00:36:40,000 ja sitten mennään koske mitään näistä kentistä vain vielä siellä, 659 00:36:40,000 --> 00:36:43,000 mutta sitten haluan kirjoittaa nimi tänne, 660 00:36:43,000 --> 00:36:46,000 ja sitten toinen oli sähköpostin, joten saalis on sähköpostiosoite 661 00:36:46,000 --> 00:36:50,000 ja nimi, ilmeisesti ole kokonaislukuja, joten katsotaanpa muuttaa toiseen kenttään. 662 00:36:50,000 --> 00:36:53,000 On käynyt ilmi varchar, pituus vaihteleva char, 663 00:36:53,000 --> 00:36:56,000 on kuin merkkijonon SQL-tietokannan 664 00:36:56,000 --> 00:36:59,000 mutta vaihteleva pituus, ja sinun todella täytyy kertoa se etukäteen 665 00:36:59,000 --> 00:37:02,000 Pisin jono, joten aion hieman mielivaltaisesti 666 00:37:02,000 --> 00:37:05,000 Sovitun tyypin 255 merkkiä. 667 00:37:05,000 --> 00:37:08,000 Voisin aivan sanoa 32. Voisin sanoa 1000. 668 00:37:08,000 --> 00:37:11,000 Olet tavallaan tarpeesta päättää itse perustuu omaan väestötiedot mikä on 669 00:37:11,000 --> 00:37:14,000 pisin opiskelijan nimi ja mennä siihen tai hieman suurempi, 670 00:37:14,000 --> 00:37:17,000 mutta mitä mukavaa noin varchar se ei aio tuhlata 671 00:37:17,000 --> 00:37:19,000 255 tavua jokaisen opiskelijan nimen. 672 00:37:19,000 --> 00:37:23,000 Jos se on DAVID se aio käyttää koko 255 tavua, 673 00:37:23,000 --> 00:37:26,000 mutta se yläraja, joten minä menen 255 vain yleissopimuksen, 674 00:37:26,000 --> 00:37:30,000 mutta voisimme keskustella siitä olla joidenkin alempaan arvoon, ja sähköpostiosoite 675 00:37:30,000 --> 00:37:34,000 vain olla johdonmukaisia ​​255, mutta jälleen, voisimme olla samaa keskustelua. 676 00:37:34,000 --> 00:37:36,000 Mutta aion tehdä yhden asian tänne oikealla puolella. 677 00:37:36,000 --> 00:37:40,000 >> Mitä voimakas noin tietokanta on, että se voi tehdä paljon raskainta 678 00:37:40,000 --> 00:37:42,000 tai monimutkaista työtä sinulle. 679 00:37:42,000 --> 00:37:46,000 Erityisesti en todellakaan välitä mitä minun opiskelijan tunnukset ovat. 680 00:37:46,000 --> 00:37:49,000 Se on vain tarkoitus olla yksilöllinen tunniste tietokantaan 681 00:37:49,000 --> 00:37:52,000 joten minulla on 32-bittinen lyhyt esitys, että opiskelija 682 00:37:52,000 --> 00:37:55,000 niin että olen jotenkin yksilöi niistä 683 00:37:55,000 --> 00:37:58,000 ettei vain 2 Davids, esimerkiksi luokassa. 684 00:37:58,000 --> 00:38:01,000 Itse aion tarkistaa tämän AI ruutuun, automaattinen lisäys, 685 00:38:01,000 --> 00:38:04,000 niin että tietokanta, MySQL, keksii 686 00:38:04,000 --> 00:38:08,000 mitä jokainen viety uusi opiskelijan tunnus tulee olemaan. 687 00:38:08,000 --> 00:38:11,000 En edes tarvitse välitä että minun koodi, 688 00:38:11,000 --> 00:38:13,000 ja olen myös menossa valita jotain alle hakemistovalikon. 689 00:38:13,000 --> 00:38:17,000 Indeksi avattavasta täällä on ensisijainen, ainutlaatuinen, 690 00:38:17,000 --> 00:38:19,000 indeksi ja koko tekstin. 691 00:38:19,000 --> 00:38:21,000 Voit ehkä arvata mitä pari nämä asiat ovat, 692 00:38:21,000 --> 00:38:24,000 mutta se osoittautuu relaatiotietokantojen 693 00:38:24,000 --> 00:38:28,000 sinä ohjelmoija tai tietokannan ylläpitäjä saada ennaltaehkäisevästi 694 00:38:28,000 --> 00:38:32,000 antaa vihjeitä tietokantaan, mitä kenttiä 695 00:38:32,000 --> 00:38:34,000 taulukossa on hieman erikoinen. 696 00:38:34,000 --> 00:38:37,000 >> Esimerkiksi tässä tapauksessa aion sanoa, että ID 697 00:38:37,000 --> 00:38:42,000 tulee olemaan ensisijainen indeksi, joka tunnetaan myös perusavain. 698 00:38:42,000 --> 00:38:44,000 Mitä tämä tarkoittaa määritelmä on, että ID vastedes 699 00:38:44,000 --> 00:38:48,000 tulee tunnistaa oppilaat tässä taulukossa. 700 00:38:48,000 --> 00:38:53,000 Ei opiskelija on sama ID koska olen määräämästä tämän rajoitteen tai tämän indeksin. 701 00:38:53,000 --> 00:38:55,000 Lisäksi, mitä tämä aikoo tehdä minulle se aikoo kertoa 702 00:38:55,000 --> 00:38:58,000 MySQL että tunnus on erityinen. 703 00:38:58,000 --> 00:39:03,000 Välitän erityisen noin tunnus, niin mene eteenpäin ja tehdä your fancy tietorakenne taika, 704 00:39:03,000 --> 00:39:05,000 rakentaa jonkinlainen puu. 705 00:39:05,000 --> 00:39:08,000 Tyypillisesti se on jotain kutsutaan B-puu, jota ei tarkastella viikkoa sitten 706 00:39:08,000 --> 00:39:11,000 mutta se on toinen sellainen tietorakenne hengeltään samanlaisia ​​binääripuita 707 00:39:11,000 --> 00:39:15,000 ja yrittää että me katsoimme, mutta se tulee sanoa 708 00:39:15,000 --> 00:39:18,000 Tietokannan tällä alalla on niin tärkeää, että olen luultavasti 709 00:39:18,000 --> 00:39:22,000 haluavat pystyä etsimään sitä, mennä eteenpäin ja rakentaa joitakin fancy 710 00:39:22,000 --> 00:39:25,000 tietorakenne muistissa nopeuttaa hakuja, niin että ihannetapauksessa 711 00:39:25,000 --> 00:39:28,000 he vakioajan tai ainakin niin lähellä, että mahdollisimman 712 00:39:28,000 --> 00:39:32,000 niin, että se ei hajauttaa osaksi lineaarista hakua, joka ei tule olemaan 713 00:39:32,000 --> 00:39:34,000 Korkeimman suorittaa lähestymistapaa. 714 00:39:34,000 --> 00:39:37,000 Sitä vastoin, sähköpostiosoite voinut olla perusavain. 715 00:39:37,000 --> 00:39:41,000 >> Teoriassa jokainen sähköpostiosoite on ainutlaatuinen, ellei jaat osittain huomioon, 716 00:39:41,000 --> 00:39:45,000 mutta se ei yleensä ole hyvä käyttää jotain merkkijono 717 00:39:45,000 --> 00:39:49,000 kuten perusavain koska jos sen tarkoituksena elämässä on tunnistaa 718 00:39:49,000 --> 00:39:55,000 rivit voit taulukossa ei ole mitään syytä käyttää 255 tavua maksimaalisesti 719 00:39:55,000 --> 00:39:58,000 yksilöimään joku jos voit saada pois vain 4 tavua 720 00:39:58,000 --> 00:40:00,000 tai 32-bittinen int. 721 00:40:00,000 --> 00:40:03,000 Yleensä perusavain tulisi olla lyhyt ja ytimekäs 722 00:40:03,000 --> 00:40:07,000 ja mieluiten jotain kokonaisluku tai iso int, joka sattuu olemaan 64 bittiä. 723 00:40:07,000 --> 00:40:11,000 Mutta sähköpostiosoitteen tulee olla ainutlaatuinen, ja yksi ominaisuuksista tietokannan liian 724 00:40:11,000 --> 00:40:14,000 on valvoa ainutlaatuisuus minulle. 725 00:40:14,000 --> 00:40:18,000 Valitsemalla ainutlaatuinen täällä ensi sähköpostiin, vaikka sähköpostia itse 726 00:40:18,000 --> 00:40:21,000 on näytöltä pois, sanon tietokantaan 727 00:40:21,000 --> 00:40:23,000 älä luota minuun. 728 00:40:23,000 --> 00:40:26,000 Älä anna minun lisätä tietokantaan 729 00:40:26,000 --> 00:40:29,000 sama sähköpostiosoite kahdesti, vaikka olen idiootti ja en 730 00:40:29,000 --> 00:40:32,000 erittäin hyvä minun jossittelua ja muu jossittelua ja todellinen PHP-koodin 731 00:40:32,000 --> 00:40:37,000 ja minä vahingossa anna käyttäjälle rekisteröidyttävä olemassa sähköpostiosoitetta 732 00:40:37,000 --> 00:40:40,000 tietokanta on jälleen taso puolustuksen oikeellisuudesta 733 00:40:40,000 --> 00:40:44,000 varmistaa, että päällekkäisiä sähköpostiosoite ei päädy taulukossa. 734 00:40:44,000 --> 00:40:49,000 >> Nyt sitä vastoin, sillä nimi luultavasti halua tehdä tätä ainutlaatuista 735 00:40:49,000 --> 00:40:51,000 koska silloin ei voi koskaan olla 2 Davids tai 2 Mike Smiths, esimerkiksi 736 00:40:51,000 --> 00:40:55,000 tietokantaan, niin että yksi meidän täytyy vain lähteä yksin. 737 00:40:55,000 --> 00:40:58,000 Aion mennä eteenpäin ja sitten tallenna oikeassa alakulmassa, 738 00:40:58,000 --> 00:41:02,000 ja kaikki näyttää hyvältä, mutta huomaa täällä 739 00:41:02,000 --> 00:41:04,000 Tämä on osa että nyt meillä ei viettää liian paljon aikaa 740 00:41:04,000 --> 00:41:07,000 koska syntaksi on hieman monimutkainen, ja meidän ei tarvitse luoda taulukoita 741 00:41:07,000 --> 00:41:10,000 kovin usein, mutta SQL itsessään on kieli, 742 00:41:10,000 --> 00:41:13,000 syntaksi on täällä, että olen korostanut. 743 00:41:13,000 --> 00:41:18,000 Mitä phpMyAdmin todella on se luo web-pohjainen käyttöliittymä sinulle 744 00:41:18,000 --> 00:41:23,000 jolla voit säästää aikaa ja ei tarvitse käsin kirjoittaa ulos 745 00:41:23,000 --> 00:41:26,000 melko pitkä SQL-kyselyn tuollaista. 746 00:41:26,000 --> 00:41:29,000 >> Toisin sanoen, jos halusi luoda manuaalisesti tähän taulukkoon, 747 00:41:29,000 --> 00:41:32,000 joko että mustavalkoisia nopeasti tai jopa phpMyAdmin 748 00:41:32,000 --> 00:41:35,000 käyttämällä tätä muiden välilehden tämä SQL-välilehti, jossa voit kirjoittaa mitä tahansa SQL-kyselyjä 749 00:41:35,000 --> 00:41:38,000 haluat, rehellisesti, tämä olisi ottanut minua hetken 750 00:41:38,000 --> 00:41:41,000 todella muistaa koko syntaksia, ja silloinkin olisin ehkä 751 00:41:41,000 --> 00:41:45,000 tehnyt joitakin kirjoitusvirheitä, joten tämä työkalu on hyödyllinen tuollaista, ja se on myös opettavaista. 752 00:41:45,000 --> 00:41:49,000 Voit aloittaa päätellä mikä syntaksi on 753 00:41:49,000 --> 00:41:52,000 vain mukava värikoodeja että phpMyAdmin on lisätä 754 00:41:52,000 --> 00:41:54,000 meidän visuaalisen mukavuuden. 755 00:41:54,000 --> 00:41:56,000 Mutta nyt tehdään tämä sen sijaan. 756 00:41:56,000 --> 00:42:00,000 Anna minun mennä Lisää-välilehden yläosassa, ja anna minun mennä eteenpäin ja lisätä esimerkiksi 757 00:42:00,000 --> 00:42:04,000 ID Sanotaan, oikeastaan ​​en välitä. 758 00:42:04,000 --> 00:42:07,000 Se tulee automaattisesti lisäys. Aion antaa tietokantaan käsitellä tätä. 759 00:42:07,000 --> 00:42:11,000 Mutta aion David, ja minun email olisi malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> Mennään eteenpäin täällä ja laittaa Mike Smith ja toiseen. 761 00:42:16,000 --> 00:42:18,000 Annan itselleni sukunimi kuin hyvin, 762 00:42:18,000 --> 00:42:22,000 ja me on hänen olla smith@example.com, 763 00:42:22,000 --> 00:42:24,000 ja sitten minne menen seuraavaksi? 764 00:42:24,000 --> 00:42:27,000 No, näyttää siltä, ​​go on-painiketta napsauttamalla, ja voila. 765 00:42:27,000 --> 00:42:30,000 Huomaa yläreunassa 2 krs asetettu. 766 00:42:30,000 --> 00:42:32,000 Tämä on todellinen SQL-kyselyn. 767 00:42:32,000 --> 00:42:36,000 Se phpMyAdmin työkalu teloitettiin minua, 768 00:42:36,000 --> 00:42:40,000 mutta lopputulos, ilmoitusta, jos nyt mennä selaa välilehti 769 00:42:40,000 --> 00:42:43,000 on nähdä 2 krs tässä taulukossa, hyvin mieleen esteettisesti 770 00:42:43,000 --> 00:42:46,000 Taulukon näimme aikaisemmin käyttäjämme PSET 7, 771 00:42:46,000 --> 00:42:51,000 joista yksi on David Malan, joista yksi on nyt Mike Smith. 772 00:42:51,000 --> 00:42:54,000 Mutta vain olla selkeä, minun ei tarvitse käyttää phpMyAdmin, 773 00:42:54,000 --> 00:42:56,000 ja todellakin, olet menossa pian kirjallisesti koodi PSET 7 774 00:42:56,000 --> 00:43:01,000 että automatisoi lisäämällä rivejä, poistamalla rivejä, päivittää riviä ja vastaavat, 775 00:43:01,000 --> 00:43:04,000 joten anna minun vaan mennä SQL välilehti täällä 776 00:43:04,000 --> 00:43:14,000 ja kirjoita SELECT * FROM opiskelijoiden jossa 777 00:43:14,000 --> 00:43:18,000 email = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> Toisin sanoen kai nyt olet 779 00:43:21,000 --> 00:43:26,000 Joissakin HTML-muodossa, ja käyttäjä kirjoittaa niiden sähköpostiosoitetta muun aloilla, 780 00:43:26,000 --> 00:43:29,000 ja tavoitteena on nyt PHP takana loppuun koodi 781 00:43:29,000 --> 00:43:31,000 todella etsiä että käyttäjän muut yksityiskohdat. 782 00:43:31,000 --> 00:43:34,000 Mikä on koko nimesi? Mikä on ID-numero? 783 00:43:34,000 --> 00:43:37,000 Voisit kirjoittaa SQL-kyselyä näin valitsemalla * opiskelijoilta 784 00:43:37,000 --> 00:43:40,000 jossa sähköposti = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 Ja jos minä sitten Siirry, huomaa että minä, ja todellakin en, saada takaisin vain yksi rivi. 786 00:43:46,000 --> 00:43:50,000 Mike on jätetty pois tähän tulosjoukkoon, kuin kokoelma rivien 787 00:43:50,000 --> 00:43:53,000 yleensä kutsutaan, koska hän ei ole samaa sähköpostiosoitetta kuin minä. 788 00:43:53,000 --> 00:43:57,000 >> Nyt, jälleen täällä PSET 7 tulet käyttämään phpMyAdmin hallinnollisena välineenä 789 00:43:57,000 --> 00:44:00,000 ja pedagoginen väline oppia tiesi 790 00:44:00,000 --> 00:44:03,000 ympäri maailmaa SQL, mutta loppujen lopuksi 791 00:44:03,000 --> 00:44:08,000 aiot olla kirjallisesti nämä kyselyt sisällä varsinaisen PHP-koodin, 792 00:44:08,000 --> 00:44:11,000 ja niin pysy kuulolla vuonna Zamyla n walkthrough erityisesti 793 00:44:11,000 --> 00:44:14,000 jos saat kierros jakelu koodi tähän ongelmaan sarja 794 00:44:14,000 --> 00:44:18,000 missä me olemme antaneet sinulle paitsi estetiikkaa varten kirjautumissivulle 795 00:44:18,000 --> 00:44:21,000 ja mukava seksikäs logo, joka sanoo CS50 Finance, mutta olemme myös antaneet teille 796 00:44:21,000 --> 00:44:24,000 joukko toimintoja, jotka tekevät elämästä hieman helpompaa. 797 00:44:24,000 --> 00:44:27,000 Olemme myös kirjoittanut osan PSET sinulle, 798 00:44:27,000 --> 00:44:32,000 login osan siitä erityisesti, antaa sinulle tunteen edustavan suunnittelu 799 00:44:32,000 --> 00:44:36,000 joka todella käyttää ohjaimen, esimerkiksi index.php, 800 00:44:36,000 --> 00:44:40,000 login.php ja vastaavat, ja sitten näet PSET on myös malleja hakemistossa 801 00:44:40,000 --> 00:44:43,000 että on kaikki näkemykset, kaikki estetiikkaa. 802 00:44:43,000 --> 00:44:46,000 Ja niin yleistä työnkulkua PSET 7 tulee olemaan, että 803 00:44:46,000 --> 00:44:49,000 käyttäjät vierailla ohjaimen URL selaimessa. 804 00:44:49,000 --> 00:44:53,000 Tämä ohjain sisältää PHP-koodia, joka kirjoitit, ja sisällä PHP-koodin 805 00:44:53,000 --> 00:44:57,000 saattaa olla joitakin rivejä SQL pesi välillä lainausmerkkien 806 00:44:57,000 --> 00:45:00,000 ja välitetään toiminnon kirjoitimme kutsutaan kysely 807 00:45:00,000 --> 00:45:03,000 jotka auttavat sinua puhumaan tietokantaan ilman jotain 808 00:45:03,000 --> 00:45:05,000 hallinnollinen työkalu kuin phpMyAdmin. 809 00:45:05,000 --> 00:45:08,000 >> Pystyt kirjoittamaan SQL PHP-koodin 810 00:45:08,000 --> 00:45:11,000 ja saada takaisin PHP joukko tulosjoukko, 811 00:45:11,000 --> 00:45:14,000 rivien tosiasiallisesti vastaavat tätä kyselyä. 812 00:45:14,000 --> 00:45:18,000 Ja samoin te voi tehdä lisää tai poistaa 813 00:45:18,000 --> 00:45:22,000 tai päivityksiä tai vastaava, syntaksia, joka on melko samanlainen, 814 00:45:22,000 --> 00:45:25,000 ja näet joidenkin verkossa viittauksia, jakelusta koodi 815 00:45:25,000 --> 00:45:29,000 ja PSET pakata itse, miten edetä näin. 816 00:45:29,000 --> 00:45:33,000 Toteuta lopulta olemme oikeastaan ​​vain esimakua SQL 817 00:45:33,000 --> 00:45:36,000 ja MySQL, mutta voima se todella on, että se vapauttaa sinut 818 00:45:36,000 --> 00:45:40,000 keskittyä ongelmiin haluat ratkaista, käyttötapaukset haluat toteuttaa 819 00:45:40,000 --> 00:45:43,000 ilman huolta aivan yhtä paljon, ainakin alkuvaiheessa, 820 00:45:43,000 --> 00:45:47,000 siitä, missä ja miten tallentaa ja etsiä tietokannasta, 821 00:45:47,000 --> 00:45:50,000 ja tämä on aivan kirjaimellisesti missä Facebook itse sai alkunsa 822 00:45:50,000 --> 00:45:53,000 MySQL ja käyttämällä enemmän MySQL palvelimet ja lisää MySQL palvelimet 823 00:45:53,000 --> 00:45:57,000 ennen pitkää kunnes ne oli sitten todella alkaa miettiä kovaa miten 824 00:45:57,000 --> 00:46:00,000 tietojen tallentamiseen, miten tallentaa asioita entistä tehokkaammin, 825 00:46:00,000 --> 00:46:04,000 joten vaikka me itsestään selvänä sitä, että indeksit ja ainutlaatuinen rajoitukset 826 00:46:04,000 --> 00:46:08,000 ja niin edelleen vain toimi siellä hyvin mielenkiintoinen keskustelu 827 00:46:08,000 --> 00:46:12,000 että tämä kaikki lopulta johtaa, niin ymmärtää, että olemme vain esimakua 828 00:46:12,000 --> 00:46:17,000 mitä voisi lopulta sinulle tai projekteja tullut melko vähän iso tiedot. 829 00:46:17,000 --> 00:46:22,000 >> Tämän sanoi, katsotaanpa lopettaa täällä, ja näemme ensi viikolla. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]