DOUG Lloyd: Joskus kun olemme ohjelmointi teemme asiat niin yleisesti, joten usein, ja niin monet ihmiset tehdä saman idea-- tai sama asia, että se on nimi. MVC on tasan yksi tällainen asia. Sitä kutsutaan ohjelmointi paradigma. Se on tavallaan kuin parhaiden käytäntöjen jotka on tislattu alas ihmiset yrittävät tehdä jotain. Tässä tapauksessa toteuttaa järjestelmän sivuja että käyttäjä on vuorovaikutuksessa on monimutkaisempi verkkosivuilla. Ja se on tehty niin yleisesti, että on suositeltavaa tavallisena että muut ihmiset saattavat haluta noudattaa, ja siellä on hyvin erityinen joukko keinoja että joku voisi seurata tätä paradigman. Joten, MVC on paradigma, ja syy käytämme sitä on abstrakti pois yksityiskohdat käyttäjältä. Jotkut asiat käyttäjä ei todellakaan tarvitse nähdä. He haluavat vain olla hyvän käyttäjäkokemuksen, ja meidän ei tarvitse olla niitä pääsyn jokainen tiedosto, joka olemassa verkkopalvelimemme, ehkä. Saattaa olla joitakin tiedostoja, jotka ovat vain käytetään vahvistamaan käyttäjäkokemusta, ja niin voimme abstrakti nämä pois. Voimme tavallaan piilottaa ne niin käyttäjä ei voi työskennellä heidän kanssaan, mutta meidän pages-- meidän pages-- osaa käsitellä niitä ja soittaa heille tai ehkä vaatia, haluaa niitä, tai jotain sellaista. Ensisijainen motivaatio sillä MVC on tietoturvan, koska MVC yleensä tulee esiin yhteydessä työskentelystä tietokantojen. Ja erityisesti me haluat estää käyttäjiä alkaen suoraan vaikuttaa tietokannoista. Me vain haluamme tehdä sen epäsuorasti, kautta suodattamalla. Tai varmista, että kaikki on kunnossa mukaan meidän tekevän hieman virheentarkistus tai turvallisuuden varautumisesta ennen kuin lähettää sen tietokantaan, jossa asiat voisivat mennä vikaan, ehkä todella väärin, jos emme ole varovaisia. Joten MVC tarkoittaa Model View Controller. Mitä kukin näistä tarkoittaa? Pohjimmiltaan malli on tietokannan. Siellä kaikki tärkeitä tietoja sivustosi lives-- käyttäjätunnukset, käyttäjätunnukset, salasanat. Ja voit päivittää sen, viitata siihen, aika paljon kaikkea sellaista. Sinun kyselyn tietokantaan, sinun kysyä tiedot tietokannasta. Se model-- kaikki jos tietojen sivustosi asuu. Näkymä on ikään kuin käyttökokemusta. Se on sivuilla he näkevät jälkeen he ovat pyytäneet tietoja. Joten ehkä he väittävät niiden kirjautuminen information-- jotka ne tekisi ohjain, joka me puhumme toisessa. He ehkä esittämään kirjautumistiedot, ja tietokanta on kysyi. Tietoja pyydetään ja vedetään tietokannasta. Ja sitten kun käyttäjän kirjautunut vuonna, he näkevät heidän kotisivun. Se on näkymä, ok? Ja sitten ohjain on mitä nimeltään liiketoiminnan logiikkaa sivustosi. Ja ansaintalogiikka on yksi niistä ehdoista, jotka on eräänlainen wishy-washy-- pidä, mitä ansaintalogiikka tarkoittaa? Periaatteessa yrityksesi logiikka on PHP. Sinun käyttäjän ei tarvitse suoraan nähdä PHP, mutta PHP on luultavasti mitä tapahtuu tekevän pyyntöjä tietokantaan. Joten käyttäjä syöttää tietoa näkymä, joka integroi ohjain. Kuten, he kirjoita muotoon. Miten että lomake prosessit tieto on ohjain. Se PHP, joka on oikeastaan jolloin pyyntö mallin. Ja sitten malli antaa tietoja mieltä, joka antaa sen käyttäjälle, ehkä parhaiten havainnollistaa seuraavasti. Joten tässä ollaan. Tässä meitä vasemmalla, ja meidän Malli View Controller paradigma järjestely. Kuinka se toimii? User-- us-- tekee pyytää ohjaimeen. Me toimittaa tietoja kuten HTTP muodossa. Perustuu, että säätimen tehtävänä on varmistaa, että mitä käyttäjä on antanut ei ole jotain, joka vahingoittaisi malli. Ja niin ohjain tulee varmista, että kaikki on OK. Se tulee miettiä tarkkaan. Jos on virheitä, se lopetamme asiat joten käyttäjä ei voi saada malliin. Mutta olettaen kaikki on OK ja se on voimassa kyselyn, ohjain kyselyn model-- se tulee pyytää sitä antamaan tietoja. Malli tarjoaa että tiedot sivulle, joka on näkymä, se tulee toimittaa sen, että tavalla, ja sitten katsella kansoittavat tiedot haettu mallista. Niinpä esimerkiksi, jos puhumme noin kirjautumalla Facebook-sivulla, esimerkiksi. Näkymä olisi tiedot joka tuli ulos mallia viittaa ystävillesi ja uutiset rehun tai tavaraa niin, eikö? Mutta et näkisi jonkun toisen. Olisit getting-- niin lähetät kyselyn, voit kirjautua model-- tekosyy minua, voit kirjautua sivulle. Säädin käyttää kirjautumistietosi tehdä pyynnön malli tehdä Varmista, että olet kuka väität. Mallin kuin, OK, kyllä, olet kuka väität, joten annan teille uutisia syötteen. Annan sinulle raaka tiedot teidän uutissyötteen näkymään, ja sitten katsella tekee kaunis, käsittelee sitä tavalla että olemme tottuneet, näytetään että tiedot käyttäjälle. Huomaa yhteydessä, että on ei olemassa tässä kaaviossa. Ei ole suoraa yhteyttä sinun ja malli. Aina tämä puskuriin ohjain tulopuolella, ja siellä puskuriin näkymä ulosottopää. Ehkä olet hyvä henkilö, ja niin ehkä ei tee mitään vahinkoa malli, mutta ehkä et ole. Tai ehkä on olemassa joku, joka on pahantahtoinen käyttäjä kukapa ehkä halua vahingoittaa tietokantaan, ehkä poistaa kaikki tietokannasta, joka voi olla hyvin kallista. On selvää, joilla on käyttäjän datan is-- siellä on arvo ottaa käyttäjätiedot. Joten jos emme laita tämä puskuri vyöhykkeen välillä käyttäjän ja database-- käyttäjä ja model-- asiat ehkä ei olla menossa niin hyvin meille. Ja niin on tärkeää on tämä paradigma, jossa käyttäjä voi vuorovaikutuksessa tietokannan, varma, mutta ne täytyy käydä läpi meille tehdä se. Ja se on periaatteessa ajatuksen MVC. Se yrittää toteuttaa tietoturvaa. Se yrittää suojella malli vahingossa tai tahallisesti pahantahtoisten käyttäjien. Mitä tapahtuu, kun sovellamme Tämä paradigma? No, me erottaa tiedot vaaditaan meidän website-- model-- logiikasta joka toteuttaa meidän sivuston functionality-- controller-- ja siitä yksinkertaisesta estetiikka ja sivu malleja, jotka käsittävät meidän käyttäjä experience-- mieltä. Mitä tämä tarkoittaa? No, se tarkoittaa, että voit tehdä views näy käyttäjälle. Voit piilottaa mallin pois. Ja controllers-- käyttäjä ei ehkä suoraan manipuloida. He eivät tarvitse käyttää PHP. Ne täytyy vain nähdä muotoon jossa he voivat kirjoittaa tavaraa. Joten ehkä lomake on näkymä, ohjain on PHP että lomake toimittaa, säädin tekee kyselyn malli, malli antaa lisätietoja eri mieltä, että näyttää tietoja sinulle. Ohjelmat voivat käyttää kaikki liiketoiminnan logiikkaa, mutta käyttäjät eivät voi suoraan käyttää liiketoiminnan logiikkaa. Ja yksi erityisesti, ehkä, näkyvä esimerkki tästä on olet joskus saanut 403 Forbidden virhe. Oletko koskaan mennyt web sivu ja nähnyt 403 Kielletty? Se on tavallaan kuin 404 Not Found. 403 Forbidden tarkoittaa yrittänyt käyttää sivu, että sinulla ei ole pääsyä. Ehkä että sivusto on käyttäen MVC erottaminen piilottaa pois sen ansaintalogiikka että tulee olla olemassa palvelimella, jotta sivun töihin, mutta ei haluan teidän suoraan käyttää sitä. Joten saatat saada 403 Kielletty virhe. Ja se ei edes väliä olisit kirjautunut sisään. Ei käyttäjä voi koskettaa tätä piste PHP-tiedosto. He voivat vain koskettaa Tässä yksi, ja tämä one-- sellainen, että ne voivat touch-- ehkä voi olla vuorovaikutuksessa lukittu alas tiedosto enemmän epäsuorasti kuin käyttäjä. Joten, me joskus nähdä tätä käyttöoikeudet virhe, tämä 403 Kielletty. Miten muutamme oikeuksia niin että asiat voi tai ei voi nähdä? Kun teemme tämän tyypillisesti käyttää Linux komento kutsutaan chmod-- C-H-mod. Voit tehdä tämän, sen muoto on melko simple-- chmod, käyttöoikeudet, ja mitä tiedosto soveltaa muutoksesta. Joten, ehkä haluat nähdä jotain kuten this-- chmod 600 helpers.php. Tai ehkä haluat nähdä this-- chmod plus X, joka sisältää hakemistossa. Oliko tämä tarkoittaa vaikka? Niin, siellä on kaksi eri tavalla että oikeudet ovat yleensä sovelletaan käyttämällä chmod. Ensimmäinen on nimeltään oktaalilukuja menetelmä. Tämä koskee yleensä käyttöoikeudet kolmeen eri luokkaan käyttäjiä samaan aikaan. Joten chmod 711 tiedosto jonka avulla voit oikeus lukea, kirjoittaa ja suorittaa tiedosto, antaisi others-- erityisesti ryhmäsi ja world-- vain suorittaa tiedoston. Se mitä tämä merkitsee. Ensimmäinen numero on on mitä voit tehdä, toinen numero on mitä ryhmä voi tehdä, ja kolmas on mitä maailma voi tehdä. Jokainen, joka on vierailevat sivu, joka on maailman. Mitä nämä numerot todella kääntää vaikka? Joten nämä pohjimmiltaan kääntää näin. Jos lupa on nolla, mitään ei voi tapahtua. Jos se on yksi, voit suorittaa file-- jos se on teidän lupaa. Jos se on kaksi, voit kirjoittaa tiedoston mutta et voi tehdä mitään muuta. Jos se on kolme, sinä voi kirjoittaa ja suorittaa. Ja niin edelleen, kuten huomaatte. Ja seitsemän tarkoittaa, että voit tehdä kaiken. Joten miksi nämä kutsutaan oktaalilukuja? No, jos ajattelee sitä, tässä on kuin NoE ja yeses, ja jos ajattelemme niitä kuten punainen ja vihreä laatikot, Ehkä se tekee siitä hieman selkeämpiä. Mutta jos ajattelemme niitä punainen laatikot nolliksi ja vihreä laatikoita kuin niistä, nämä ovat oikeastaan ​​vain asettaa binary numeroita, eikö? 000 kääntää desimaalikertoimiksi 0; 001, desimaalin 1; 010 on desimaalin 2, ja niin edelleen. Ja niin me kutsumme näitä oktaali numerot koska siellä kahdeksan eri mahdollisuuksia. On kahdeksan eri numeroa jos olemme puhumme kolme bittiä information-- Lue hieman, kirjoittaa bittinen, ja suorittaa hieman. Nyt voit puhua binary, desimaalin, hex, ja oktaali. Joten osaat kommunikoida tietokoneet neljässä eri numero järjestelmät, joten se on aika siistiä. Niin, lisäksi oktaali lupaa järjestelmä, siellä myös symbolinen lupaa järjestelmä, joka on hieman erilainen ja tavallisesti käytetään parasta soveltaa tai poista lupa kautta linjan. Joten chmod plus x tiedosto Lisäisin vielä oikea suorittaa kaikille kolmelle luokat users-- itsesi, ryhmä, ja maailma. Tämä plus on lisätä osa. Oikeus toteuttaa, se on X. Ja se, että sitä sovelletaan kaikkiin kolme käyttäjäryhmille olisi. Joten this-- plus x-- on todennäköisesti aio oltava täsmälleen sama kuin chmod 711 tiedosto, koska jos menet takaisin ja katso oktaalilukuna järjestelmä, niistä ja seiskat antaa meille oikeus toteuttaa tiedostoon. Joten tämä on todennäköisesti sama. Ja voit käyttää tätä pikaopas mitä eri asioita symbolinen chmod-Ing rakenne ovat. Vihreä kohteita täällä olisi jossa kaikki vihreitä esimerkki oli toinen sitten. Sininen olisi sininen. Oranssi olisi oranssi. Joten voit hakea asioita teidän ryhmä, muille, käyttäjälle, tai kaikille. Voit antaa heille lukea, kirjoittaa ja suorittaa pääsy, ja voit lisätä tai poistaa tai luovuttaa tarkalleen joukko käyttöoikeudet tällä mallilla. Miten tarkistaa, mitä tiedosto lupaa järjestelmä on? Ennen kuin muuttaa sitä, se on luultavasti hyvä todella tietää mitä tiedoston käyttöoikeuksia ovat. Yksi tapa tehdä tämä on ajaa ls mutta vain nipistää sitä vähän. Joten jos kirjoitan ls viiva l-- se pieniä l-- ehkä Nähdään jotain tällaista. Se näyttää hieman arvoituksellisesti, mutta osa että me todella välitämme on kamaa vasemmalla tuolla. Joka todella täsmennetään tiedosto lupa järjestelmään. Ja voit luultavasti kertoa, koska se on sai R: n, W: n ja x: n välissä. Ne ensin three-- välittämättä ensimmäinen toista, joka tuplaamme takaisin. Ne kolme ensimmäistä jälkeen first-- joten toinen, kolmannen ja neljännen merkkiä Kyseisen 10 merkkijono ovat käyttöoikeudet sinulla on. Joten ilmeisesti en voi lukea, kirjoittaa ja suorittaa PHP. Voin lukea, kirjoittaa, ja suorittaa PHP webdev, ja voin lukea ja kirjoittaa test.php. Ryhmäni voi tehdä tämän. Joten ilmeisesti PHP ja PHP webdev hakemistoja, ryhmäni voi kirjoittaa niitä, mutta mitään muuta. Ja maailma ei voi tehdä mitään. Joten nämä tiedostot eivät ole julkisesti saatavilla ja jos yrittäisin käyttää niitä ja en ollut käynnissä Apache käyttää niitä, sitten haluan saada 403 virhe. Se on vika. Yritin käyttää tiedostoa mutta minä ei ole oikeuksia tehdä sitä. Ja mikä on se ensimmäinen merkki? No, voit todennäköisesti ekstrapoloida täällä, että D: n viittaavat hakemistoihin ja viiva viittaa niin sanottu "normaali tiedostoja." Ja ehkä nähnyt tämän, kun olet yrittänyt poistaa tiedoston rm. Olet nähnyt arvoituksellinen viesti "Poistaa tavallinen tiedosto" - tässä tapauksessa, se olis test.php. Säännöllinen tiedosto on vain jotain se ei ole hakemisto. On olemassa pari muuta täällä, mutta yleensä olet menossa katsomaan d's hakemistoja ja mitään ensimmäinen elementti. Mutta se on oikeastaan ​​kaikki siellä on se. Voit tarkistaa tiedoston käyttöoikeudet käyttämällä ls viiva L, voit vaihtaa niitä käyttämällä chmod. Ja, tietenkin, käyttää these-- muuttamalla käyttöoikeudet valvoa tämän MVC paradigma suojaamiseksi sivustollesi ja salli käyttäjien käyttää kaikki, mutta vain kamaa, että he tarvitsevat pääsyn jotta sivusi työskennellä niin kuin haluat sen toimivan. Olen Doug Lloyd. Tämä on CS50.