DOUG LLOYD: Bəzən biz proqramlaşdırma edirik
biz belə, belə ki, çox şeyi tez-tez və bir çox insanlar
eyni fikirdir və ya eyni şey, bir adı var ki.
MVC dəqiq bir şey yox.
Bu bir proqramlaşdırma paradiqma deyirlər.
Bu növ bir ən yaxşı təcrübələri kimi oldu ki, aşağı distillə edilmiş
bir şeylər etməyə çalışırıq insanlar tərəfindən.
Bu halda, həyata pages sistemi
bir istifadəçi ilə qarşılıqlı ki, daha mürəkkəb saytında.
Və bu belə çox olduğunu işlər bir standart kimi tövsiyə
digər insanlar izləmək istəyirəm bilər ki, və yolları bir çox xüsusi dəsti var
ki, bir bu paradiqma edin bilər.
>> Belə ki, MVC bir paradiqma və səbəbi biz üz mücərrəd ətraflı istifadə
istifadəçi.
Bəzi şeylər istifadəçi həqiqətən görmək lazım deyil.
Onlar yalnız etmək istəyirəm yaxşı user experience,
və biz onlara ehtiyac yoxdur hər bir fayl daxil olmaq ki,
bəlkə də, bizim web server mövcuddur.
Yalnız bəzi faylları ola bilər istifadəçi experience dəstəkləmək üçün istifadə,
və üz o belə biz mücərrəd.
Biz növ belə onlara gizleyebilirsiniz istifadəçi onlarla işləyə bilməz
lakin bizim bizim pages-- pages-- Onlarla üçün necə
və onlara zəng və ya bəlkə tələb, onlara, və ya kimi bir şey istəyir.
>> əsas motivasiya MVC data təhlükəsizlik üçün,
MVC adətən gəlir, çünki məlumat bazaları ilə iş kontekstində.
Və xüsusilə biz da istifadəçilər qarşısını almaq istəyirəm
birbaşa təsir verilənlər bazası.
Biz yalnız dolayı bunu istəyirəm bizim filtrasiya vasitəsilə.
Və ya arxayın hər şey OK ki, Bizə səhv yoxlanılması bir az bunu
və ya təhlükəsizlik kontrollük biz əvvəl verilənlər bazası, göndərin
şeyi bəlkə yanlış getmək bilər biz ehtiyatlı deyilik əgər həqiqətən yanlış.
>> Belə ki, MVC Model View Controller üçün dayanır.
Bu hər nə deməkdir?
Əsasən, model bazası var.
Bu harada Sizin sayt üçün mühüm məlumatların
lives-- istifadəçi adı, giriş, parol.
Və siz onu yeniləmək üçün müraciət edə bilər, kimi olduqca çox hər şey.
Siz bir verilənlər bazası sorğu istədiyiniz, xahiş ediyorum verilənlər bazası məlumat.
Ki, model-- bütün site yaşayır data.
>> view cür kimi istifadəçi təcrübəsi.
Onlar sonra görmək pages var Onlar məlumat tələb etdik.
Belə ki, bəlkə onlar təqdim giriş deyil məlumat
onlar bir nəzarətçi edəcəyini, Hansı ikinci haqqında danışmaq lazımdır.
Onlar bəlkə təqdim etdikləri giriş məlumat,
və verilənlər bazası sorgulandığında.
Məlumat tələb və verilənlər bazası çıxardı.
Və sonra istifadəçi daxil bir dəfə onlar öz səhifəsinə baxın.
OK, bir görünüşü var?
>> Və sonra nəzarətçi nə edir Sizin saytın biznes məntiqi çağırıb.
Və iş məntiq bu şərtlər bir ki,
wishy-washy-- kimi sort edir, iş məntiq nə deməkdir?
Əsasən biznes məntiq PHP edir.
Sizin istifadəçi lazım deyil birbaşa PHP görmək üçün,
ancaq PHP yəqin ki nə olacaq verilənlər bazası sorğu edilməsi.
>> Belə ki, istifadəçi iradəsi giriş baxımından informasiya,
olan nəzarətçi inteqrasiya edəcək.
Kimi, onlar bir formaya yazın lazımdır.
Necə ki, forma proseslər məlumat nəzarətçi edir.
Bu həqiqətən PHP var model sorğu edilməsi.
Və sonra model verir Baxmaq üçün məlumat,
istifadəçi verir ki, aşağıdakı kimi bəlkə də ən yaxşı görüntülenmeyecektir.
>> Belə ki, burada biz.
Burada sol, bizi və bizim Model View Controller paradiqma təşkili.
Bu necə işləyir?
>> user-- us-- bir edir nəzarətçi tələb.
Biz informasiya təqdim HTTP formada kimi.
, Nəzarətçi ki əsasən iş əmin etmək
verdiyi istifadəçi nə ki, model zərər ki, bir şey.
Və belə nəzarətçi olacaq əmin hər şey OK olun.
Bu, çox diqqətlə baxmaq olacaq.
Hər hansı bir səhv varsa, bu şeylər dayandırmaq lazımdır belə ki, istifadəçi model əldə edə bilməz.
>> Amma fərz hər şey OK və etibarlı sorğu var,
nəzarətçi model-- sorğu edəcək Bu məlumat vermək üçün xahiş edəcəyik.
model ki, təmin edəcək bir görünüşü bir səhifə məlumat
ki, ötürmək lazımdır yol, sonra görünüşü
məlumat girəcəkdir model tələb.
>> Belə ki, məsələn, biz söhbət edirsinizsə Sizin Facebook səhifə daxil haqqında,
misal üçün.
view data olacaq ki, model çıxdı ki,
Dostları və xəbərlər aiddir sağ, kimi yem və ya stuff?
Amma kimsə başqa görmək deyil.
>> Siz getting-- olarıq Bir sorğu təqdim
Siz model-- bəhanə daxil Mənə, bu səhifənin daxil.
nəzarətçi istifadə Sizin giriş məlumat
etmək üçün model müraciət etmək Siz var ki, siz deyənlər.
model kimi, bəli, OK, Siz, siz deyənlər var
belə ki, mənə sizin news feed verək.
Mən sizin üçün xammal məlumat verəcəyik keçirmək üçün news feed,
və sonra görünüşü edir yaraşıqlı, bir şəkildə emal
biz gösteren, istifadə etdiyiniz ki, istifadəçi ki, məlumat.
>> Var bağlantısı edək bu diaqram mövcud deyil.
Birbaşa əlaqə var Siz və model arasında.
Bu bufer həmişə var giriş tərəfində nəzarətçi,
və bufer var çıxış tərəfində bilərsiniz.
>> Bəlkə bir iyi şəxs və belə ki, bəlkə sizə
hər hansı bir zərər deyil model, lakin bəlkə siz deyilik.
Və ya bəlkə kimsə var kim var bir zərərli istifadəçi Kim bilir, bəlkə olardı
bəlkə bazası zərər istəyirəm verilənlər bazası hər şeyi silmək,
çox bahalı ola bilər.
Aydındır ki, olan istifadəçi data is-- istifadəçi məlumatları olan dəyəri var.
Və biz bu bufer qoymadı əgər istifadəçi və bazasında bir arasında zona
istifadəçi və model-- şeyi bizim üçün o qədər də yaxşı gedir ola bilər.
>> Və belə vacibdir bu paradiqma harada var
istifadəçi bazası ilə qarşılıqlı bilər əmin, lakin onlar bizə vasitəsilə getmək üçün var
bunu.
Və əsasən MVC ilə fikirdir.
Bu data təhlükəsizlik həyata keçirilməsi üçün çalışırıq.
Bu model qorumaq üçün çalışırıq təsadüfən və ya qəsdən olan
zərərli users.
>> Belə ki, nə olur bu paradiqma tətbiq?
Yaxşı, biz data ayıran edirik Bizim website-- tələb
məntiq olan model-- ki saytının həyata keçirir
nəzarətçi functionality-- və sadə estetik və səhifədən
təşkil şablonları bizim istifadəçi görünüşü experience--.
Bu nə deməkdir?
Bəli, bu siz edə bilərsiniz deməkdir istifadəçi görünən görür.
Siz üz model gizleyebilirsiniz.
Və istifadəçi controllers-- bəlkə birbaşa manipulyasiya edə bilməz.
Onlar PHP kodu daxil olmaq üçün ehtiyac yoxdur.
Onlar yalnız bir forma görmək lazımdır onlar məhsulları edəbilərsiniz.
Belə ki, bəlkə forması bir görünüşü, nəzarətçi
forma təqdim PHP deyil, nəzarətçi, model bir sorğu edir
model daha çox məlumat verir Good luck ki,
sizə məlumat göstərilir.
>> Sizin proqramları əldə edə bilərsiniz Sizin biznes məntiq bütün,
ancaq istifadəçilər birbaşa bilməz biznes məntiq daxil.
Və bir, xüsusilə, bəlkə də, Bu görünən illüstrasiya
Əgər aldığınız olunur 403 Forbidden səhv.
Əgər bir web getdi səhifə və göründüyü 403 Forbidden?
Bu 404 Not Found kimi sort var.
>> Qadağan 403 daxil olmaq üçün cəhd deməkdir Siz çıxışı yoxdur səhifə.
Yəqin ki, site MVC ayrılması istifadə
biznes məntiqi üz gizlətmək ki, məqsədilə serverdə mövcud lazımdır
səhifə işləyir, lakin deyil üçün birbaşa daxil olmaq üçün istəyirəm.
Belə ki, bir 403 Forbidden səhv əldə edə bilər.
>> Və hətta əhəmiyyətli deyil Siz daxil edilmişdir.
No istifadəçi bu dot PHP fayl toxunmaq olar.
Onlar yalnız toxunmaq olar bu bir, və bu one--
onlar bəlkə touch-- bilər bir kilidli aşağı faylı ilə qarşılıqlı bilər
daha dolayısı istifadəçi daha.
>> Belə ki, biz bəzən bu icazələrin görmək səhv, bu 403 Forbidden.
Necə ki, biz belə icazələrin dəyişə bilərəm hər şeyi və ya görülə bilməz ki?
Bunu zaman adətən istifadə etmək Linux command chmod-- C-H-mod çağırıb.
>> Bunu etmək üçün, format olduqca chmod simple--, icazələrin,
və nə fayl istədiyiniz ki, dəyişiklik müraciət etmək.
Belə ki, bəlkə bir şey görmək istədiyiniz Bu kimi 600 helpers.php chmod.
Və ya bəlkə siz şeylərdir chmod görmək istədiyiniz kataloq olan bir plus x.
Bu olsa deməkdir idi?
Belə ki, iki müxtəlif yolları var icazələrin adətən var ki,
chmod istifadə edərək tətbiq.
ilk adlanır octal nömrələri üsulu.
Bu adətən icazələrin tətbiq üç müxtəlif kateqoriyalara
eyni zamanda istifadəçilər.
Belə ki, chmod 711 fayl sizə imkan verir sağ, oxumaq, yazmaq və icra etmək
Fayl, imkan verir ki, others-- xüsusi
Qrup və vücuda yalnız fayl icra.
Ki, bu tərcümə var.
orada ilk sayı Siz nə edə bilərsiniz ki,
ikinci sayı qrup nə edə bilər,
və üçüncü dünya nə edir.
Sizin səfər var Kimse Yok Mu səhifə ki, dünya var.
>> Bu nömrələr hansılardır həqiqətən olsa tərcümə?
Belə ki, bu, əsasən bu kimi tərcümə.
Icazə əgər sıfır, heç bir şey ola bilər.
Bu bir varsa, siz həyata keçirə bilər ki, icazə əgər fayl.
Bu iki varsa, siz fayl yaza bilərsiniz ancaq başqa bir şey edə bilməz.
Bu üç varsa, siz yazmaq və icra edə bilər.
Və belə, gördüyünüz kimi.
Yeddi siz hər şeyi edə bilərsiniz deməkdir.
>> Belə ki, niyə bu octal ədəd deyilir?
Yaxşı, siz bu barədə düşünüyorsanız, burada Noes və yeses kimi,
və biz onlar haqqında düşünmək əgər qırmızı və yaşıl qutuları kimi,
bəlkə bir az aydın edir.
Amma biz o qırmızı qutuları barədə düşünmək olanları kimi adet sıfır və yaşıl qutuları kimi,
Bu, həqiqətən, yalnız dəsti var ikili nömrələri, sağ?
000 0 decimal tərcümə; 001, 1 dən; 010 belə dən 2 və.
Və belə ki, biz bu octal zəng nömrələri var, çünki
səkkiz müxtəlif imkanları var.
Səkkiz var biz əgər müxtəlif rəqəm
üç söhbət deyil məlumat bit
oxumaq bit, yazmaq bit, və icra bit.
Belə ki, indi ikili danışmaq olar, decimal, hex, octal və.
Belə ki, ilə ünsiyyət necə Dörd müxtəlif sayda kompüter
sistemləri, belə ki, olduqca sərin var.
>> Belə ki, octal başqa icazə sxemi var
də simvolik icazə az fərqli sxemi,
və adətən müraciət etmək ən yaxşı istifadə olunur və ya heyəti arasında icazə çıxarın.
Belə ki, bir plus x fayl chmod sağ əlavə edə bilər
bütün üç icra users-- kateqoriyalar
Özünüzü, qrup və dünya.
Ki, plus əlavə hissəsidir.
icra hüququ, ki, x var.
Və əslində bütün aiddir ki, istifadəçi üç qrup bir olardı.
>> Belə ki, bir plus x-- yəqin ki, davam edir şeylərdir chmod 711 kimi tam eyni olmalıdır
Geri getmək, çünki, fayl və octal sayı sxemi baxmaq,
olanları və Sevens bizə vermək bir fayl icra hüququ.
Belə ki, bu, yəqin ki, eyni.
>> Və bu istifadə edə bilərsiniz üçün kitabçası nə
müxtəlif şeylər simvolik chmod-ing quruluşu var.
yaşıl maddələr burada olacaq burada bütün yaşıl rəngli nümunə
ikinci əvvəl idi.
mavi olacaq.
Orange Orange olacaq.
Belə ki, hər şeyi müraciət edə bilərsiniz qrup, başqalarına, istifadəçi,
və ya hər kəs üçün.
Siz onlara oxumaq verə bilər, yazmaq və çıxış icra,
və əlavə və ya aradan qaldırılması və ya tam bir sıra təyin
Bu model istifadə edərək icazələrin.
>> Biz nə yoxlamaq necə fayl icazə proqramıdır?
Biz bunu dəyişmək əvvəl, bu həqiqətən bilmək yəqin ki, yaxşı
fayl icazələrin nə.
Bunun bir yolu ls çalıştırmak ancaq bir az çimdik.
Beləliklə, mən yazın əgər ls l-- dash bəlkə l-- bir kiçik var
Mən bu kimi bir şey görəcəksiniz.
Bu bir az sirli görünür, ancaq Biz, həqiqətən, qayğı hissəsi
orada sol, stuff deyil.
Bu, həqiqətən müəyyən bir fayl icazə sxemi.
Bu, çünki yəqin ki, deyə bilərsiniz r-nin,-nin w, və x-nin interspersed var.
>> O ilk three-- birinci məhəl
ikinci, üçün hansı biz geri ikiqat lazımdır.
O ilk üç sonra first-- ikinci belə ki,
üçüncü və dördüncü simvol 10 xarakter simli
siz icazələri var.
Belə ki, yəqin mən oxuya bilərsiniz yazmaq və PHP icra.
Mən oxumaq, yazmaq və bilərsiniz , PHP WebDev icra
Mən oxumaq və test.php yaza bilərsiniz.
>> Mənim qrup bunu edə bilərsiniz.
Belə ki, yəqin PHP ilə və PHP WebDev rehberler,
Mənim qrup yaza bilərsiniz Onlara lakin başqa heç bir şey.
Və dünya bir şey edə bilməz.
Belə ki, bu fayllar deyil açıq
və mən cəhd əgər daxil olmaq və mən deyil
Apache çalışan onlara əlçatan etmək üçün, sonra bir 403 səhv almaq olardı.
Bu uğursuzluq var.
Mən bir fayl daxil olmaq üçün cəhd, lakin mən bunu icazəniz yoxdur.
Və ilk karakter nədir?
Yaxşı, siz yəqin ki, extrapolate bilər burada d's rehberler baxın ki,
və tire aiddir "müntəzəm faylları. qondarma"
Siz var zaman bəlkə bu gördüm RM istifadə edərək, bir fayl aradan qaldırılması üçün çalışdı.
Siz sirli mesaj gördüm "Müntəzəm fayl aradan qaldırılması" - bu halda,
Bu test.php olarıq.
Daimi fayl yalnız bir şey deyil ki, bir kataloq deyil.
Digər bir neçə var Burada, lakin ümumiyyətlə sen
d's dizinler üçün görmək olacaq və ilk element üçün heç bir şey.
Amma həqiqətən bütün var bu var.
Siz fayl kontrol edə bilərsiniz ls dash l istifadə icazələrin
Siz chmod istifadə edərək, onları dəyişə bilərsiniz.
Və, əlbəttə, these-- istifadə icazələrin dəyişən
Bu MVC paradiqma tətbiq etmək Sizin veb məlumatların qorunması
və istifadəçilər imkan hər şey daxil olmaq üçün,
onlar lazımdır ki, ancaq stuff Sizin səhifə üçün üçün daxil olmaq
Siz işləmək istədiyiniz yol iş.
>> Mən Doug Lloyd edirəm.
Bu CS50 edir.