DOUG LLOYD: Néha amikor programot írsz mi a dolgok annyira elterjedt, így gyakran, és olyan sok ember nem ugyanaz a ötletem vagy ugyanazon dolog, hogy van egy neve. MVC pontosan egy ilyen dolog. Úgy hívják programozási paradigma. Ez a fajta, mint a legjobb gyakorlatok hogy lepárlásra került le az emberek próbálnak tenni valamit. Ebben az esetben, végrehajtása egy olyan rendszer oldalak hogy a felhasználó kölcsönhatásba lép egy bonyolultabb honlapján. És ez megtörtént annyira elterjedt, hogy akkor ajánlott, mint a standard hogy mások mit szeretnek követni, és van egy nagyon konkrét módon hogy az ember követni ezt a paradigmát. Szóval, MVC egy paradigma, és az ok használjuk azt elvonatkoztatni részletek a felhasználó. Vannak dolgok, a felhasználó nem igazán kell látni. Ők csak azt, hogy jó felhasználói élményt, és nem kell, hogy őket eléréséhez minden egyes fájl létezik a kiszolgálón, talán. Előfordulhat, hogy bizonyos fájlok, amelyek csak használt, mely növeli a felhasználói élményt, és így tudjuk absztrakt azokat el. Mi lehet egyfajta elrejteni őket, így a felhasználó nem tud együtt dolgozni velük, de mi pages-- mi pages-- tudja, hogyan kell kezelni őket és hívja őket, vagy esetleg szükségessé, akarja őket, vagy valami ilyesmi. Az elsődleges motiváció MVC van az adatok biztonságát, mert MVC általában jön fel a keretében dolgozó adatbázisok. És különösen azt szeretnénk, hogy a felhasználók ne re közvetlenül befolyásolva adatbázisok. Mi csak szeretnénk csinálni közvetetten, keresztül szűrjük. Vagy, hogy minden rendben által minket csinál egy kis hibajavítás vagy biztonsági próbanyomat mielőtt küldje el az adatbázist, ahol a dolgok elromlanak, talán Nagyon rossz, ha nem vagyunk óvatosak. Tehát MVC jelentése MVC. Mit mindegyik jelent? Alapvetően modell az adatbázis. Ez az, ahol az összes Fontos adatok a honlapjára lives-- felhasználónevek, bejelentkezések, jelszavak. És tudod frissíteni, utalnak rá, elég sok mindent, mint ezt. Azt egy adatbázisból, hogy meg fogja kérdezni információt az adatbázisból. Ez a model-- összes adatokat, ahol a webhely él. A kilátás olyan, mint A felhasználói élményt. Ez az oldalakat látnak után az általuk kért információkat. Szóval lehet, hogy nyújtson be a bejelentkezési information-- amely tennének a vezérlőben, amely fogunk beszélni, egy másodperc alatt. Ők talán nyújtsák be bejelentkezési adatokat, és az adatbázis lekérdezésekor. Az igényelt információ és húzta az adatbázisból. És akkor, ha a felhasználó bejelentkezett a, látják, hogy a honlapon. Ez a céllal, OK? És akkor a vezérlő mi az úgynevezett üzleti logikát a webhelyen. És az üzleti logika egyike azoknak a szempontból, hogy egyfajta wishy-washy-- tetszik, mit jelent az üzleti logikát jelent? Alapvetően az üzleti logika a PHP. Az Ön felhasználónak nem kell hogy közvetlenül látni a PHP, de a PHP valószínűleg mi folyik lehet hogy a kérelmeket az adatbázisban. Így a felhasználó akarata bemenet információkat annak érdekében, amely integrálja a vezérlő. Mint, hogy majd írja be a formában. Hogyan, hogy a forma folyamatok információ a vezérlő. Ez a PHP, amely valójában így a kérést a modell. És akkor a modell ad az információt a nézetet, ami azt, hogy a felhasználó, talán legjobban láthatóvá a következők szerint. Tehát itt vagyunk. Itt van velünk a bal oldalon, és a mi Modell Nézd meg Controller paradigma elrendezése. Hogyan működik? A user-- us-- tesz kérheti, hogy a vezérlő. Mi információkat nyújthatnak be például HTTP formában. Erre alapozva, a vezérlő feladata, hogy győződjön meg arról, hogy amit a felhasználó adott nem valami, ami károsíthatja a modellt. És ezért a kontroller fog győződjön meg arról, hogy minden rendben. Meg fog meg nagyon alaposan. Ha bármilyen hibát, hogy abbahagyom a dolgokat így a felhasználó nem tud a modell. De feltételezve minden a OK, és ez érvényes lekérdezést, A vezérlő lekérdezi a model-- ez lesz kérdezd meg, hogy adjon tájékoztatást. A modell biztosítja, hogy az információt egy oldalra, ami a céllal, ez lesz továbbítja, hogy módon, majd a nézet majd feltölti az információt Felkérik a modellt. Így például, ha beszélünk mintegy bejelentkezik a Facebook oldal, például. A kilátás lenne az adatok hogy kijött a modell, utal a barátok és a hírek takarmány vagy ilyesmi, ugye? De nem lát valaki más. Te lennél getting-- így elküld egy lekérdezést, Ön bejelentkezik a model-- mentség én, akkor jelentkezz be az oldalra. A készülékek a bejelentkezési adatait hogy a kérelmet a modell, hogy a arról, hogy az, akinek mondja magát. A modell, mint, OK, igen, Ön az, akinek mondja magát, így hadd adjak a hírcsatorna. Adok nyers adatokat a hírcsatorna a nézetet, majd a nézetet teszi csinos, feldolgozza, oly módon, hogy mi szokva, megjelenítése ezt az információt a felhasználó. Figyeljük meg a kapcsolat, ami Nem létező ezt az ábrát. Nincs közvetlen kapcsolat közted és a modell. Mindig ez a puffer A vezérlő a bemeneti oldalon, és van egy puffer a megjelenítés a kimeneti oldalon. Lehet, hogy te egy jó személy, és így talán nem tenne kárt a modell, de talán még nem. Vagy talán van valaki, aki egy rosszindulatú felhasználó, aki talán akar kárt az adatbázis, talán törölni mindent az adatbázisból, amely lehet nagyon drága. Nyilvánvaló, hogy a felhasználó adatait is-- van értéke, hogy miután a felhasználói adatokat. És így, ha nem tesszük ezt a puffert zóna és a felhasználó között a database-- a felhasználó és a model-- dolgokat Lehet, hogy nem megy olyan jól a számunkra. És ezért fontos, hogy Van ez a paradigma, ahol a felhasználó kölcsönhatásba az adatbázis, biztos, de van, hogy menjen át hozzánk csinálni. És ez alapvetően az ötlet MVC. Ez igyekszünk végrehajtani az adatok biztonságát. Ez próbálta védeni a modell véletlenül vagy szándékosan rosszindulatú felhasználók. Tehát mi történik, ha alkalmazzuk ezt a paradigmát? Nos, mi elválasztó adatok szükséges a mi website-- A model-- a logika amely megvalósítja a weboldalunk functionality-- a controller-- és az egyszerű esztétika és az oldal sablonok tartalmazzák a felhasználói experience-- a nézetet. Mit is jelent ez? Nos, ez azt jelenti, tudod, hogy views látható a felhasználó számára. El tudja rejteni a modell elérhető. És controllers-- a felhasználó nem lehet közvetlenül manipulálni. Nem kell nekik, hogy hozzáférjen a PHP kódot. Ők csak meg kell látni egy formája ahol beírhatja cucc. Így talán az űrlap céljából, a vezérlő a PHP, hogy a forma azt állítja, hogy a vezérlő teszi egy lekérdezést a modell, A modell több információt ad hogy egy másik nézet, hogy információkat jelenít meg az Ön számára. Az Ön programok érheti az összes üzleti logika, de a felhasználók nem közvetlenül hozzáférhessen az üzleti logika. És egy különösen talán, látható illusztrációja ennek A valaha kapott 403 Forbidden hibaüzenet. Előfordult már, elment egy web oldalt, és láttam 403 Forbidden? Ez a fajta, mint 404 Not Found. 403 Forbidden azt jelenti, hogy megpróbáltuk elérni egy oldalt, hogy nem férnek hozzá. Talán ez a honlap segítségével MVC szétválasztása elbújni üzleti logika, hogy léteznie kell a szerveren érdekében Az oldal dolgozni, de nem Szeretném, ha közvetlenül hozzáférni. Szóval lehet, hogy egy 403 Forbidden hibaüzenet. És ez mit sem számít, ha voltak bejelentkezve. Nincs felhasználó megérinti ezt a pontot PHP fájlt. Ők csak érintse ez az egyik, és ez a one-- az egyik, hogy tudnak touch-- talán kölcsönhatásba léphet a zárolt fájlok közvetettebb módon, mint a felhasználó. Szóval, néha látni ez az engedélyekkel hiba, ez a 403 Forbidden. Hogyan változtathatjuk engedélyeket, így hogy a dolgok, vagy nem látható? Amikor ezt általában az, hogy egy Linux parancssori nevű chmod-- C-H-mod. Ehhez a formátuma eléggé simple-- chmod, engedélyek, és bármit kívánt fájlt alkalmazni, hogy a változás a. Szóval, talán látnánk valamit mint this-- chmod 600 helpers.php. Vagy talán azt látni this-- chmod egy plusz x tartalmazó könyvtárat. Vajon jelent ez igaz? Szóval, van két különböző módon hogy az engedélyek általában visszük chmod. Az első az úgynevezett oktális számok módszer. Ez általában érvényes engedélyekkel három különböző kategóriában felhasználók ugyanabban az időben. Tehát chmod 711 fájl lehetővé tenné, a jogot, hogy olvasni, írni és végrehajtani a fájl, lehetővé tenné others-- kifejezetten a csoport, és a world-- hogy csak végrehajtja a fájlt. Ez az, amit ez vezet. Az első szám van az, amit tehetünk, A második szám amit a csoport tehet, a harmadik pedig, amit a világ tehet. Bárki, aki meglátogatta a oldal, ez a világ. Mik ezek a számok ténylegesen lefordítani, hogy igaz? Tehát ezek alapvetően lefordítani, mint ez. Ha az engedélyt nulla, semmi sem történhet. Ha ez az egyik, akkor végre a file-- ha ez az engedélyét. Ha ez a két, akkor írj a fájlt de nem lehet mást csinálni. Ha ez a három, akkor írni és végrehajtani. És így tovább, mint látható. És hét azt jelenti, hogy mindent tud. Szóval miért vannak ezek az úgynevezett nyolcas szám? Nos, ha belegondolsz, Itt olyan, mint noes és yeses, És ha azt gondoljuk róluk a piros és zöld doboz, Talán teszi, hogy egy kicsit világosabb. De ha belegondolunk, a piros dobozok a nullák és a zöld doboz, mint azok, ezek valójában csak készlet A bináris számokat, ugye? 000 fordítja a decimális 0; 001, tizedes 1; 010 decimális 2, és így tovább. És így hívjuk ezeket a nyolcas szám, mert ott Nyolc különböző lehetőségeket. Nyolc különböző számjegyeket, ha mi vagyunk beszélünk három bit information-- Az olvasási kicsit, az írási kicsit, és a futtatási. Így most már tudod beszélni bináris, decimális, hexadecimális, oktális és. Szóval tudod, hogyan kell kommunikálni számítógépek négy különböző számot rendszereket, így nagyon klassz. Tehát mellett a nyolcas jogosultságrendszert, van szintén szimbolikus engedélye program, amely némileg eltér és általában használják a legjobban alkalmazni, vagy távolítsa engedélyt az egész fórumon. Tehát chmod a plusz x fájl Hozzátehetjük jobb végrehajtani, hogy mind a három kategóriákat users-- magad, a csoport, és a világ. Hogy plusz a hozzá részét. Az aláírási joga, ez az x. És az a tény, hogy ez vonatkozik az összes Három felhasználói csoportok lenne a egy. Tehát this-- egy plusz X- valószínűleg lesz hogy pontosan ugyanaz, mint chmod 711 fájlt, mert ha megy vissza, és nézd meg a nyolcas számú program, is, és hetest ad nekünk a jogát, hogy végre egy fájlt. Tehát valószínűleg ez ugyanaz. És akkor használd ezt útmutató, amit A különböző dolgokat a szimbolikus chmod-nek szerkezet. A zöld termékek itt lenne ahol az összes zöld színű példa Volt egy második ezelőtt. A kék lenne a kék. A narancssárga lenne a narancs. Szóval lehet alkalmazni a dolgokat, hogy a csoport, a többiek, hogy a felhasználó, vagy mindenkinek. Akkor nekik olvasni, írási és végrehajtási hozzáféréssel, és akkor hozzáadni vagy eltávolítani vagy rendeljen pontosan egy sor Az engedélyeket ezt a modellt. Hogyan ellenőrizze, milyen fájljogosultság rendszer? Mielőtt változtatni, ez Valószínűleg jó, hogy valóban tudja, mi a fájl jogosultságait. Az egyik módja ennek az, hogy futni ls de csak csípés is egy kicsit. Tehát, ha azt írja ls kötőjel L-- ez egy kisbetűs L-- talán Találkozunk valami ilyesmi. Úgy néz ki, egy kicsit rejtélyes, de az a rész, amit igazán érdekel a cucc a bal oldalon ott. Hogy valóban meghatározza Fájl jogosultságrendszert. És akkor talán mondani, mert Van r, W és X tarkított. Azok az első three-- figyelmen kívül hagyva az első egy második, amely megduplázzuk vissza. Az első három után a first-- így a második, harmadik és negyedik karakterének Az, hogy a 10 karakterlánc az engedélyei, hogy van. Tehát nyilván tudok olvasni, írni és végrehajtani PHP. El tudom olvasni, írni, és végre PHP WebDev, és én is írni és olvasni test.php. Az én csoportom képes erre. Tehát úgy tűnik, a PHP és a PHP WebDev könyvtárak, csoportom tud írni őket, de semmi mást. És a világ nem tud semmit. Tehát ezek a fájlok nem nyilvánosan hozzáférhető és ha megpróbálok hozzáférhessen, és nem voltam Apache, hogy azok hozzáférhető, akkor kapnánk egy 403 hiba. Ez egy hiba. Próbáltam elérni egy fájlt, de én Nincs engedélye kell csinálni. És mi az, hogy az első karakter? Nos, akkor talán extrapolálni hogy itt a d's utalnak könyvtárak és a kötőjel utal az úgynevezett "rendes fájlokat." És talán láttad ezt, ha már megpróbálták eltávolítani a fájlt rm. Láttad a rejtélyes üzenetet "eltávolítás szabályos fájl" - ebben az esetben, ez lenne test.php. Rendszeres fájl csak valami ez nem könyvtár. Van egy pár mások itt, de általában te fog látni d's könyvtárak és semmi az első elemet. De ez tényleg minden van hozzá. Meg tudja nézni fájl engedélyekkel ls kötőjel l, Ön módosíthatja azokat chmod. És persze, használja these-- változó a jogosultságokat érvényesíteni ezt MVC paradigma Az adatok védelme érdekében a honlapon és nem teszi lehetővé a felhasználók eléréséhez mindent, de csak a dolgokat, hogy szükség van eléréséhez, hogy az Ön oldalon dolgozni, ahogy szeretnéd, hogy működjön. Én Doug Lloyd. Ez CS50.