Даг Ллоид: Понекад када смо програмирање
радимо тако често, тако често, а толико људи
учинити исту идеја-- или исти ствар, да има име.
ДСЦ је управо једна таква ствар.
То се зове парадигма програмирање.
То је нешто као најбоље праксе које су дистиллед надоле
људи покушавају да ураде нешто.
У овом случају, спроводи систем страна
да корисник интерагује са на сложеније сајту.
И то је учињено тако често да то је препоручује као стандард
да би други људи воле да прате, и ту је веома специфичан сет начина
да се може пратити ову парадигму.
>> Дакле, ДСЦ је парадигма, а разлог ми користимо је на апстрактне далеко детаље
од корисника.
Неке ствари корисника стварно не треба да види.
Они само желе да имају добар кориснички доживљај,
и не треба да их приступити сваки фајл који
постоји на нашем веб серверу, можда.
Ту би могло бити неке датотеке које су само користи за јачање корисничког искуства,
па можемо апстрактно оне далеко.
Можемо некако да их сакрије тако корисник не може да ради са њима,
али наша пагес-- нашу пагес-- знају како да се носе са њима
и позвати их или можда захтевати, жели да, или тако нешто.
>> Примарни мотив за ДСЦ је безбедност података,
јер ДСЦ обично појављује у Контекст рад са базама података.
И Посебно Желим да спречи кориснике
од директно утичу база података.
Ми само желимо да то уради индиректно, кроз нашу филтрације.
Или водећи рачуна да је све у реду од нас ради мало провере грешака
или сигурност изолација пре него што послати га у базу података, где
ствари може да крене наопако, можда Стварно није у реду, ако не будемо опрезни.
>> Дакле, ДСЦ означава Модел Виев Цонтроллер.
Шта сваки од њих значи?
У основи, модел је ваша база података.
То је место где сви важни подаци о вашем сајту
ливес-- корисничка имена, лозинке. логовања
И можете ажурирати, позивају на њега, скоро све тако.
Ти би упита базе података, ти би питати информације из базе података.
То је све од модел-- Подаци где ваш сајт живи.
>> Поглед је попут кориснички доживљај.
То су странице које виде после они су тражене информације.
Можда они подносе њихово пријављивање информатион--
који би радили у контролер, што ћемо разговарати о у секунди.
Они можда поднесу своје Пријава информације,
а база података упита.
Информације се тражи и извукао из базе.
И онда кад корисник је пријављени у, виде своју почетну страницу.
То је поглед, у реду?
>> А онда контролер је оно што је назива пословна логика вашег сајта.
И пословна логика је један од оних термина који
је нека врста Висхи-васхи-- воле, Шта пословна логика значи?
У суштини ваш посао Логика је ваш ПХП.
Ваш корисник не треба да директно видим ПХП,
али ваш ПХП је вероватно шта се дешава да се одлука захтева у базу података.
>> Дакле, корисник ће улаз информације у погледу,
која ће интегрисати контролер.
Као, они ће откуцајте у форми.
Како да формирају процеси информације контролер.
То је ПХП да је то уствари чинећи захтев моделу.
А онда модел даје Информације на приказу,
што јој даје кориснику, можда најбоље се види на следећи начин.
>> Дакле, ту смо.
Ево нас је на левој страни, а наш модел Погледај контролер парадигма аранжман.
Како то ради?
>> Усер-- нас-- чини тражити да контролера.
Ми тврдимо информације као на пример уз ХТТП облику.
На основу тога, контролор је посао је да се уверите
да је оно што је корисник дао није нешто што ће оштетити модел.
И тако је контролер ће проверите да ли је све у реду.
То ће изгледати врло пажљиво.
Ако нема грешке, то ће зауставити ствари тако да корисник не може доћи до модела.
>> Али под претпоставком да је све ОК и то је валидан упит,
контролер ће упита модел-- да ће га питати да пружи информације.
Овај модел ће обезбедити да информације за страницу која је поглед,
да ће га пренети да начин, а затим поглед
ће попунити податке затражио од модела.
>> Тако, на пример, ако говоримо о пријавити на свој Фацебоок страници,
на пример.
Поглед ће бити подаци који је дошао из модела који
односи се на својим пријатељима и вести феед или такве ствари, зар не?
Али не би видели неког другог.
>> Ви би тако геттинг-- шаљете упит,
можете пријавити на модел-- изговор ја, ти пријавити на страницу.
Контролер користи Ваше информације пријављивање
да захтјев модел да сигурни да сте који кажеш да јеси.
Као модел је, у реду, да, ви сте ко сте рекли да сте,
па да ти дам свој извор вијести.
Ја ћу вам дати сирове податке за Ваш Невс Феед на мишљењу,
и онда поглед чини га лепа, то обрађује на начин
да смо навикли, приказивање те информације кориснику.
>> Обратите пажњу на везу која је Не постоје на овом дијаграму.
Нема директне везе између вас и модела.
Увек постоји тај бафер контролер на улазној страни,
и ту је буффер поглед на излазној страни.
>> Можда си добар лице, па вам можда
не би урадио било какву штету на модел, али можда ниси.
Или можда постоји неко ко је хакер који би можда
Желим да оштети ваш базу података, можда избрисати све из ваше базе података,
што може бити веома скупо.
Очигледно, имајући корисник је-- подаци има вредност која има корисничке податке.
И тако, ако нисмо ставили ову бафер зона између корисника и датабасе--
корисник и модел-- ствари не би да иде тако добро за нас.
>> И зато је важно да се има ту парадигму где
корисник може интеракцију са базом података, наравно, али они морају да прођу кроз нас
да то уради.
И то је у основи идеја са МВЦ.
Покушава да спроведе сигурност података.
Покушава да заштити модел од случајно или намерно
злонамерних корисника.
>> Дакле, шта се дешава када смо применили ову парадигму?
Па, ми смо раздваја податке тражи од нашег вебсите--
модел-- из логике који имплементира наш сајт је
фунцтионалити-- цонтроллер-- и од једноставних естетике и странице
шаблони који садрже наша корисник искуси поглед.
Шта ово значи?
Па, то значи да можете да виевс видљив за корисника.
Можете сакрити модел далеко.
И цонтроллерс-- корисника Не могу можда директно манипулисати.
Они не треба да приступи вашем ПХП код.
Они само треба да види образац где можете уписати ствари у.
Можда је форма поглед, контролер
је ПХП да облик подноси је контролер прави упит моделу,
модел даје више информација у другу мишљење да
приказује информације за вас.
>> Ваши програми могу приступити све ваше пословне логике,
али ваши корисници не могу директно приступите пословну логику.
И један посебно, можда, видљиво илустрација тога
је ли икада добили А 403 Форбидден грешка.
Да ли сте икада отишли ​​на веб страна и видео 403 Форбидден?
То је врста Као 404 Нот Фоунд.
>> 403 недозвољених средстава сте покушали да приступите страница које немате приступ.
Можда је сајт користећи МВЦ одвајање
да се сакрије своју пословну логику да треба да постоји на серверу како
за страна да раде, али не Желим да је директно приступити.
Дакле, можда добијете 403 Форбидден грешку.
>> И то не би ни битно ако сте пријављени.
Не корисник може додирнути ову дот ПХП фајл.
Они само могу додирнути ова, и то једног--
онај који могу да можда дирај могу интеракцију са закључаном-доле фајл
висе посредно него корисника.
>> Дакле, ми понекад видимо ову дозволе грешка, ово 403 Форбидден.
Како променити дозволе тако да ствари могу или не могу видети?
Када смо ово обично је да се користи Команда за Линук зове цхмод-- Ц-Х-МОД.
>> Да бисте то урадили, формат је прилично симпле-- цхмод, дозволе,
и шта год датотеку коју желите да примене ту промену у.
Дакле, можда би видети нешто као ово-- цхмод 600 хелперс.пхп.
Или можда би видите ово-- цхмод плус х која укључује директоријум.
Да ли то значи иако?
Дакле, постоје два различита начина да дозволе су обично
наноси цхмод.
Први се зове октални број метода.
То обично односи дозволе у три различите категорије
корисника истовремено.
Дакле, ЦХМОД 711 слика би вам омогућило право да чита, пише и извршава
Ваш фајл, би омогућило Остали-- посебно
Ваша група и ворлд-- да само изврши датотеку.
То је оно што то значи да.
Први број има је оно што можете да урадите,
други број шта ваша група може да уради,
а трећи је оно што свет може да уради.
Свако ко је посети твој страна, то је свет.
>> Шта су ови бројеви заправо транслате то ипак?
Дакле, ово у суштини транслате овако.
Ако је дозвола је нула, ништа не може догодити.
Ако је један, можете да извршите филе-- ако је то твоја дозвола.
Ако је двоје, можете написати датотеку али не може да уради ништа друго.
Ако је три, ви може писати и извршава.
И тако даље, као што можете видети.
И седам значи да можете да урадите све.
>> Па зашто се ово зове ОЦТАЛ бројеви?
Па, ако мислите о томе, Овде је као Ноес и иесес,
и ако мислимо о њима као црвеног и зеленог кутије,
Можда што га чини мало јасније.
Али ако мислимо о тим црвеним кутијама као нула и зеленим кутијама као оне,
То су заправо само сетови бинарних бројева, зар не?
000 преводи у децималне 0; 001, децимале 1; 010 је децимално 2, и тако даље.
И тако зовемо ове октална Бројеви јер
су осам различитих могућности.
Постоје осам различите цифре ако смо
говоримо о три битова информатион--
читање битни, Тхе Врите битни, а извршни део.
Дакле, сада можете говорити бинарни, децимале, Хек, и октални.
Па знате како да комуницирају са компјутери у четири различите броју
системи, па то је баш кул.
>> Дакле, поред октално дозвола шема, ту је
Такође симболички дозвола шема, која је мало другачија
и обично се користи најбоље да се пријаве или уклоните дозволу преко одбора.
Дакле, цхмод а плус к фајл да додам право
да извршава на све три категорије усерс--
сами, ваша група, и свет.
То плус је додао део.
Право да изврши, да је х.
И чињеница да се то односи на све три групе корисника ће бити а.
>> Дакле, ово-плус к-- ће вероватно да буде иста као цхмод 711
филе, јер ако се вратите и погледај шему октална број,
они и седмице УС Тхе дати Право да изврши датотеку.
Дакле, ово је вероватно исти.
>> И можете користити ово Референтни водич за оно што
разни ствари у симболична цхмод-Инг структура су.
Зелене ставке овде ће бити где су сви зелено обојени пример
је пре секунде.
Плава ће бити плаве.
Наранџасто би била наранџаста.
Дакле, можете се пријавити ствари по вашем група, другима, кориснику,
или свима.
Можете дати им читати, писати, и извршава приступ,
а можете додати или уклонити или доделите баш скуп
дозвола користе овај модел.
>> Како да проверим шта је Филе дозвола шема је?
Пре него што га променити, то је Вероватно добро да заправо знамо
шта фајл дозволе су.
Један од начина да то урадите је да покренете лс али само је мало твеак.
Дакле, ако куцам ли дасх ја-- То је мала слова ја-- можда
Видећу нешто овако.
Изгледа мало загонетан, али онај део који ми стварно стало
је ствар са леве стране тамо.
То заправо одређује фајл дозвола шема.
И вероватно може рећи, јер је то Имам Р је, без тих, а нечија смењују.
>> Они први три-- игноришући први
за тренутак, који ћемо дупло вратити.
Они прва три после фирст-- тако други,
треће, четврте и ликови те низ 10 карактера
су дозволе које имате.
Дакле, очигледно могу да прочитам, писати, и извршава ПХП.
Могу да читам, пишем, и извршава ПХП ВебДев,
и ја да читам и пишем тест.пхп.
>> Моја група могу то да урадим.
Дакле, очигледно са ПХП и ПХП ВебДев именици,
моја група може писати им али ништа друго.
И свет не може ништа.
Дакле, ови фајлови нису јавно доступна
и ако сам покушао да приступ им и нисам био
руннинг Апацхе да их доступним, онда би имао 403 грешку.
То је неуспех.
Покушао сам да приступите датотеку али немају дозволу да то уради.
А шта је то први знак?
Па, вероватно можете екстраполирати овде да Д'с односе на директоријума
и црта се односи на такозване "регуларне фајлове."
А можда сте видели ово кад сте покушао да уклони датотеку користећи РМ.
Видели сте шифровану поруку "ремове редовну фајла" - у овом случају,
било би тест.пхп.
Редовно фајл је само нешто то није директоријум.
Постоји неколико других овде, али генерално ти си
да видимо д с за именика и ништа за првог елемента.
Али то је заиста све што је потребно.
Можете проверити датотеку Дозволе коришћењем ЛС дасх л,
можете их променити користећи цхмод.
И, наравно, користи тхесе-- промену дозволе
да спроведу ову МВЦ парадигму у штити податке на Вашем сајту
и не дозволи корисницима приступ свему,
већ само ствари које су им потребне приступ како би ваш странице
да ради на начин на који желите да ради.
>> Ја сам Доуг Лојд.
Ово је ЦС50.