>> [Мусиц плаиинг]
>> ДАВИД Ј. Малан: У реду.
Ово је ЦС50.
Ово је почетак седмице осам.
А ви се сећате да смо стали последњи пут гледа новог језика
заједно.
У ствари, то је једна прилично лаган и није ни
програмски језик.
То је језик за означавање који нас летс заправо структура и изглед веб странице.
И када нешто друго у вези са ово--
или да ће ускоро, ако већ нисте.
Ми ћемо користити каскадни Стиле Схеетс, или ЦСС, који
је још један тип језика са особинама и вредностима
који ће нам урадити Ствари као што промените боју
и промените положај и овакве изменама.
Али данас и надаље, почињемо да фокусирати на моћнијих језика,
Актуелни програмски језици као ПХП.
>> Дакле, ПХП је око за неко време.
И као што ћете видети, је првенствено намењен
рано за стварне користе у веб развоју
и заправо генерисање веб странице.
Па шта врсте функције не језик
потребно да би веб Странице динамички са тим?
>> Другим речима, ако желите да генеришете Садржај динамицалли-- попут Фацебоока
Невсфеед, која мења стално, или Ћаскање који се појаве с времена
да времена-- готово као што је кључни комад функционалности
Потребан вам је у програмском језику који ће вам дозволити динамички
принт нове информације на екрану?
>> СТУДЕНТ: број.
ДАВИД Ј. Малан: Код.
У реду.
Ми ћемо то узети.
Мало прецизнији.
Мислим, можемо да урадимо са Ц, искрено.
Било би бол у врату.
Али-- је ова обавеза?
>> СТУДЕНТ: Да.
Варијабле, можда?
ДАВИД Ј. Малан: варијабли.
У реду, наравно.
Променљиве могу свакако да нам помогне.
Па чак и нешто једноставније.
Користили смо га у први Програм првог дана
када смо заиста рекао "Хелло Ворлд".
>> СТУДЕНТ: Принт.
>> ДАВИД Ј. Малан: Штампа, зар не?
Принт, или у принтф Ворлд оф Ц. Дакле, све ово време,
смо имали у нашем Одлагање лангуаге-- Ц,
у партицулар-- па чак и Сцратцх у том случају то
може генерисати конце текста.
>> Па, ако је ХТМЛ, као што смо видели прошле недеље, није само гомила жица текста
али са отвореним и затвореним заградама конзоле и нека врста риме
а разлог за то, па онда смо стварно могли
старт генерисање веб странице или ручно укуцавањем их у гедит
или у Мицрософт Ворду, за то обзира-- Ми само треба текст едитор.
>> Или можемо написати код, на ваш предлог
раније, да би нас пустити динамички генеришу ХТМЛ,
и то је оно што ћемо да почнем да радим са ПХП
и на крају чак и са језик звао ЈаваСцрипт,
је користити један језик за генерисање други.
И заиста, то је оно што на Фацебоок и многи, многи други сајтови
учинити да заправо динамички приказати нове информације за вас.
>> Хајде да почнемо са ово-А загонетан лоокинг линија, али један
то је заправо прилично моћна.
До сада смо користили Ц, који је саставио језика.
И само брз рецап-- саставио језик има шта карактеристику?
Ви очигледно треба да састави то, али шта то значи?
Да?
>> СТУДЕНТ: То треба да буде монтиран у машински код.
>> ДАВИД Ј. Малан: У реду.
Потребно је да се монтира у машински код.
Дакле, узмете свој изворни код, која је врста енглески налик.
Претворити то нешто нижи ниво,
која се на крају назива Објекат цоде-- 0 а и 1 је.
И то је та 0 а и 1 је то процесор, као и оних које су Интел,
стварно разуме.
>> Сада, ПХП и Питхон и Руби и ЈаваСцрипт и гомиле друга
језици нису састављени Језици али тумачи језика,
што значи да их само укуцајте и онда их не претворе у 0, а 1 је.
Уместо тога дати само онда као улаз у програм туђу,
звао преводилац.
И та особа је Програм је осмишљен
да разумете шта сваки и сваки симбол у Питхон или ПХП
ор Руби или било који број Остали језици значи.
>> И тако све што је потребно је овако нешто.
Дакле, у ствари, ја ћу иди на апарат
Ево, само у једну Старо прозор, а ми смо
ићи напред и отворен фајл који се зове, рецимо, здраво.
Сада раније, можда бих спасио то чак са екстензијом датотеке,
али ја ћу да радим нешто још једноставније овде.
Ја идем напред и почети овај фајл са овим криптичној синтаксе.
Дакле "корисник, Бин, окр, за животну средину, ПХП. "
>> Ово је само један ред кода који је ће рећи своју оперативни систем,
иди наћи у вашој локалној окружење шта год да је,
где год ПХП је-- тхе интерпретер-- и само напред и користите тај преводиоца
да тумаче следећи код.
Дакле, ово је врста ружна особина ПХП.
Али у овом језику, било пут када напишете ПХП код,
морате да имате једну од ових Угли ПХП ознаке демаркацији почетак
Ваше цоде-- <? пхп.
>> Али испод овде, сада могу да урадим нешто прилично једноставна, као иф здраво Цомма
Ворлд бацксласх н затвори цитат, близу заграда.
И онда само за добро мера, идем
да иде напред и затвори Моја ПХП ознака овде
тако да све изгледа лепо лепо штампају.
>> И чим кликнем Саве, гедит је довољно паметан ствари
да погледамо тај први ред и реализовати, ох, ти писање ПХП код.
Пусти ме синтаксу Хигхлигхт је са бојама
овде тако да стоји још мало.
Али сада ћу да одем доље на мој прозор терминала.
Ја ћу зоом ин.
>> Овај програм је назван "здраво" па ћу да урадим дот сласх здраво,
али Дозвола одбијена.
И басх.
Ми заправо чуо за то Пре пар недеља ствар
у контексту Схеллсхоцк, један од тих грешака.
>> Али Пермиссион дениед смо видели раније, можда у другачијем контексту.
Да ли ико сетити како можете фиксирати нешто
где је дозвола ускраћена овако?
Која је команда, барем?
>> СТУДЕНТ: цхмод.
ДАВИД Ј. Малан: Да, цхмод, за промену начина датотеке.
А ви ћете добити све више се користи за ове следеће недеље са накнадним проблемом
сет.
Али за сада, ја ћу променити режим не буде читљив,
али да би се свима екецутеабилити привилегије, способност
да води ову датотеку.
И ја ћу да додели то датотеке здраво.
>> Ако ја сада дот сласх здраво ентер, те види, у ствари, мој програм, здраво свет.
А шта сам урадио корак јасно скип укупно?
Састављање.
Па сам водио овај програм једноставно.
>> И испоставило се да можете да урадите са много синтаксе подсећа Ц.
Пусти ме у данашњем кода, које сам ставио у свој вхост директоријум
Овде, за праве разлога ћемо се вратити у.
И ја ћу да идем у, рецимо, услови 1.
>> Па ћеш видети овде, прво и пре свега, гомила коментара.
Али ово је заправо поновно стварање у ПХП
програма смо урадили у недељи један који се зове услови 1.ц
где сврха живот овог програма
је очигледно то аск корисник за цео број
а онда нека флуффи Анализа на то где
кажете да ли је позитиван или негативан или једнака нули.
И ја би ово само зато, осим можда један мали детаљ,
то је не разликује толико далеко од Ц.
>> Која је једна карактеристика Овде је можда искочи
на вас као мало другачије?
Можда две ствари.
Да?
>> СТУДЕНТ: Долар знак н?
>> ДАВИД Ј. Малан: Да.
Дакле, долар знак н присутан.
И долар знаци, као видећемо, идемо
да фик на почетак било променљиве у ПХП.
То је и добро и добро у бад-- да је некако очигледно шта је
променљива, лоше у томе што је то још једна ствар тип.
А ту је и једна што нисмо сасвим
сеен, барем у овом правопису. Да?
>> СТУДЕНТ: Реадлине.
>> ДАВИД Ј. Малан: Реадлине.
Реадлине нисмо видели, по себи, у Ц, иако постоји нешто
слично, али смо користили гетстринг, а ово је његов колега.
Дакле, ако одем у ово директоријум, који се дешава да буде,
као што ћу објаснити у мало у мом вхост директоријум и мој извор директоријум,
и ја идем напред и да дот сласх цондитионс-- вхоопс-- дот сласх
Услови 1, видећете, опет, исти иссуе-- дозвола ускраћена.
>> Дакле, дозволите ми да зумирате и да цхмод а плус к о условима, Дот резним условима.
Ја бих цео број, молим вас, 50.
И могли би да играмо ово игра цео дан.
То ће тачно понашати као што је учинио у једном недељи.
>> ОК, не разликује, осим не само да је незнатно мало синтаксе,
али на врху, опет имао ову линију која
допустио да створи нешто што Изгледа као Ц програм под називом Здраво,
тзв услови 1.
Али то није 0 а и они Ја извршавање директно.
То је уместо тога ради ово преводилац чије име
се деси бити идентично језика.
Програм се зове ПХП, и мој код испод линије једна је прошао у њега.
>> Можемо да урадимо још један сасвим једноставан Пример подсећа нечега
смо пре неколико недеља.
Опет, ово је врста произвољно комад кода
то очигледно не оно када га покренете?
Шта се ово дешава да штампа, вероватно?
>> Дакле, у почетку он лине 16, то је ће рећи к је сада 2, вероватно.
% Д је исти као $ и у принтф.
Па онда је то цубинг, тачка, дот, дот, у реду 17.
И онда се појављује лине 18 позвати функцију на куб.
И где се Цубед дефинише?
>> Па, изгледа да у реду 25, тако да није све то другачије.
Имам горе неке коментаре то, али у већини случајева,
то је прилично једноставан Портирање или конверзија
из Ц програма у ПХП верзију.
Али, постоје сада пар разлике које можда требало да искочи.
Оно што је још другачије о томе како можда написати овај исти програм у Ц?
>> СТУДЕНТ: [неразумљиво].
>> ДАВИД Ј. Малан: Има Но прототип Уп Топ.
Тако ПХП-- и искрено, Много савремене лангуагес--
су много паметнији и више помоћи него Ц компајлери у томе теби
може ставити функцију овде, можете ставити функцију овде,
а преводилац иде да радите услугу читања
цео фајл пре него што одлучи да неки функција не постоји.
Со Нице побољшања каснијим годинама.
Али, постоји нешто друго другачије или одсутни овде.
Да?
>> СТУДЕНТ: [неразумљиво].
ДАВИД Ј. Малан: Не морамо да прогласи врсте променљивих,
па ћемо видети пре дуго да постоје различити типови у ПХП,
али не треба да их наведете, који је такође и добро и лоше.
И постоји једна ствар недостаје.
>> СТУДЕНТ: Нема библиотеке.
>> ДАВИД Ј. Малан: Нема библиотеке.
У реду, тако да је лепо.
Добијамо много више из кутије.
Дакле, заправо има много више ствари него што сам мислила да су другачији.
Како би било који начин у леђа?
Шта је то?
Кажу да још једном?
>> СТУДЕНТ: Поинтер.
>> ДАВИД Ј. Малан: Нема показивачи.
У реду, барем у овом примеру, бр.
То је фер.
Дакле, не постоје показивачи у ПХП заправо уопште.
Постоје референце нешто што се зове, али нећемо трошити превише времена тамо.
И шта још?
>> СТУДЕНТ: Главни.
ДАВИД Ј. Малан: Главни.
Дакле, ово је Биггие Размишљао сам о.
Приметити нема главна улазна тачка.
Једноставно почните да пишете ваш код.
И то је заправо Биће корисно
када смо у транзицији тренутно се заиста користи
Овај исти језик за веб-басед програмирање, за коју
не желе да имају само једну улазну тачку.
Ми би да има гомилу УРЛ, гомила разних фајлова
све узимајући у корисничком улаз и производњу излаз.
>> Али овде је веома обесхрабрујуће пример који сам обећао прошли пут,
Наиме у овом фолдеру Овде, грешке.
Дакле, у овом фајлу спеллер, које смо неће проводити превише времена, дошло је
суштини портинг-- П-О-Р-Т. То је само реч дати када, рецимо,
конвертујете из једног језика на други ручно обично.
>> Ово је Портирање од ПЦ верзија спеллер из ПСЕТ 5.
И у суштини покушавао је да преобрати она линију по линију као блиско као што сам могу.
Дакле, ако желите овакве ствари, то је заправо вреди у неком тренутку
вуче их обојицу бок страни и види шта је иста
и шта је другачије.
Али они су проклето слично.
Ако се сећате шта спеллер чак изгледао,
иако ниси морају да мењају овај фајл,
то је прилично слично структурно са само пар
промена ту и тамо.
>> Дакле, то је само да кажем да је то прилично је једноставан за конвертовање спеллер
од Ц до ПХП.
Али у речнику, ту је нешто још убедљиви.
Пусти ме да идем напред и створи моја дицтионари.пхп фајл.
Дакле, мало другачије у томе ми ћемо га звати .пхп уместо .ц.
Јер ово је ПХП датотека, ја урадиш-- благо анноиингли-- хаве
да покренете датотеку са ПХП ознака тако.
И ја ћу да идем напред и дефинисати неколико функција.
Функција се зове провера, која је Биће потребно у речи као пре.
Али овај аргумент је ће имати долар
сигн јер смо, опет, користећи ПХП.
Још једна функција из дицтионари.ц је оптерећење
и требало је у име речника, тако да ћу ту функцију спреман да иде.
>> Још један у дицтионари.ц било шта?
Величина је био један од најлепших оних, у барем ако се чува неку променљиву около.
па величина само мора да се врати променљиву.
А онда је истовар.
>> Тако да је ових четворо Функције у проблем сет 5
да је потребно да се спроведе са нека структура података или структуре.
Тако да сам обећао да ће у ПХП, можемо прогласити
хасх сто, на пример, све то лакше.
У ствари, ако желим хеш табели, Ја ћу ићи тако
и ту је мој хасх табела.
И то је нота, обесхрабрујуће, да смо стали на прошли пут.
И знате шта, ако сам желео променљива за величину, добро,
ово није све то разликује од Ц,
али ја ћу ићи напред и то.
И приметио никакву врсту података.
И ја ћу се вратити касније и заправо додате неке коментаре овде.
Али шта је са оптерећењем?
>> Ако долар знак рјечник је назив мог фајла
и ја заиста желим да учитате речи у овој табели сада,
Ја стварно могу да урадим нешто прилично једноставно.
Један-- а то је минорли анноиинг-- у ПХП,
морате да наведете у а функцију ако
желите да приступите неке глобалне променљива која је дефинисана напољу.
>> Али то није нарочито Занимљиво сада.
Оно што је још занимљиво је то за сваку конструкт који сам споменуо прошли пут.
И испоставило се да ПХП има функцију Фајл под називом чија је сврха у животу
је да отворите датотеку и прочитати у свим својим линија у матрици
и предати их у.
>> Што ће рећи да то могу да урадим речник да сада ефикасно кад зовем Филе,
Ово ће ме предају низ речи из датотеке.
Није све то добро.
Ипак ће бити линија речи, нешто линеарно.
Али ја могу да само напред и поновити преко сваке од тих речи коришћења
да синтакса смо видели кратко прошли пут.
Па ћеш видети више у предстојећем ПСЕТ.
>> Али сада имам петље итератинг преко сваке речи у речнику.
И на свакој итерацији, сећам сам називајући тренутни реч "реч."
И све то ће одвести ставио реч у речник
Биће речи претпоставка "истина".
То је мој Инсерт фунцтион.
То је моја функција оптерећење за мом речнику.
Сада је мало варалица, јер, знате шта, заправо постоји
бацксласх н је на крају речи да вероватно би требало да се отарасим,
али то није проблем, јер ПХП има функција названа котлет који буквално
крменадла са једног лика на самом крају.
Тако да нема проблема.
Ми смо отишли ​​напред и стварно скратио то само ово.
И сада би вероватно требало да пратите величине, па хајде да барем учинити ово--
величина ++.
Ја могу то да урадим као и раније.
А онда ће вероватно раде добро, да се вратимо истина.
Доне.
ПСЕТ 5.
>> [Лаугхтер]
>> ДАВИД Ј. Малан: У реду.
Ми ћемо поново урадити са следећим ПСЕТ, превише.
Дакле, шта је величине?
Па, ово надам се ради о као што бисте очекивали последњи пут,
мада морам да урадим ова глупа ствар Глобал.
То је само артефакт од дизајн језику је.
>> Али, провера је мало интересантније.
Дакле, ако сам прошао у долар најпре се реч, ја
Желим да имају приступ да глобална променљива табела.
А сада, ако желим да проверите да ли реч тамо,
Ја једноставно могу да кажем да ли је истина да следеће је постављен у табели,
само напред и повратак истина; друго, ретурн.
Доне.
Друга половина ПСЕТ 5.
>> У реду, па опет, ја сам Сечење неколико углова.
Искрено, вероватно би провести још неколико секунди
У примени овог.
И вероватно не би требало да се ругају сви сати сте ставили на ПСЕТ толико.
Дакле стртоловер је функција.
Нешто слично егзистенцијалистичког ин Ц, бар за ликове,
али ПХП има читав низ верзију.
>> То неће приморавати све на мала слова, које су неки од вас
можда учинио цаноницализе шта сте стављајући у вашем речнику.
А сада то можете да урадите у Ц, такође.
Ово нема никакве везе са ПХП.
>> Али сваки пут када имате Боолеан стање,
као нешто он лине 10 постоји, што је само
ће проценити да истина или лажна, а ваше друго ако јасно
се враћа тачно или нетачно, ја могао једноставно заиста чине овај секси
и само уради овако нешто.
Тако да је мој чек функција.
Добро, ако Булова враћа прави или лажни,
хајде да га врати одмах.
>> А ту је и неколико других Твеакс Могао бих да ту и тамо.
Лоад-- истовар, узгред, то је урађено.
Ништа тамо да ради.
Пошто су сви меморије у ПХП и многи други језици
заправо управља за вас.
Према томе, док у Ц, као сте болно научили,
све што маллоц или цаллоц или реаллоц, морате да се ослободите.
Све што фопен, морате фцлосе, тако да су на крају ослобођени ресурси
и алата као што валгринд не приметити и не жале,
што је добра ствар да ради на њима.
>> Али сигурно, да мора бити нека цака, зар не?
У супротном, ми некако губи гомила недеља.
Тако да је било који број разлога Зато смо на неки начин искористити ову путању,
али постоји компромис.
Добро, ово је било тематски.
>> Дакле, оно што би компромис Овде се креће, од Ц до ПХП?
Осећа се све победе до сада, осим мало ружноће овде или тамо.
Да.
Шта је то?
>> СТУДЕНТ: [неразумљиво] меморије.
ДАВИД Ј. Малан: Брзина.
У реду.
Па, моја брзина је прилично брзо.
Зар не?
Али брзина извршења програма?
У реду, тако да је фер поента.
>> Дакле, као што ће се десити, ја унапред цуед се и мој три решење, један
Имао сам на великом броду је решење покушај заснован,
и ја имам то у овом директоријуму овде.
Тако да сам у једном тренутку, ја могу да идем напред и покренути ово на Кинг Јамес Библе,
ударање Ентер.
И то је тачно, надамо имплементација на крају,
даје ми времена укупно 0.38 секунди за то
један донекле произвољан пример.
>> И ако сам сада у ово Други прозор терминала
овде где сам први пут отворио гедит, нека ме у данашње цоде-- која, опет,
је у овом директоријуму овдје-- и пусти ме само напред и покрените спеллер.
Дакле, само да буде јасно, Ово је ПХП верзија.
Ја само показује врху овде.
>> Дакле, ако ја спеллер од Тилде ЦС50 ПСЕТ 5 текстови, Кинг Џејмс, унесите.
То је увек бржи од писања га у Ц, али укупно време
је, обавештење, 0,93, док је мој Имплементација Ц-басед била је 0.38.
Дакле, то је не-тривијалан разлика.
>> А ово је само на једном фајлу.
Ако сте били да покренете два Програми Версус велику таблу
и имају гомилу улаза тестирани, то би сигурно сабрати.
И ако смо имали и веће скупове података, Ово је, такође, да се додати још више.
Тако да, плаћа одређену цијену брзине је заиста случај.
Шта друго?
Да?
>> СТУДЕНТ: Износ РАМ употребе.
>> ДАВИД Ј. Малан: количина РАМ употребе.
Тако да нисам дао једну секунду Мислио приликом писања овог ПХП
верзија како то колико Мемори сам користио.
Потпуно сам одлагања то ПХП Сама и ко год је написао тај програм.
И то може бити у реду, Али, ако сам стварно стварно
Стало стеже колико перформансе из мог програма или из мог сајту
или из било ког алата Градим, можда
ПХП, заиста, није у реду језика.
>> И у ствари, зато, за пример, многи веб серверс--
стварни програми који служе се веб цонтент--
није писан у ПХП или у Питхон или Руби.
Они су писани, као сада ће урадити са ПСЕт 6,
ин Ц, тако да можете да сачувате сваки делић учинка од тога
и стварно врше Контрола фино зрно око тога шта је
догађа испод Худ и не само узети
здраво за готово неке веће Ниво структура података.
>> Размотримо, на крају крајева, Ко у ПХП спроводи
да појам хасх табле-- је заправо више је
правилно зове асоцијативни арраи-- Да ли он или она има било какву идеју каквог
улаза ћеш бити стављање у структуру?
Дакле, очигледно не, зар не?
То је генерички алат у алата који је
под условом да се сваком ко жели да га користе, па сигурно да
не може бити на крају оптимизован за тачно оно што желите да урадите.
>> Дакле, време развоја трговине-оффс-- мигхт разликују, перформансе могу разликовати,
Сложеност или Мемори усаге могу разликовати.
Па шта ћете наћи све је да постоји
ће бити другачији Алати за трговину.
А, у ствари, за супер већину завршних пројеката људи у овој класи,
веровали или не, Ц се не иде да буде право да користи језик.
>> И у ствари, један од Такеаваис на крају за било које класе као што је овај
је да размишљаш о, Па, шта треба да скинути
полица када желите да се реши неки проблем.
И заиста, ми ћемо прећи овај мост још док гледамо више језика
чак и изван данас.
>> Дакле, да прелаз сада можда више упознати контекст
за коришћење језика као ПХП.
То је нешто уобичајено за коришћење у командна линија, писање сценарија
као што сам урадио, али је много, много више заједничког.
И је требало да се користи у форма датотека које обично завршавају
у .пхп-- али то је Не пререкуисите--
да сами генеришу веб садржаја.
>> Дакле, дозволите ми да само напред и отвори неколико Примери припремио сам унапред.
А то су у ствари на неки начин истина приче у тој једној од првих ствари
Ја сам икада урадио након завршетка ЦС50 и можда, мислим,
Пре цс51 година је моја цимер и ја смо помоћ
да води бруцош Интрамурал спортски програм, који, у то време,
је бруцош регистровања за различите Спортс попуњавањем парче папира,
како се звао, ходање преко дворишта у Вигглесвортх,
и испуштањем у неким Прокторов врата кап.
И онда он или она ће проћи их, а онда нас заиста емаил ручно
да смо регистровани за неки спорт.
>> Дакле, јасно је, прилика за побољшање.
Ових дана, можда окренути само Гоогле Обрасци, али назад у дан,
морали смо да се заиста дође за-- ово није ни то дуго аго-- до
за програмирање Језик који није пхп.
У то време, било је нешто што се зове Перл,
који је изашао из Вогуе од.
Али идеја је иста.
>> И у суштини сео да покуша до порта иде Перл верзије на ПХП,
али у пуном Дисцлаимер, нису дали Било која мисли на естетику још.
Дакле, овде је веб страница.
Ово је датотека.
Ако сам зумирате, свом очигледно звао фросхим0.пхп
само зато што је наш први примјер у овој серији.
И приметите да има оно што изгледа да буде веома ружан ХТМЛ образац,
али форма је занимљиво јер омогућава
да пружи свој допринос корисника претраживача.
>> Сада последњи пут када смо имали форму, да кога смо предати нашу параметар упита,
параметар ред како се зове?
Тако да Гоогле, зар не?
Ми у потпуности пунтед о идеји ради ништа са тим улазом.
>> Али данас, почињемо производњу излаз.
И понашање идем да видим Овде у почетку је прилично тривијалан.
Дејвид, ја ћу провјерити са пол Овде, кажу Маттхевс овде.
Нећу бити капитен.
Идем да кликнете Регистер.
И приметите да УРЛ адреса има промењен у регистер-0.пхп,
а онда је ово ружно текст овде.
Дао сам не мисли да форматирање овога.
>> Али, оно што је занимљиво је да су три Вредности су очигледно прошао у.
Ово је ПХП је врста еквивалент принтф--
видећемо шта се заправо зове у бит-- да само исписује
шта си прошао у њега.
Дакле, то сугерише да форми имао најмање три поља на њега,
а видели сте да их унети.
Једно је било моје име, један је био Пол, један је био дом.
А капетан није чак ни послати сервер јер нисам то проверили.
>> Дакле, ово је очигледно рећи, приликом предаје ствари на интернету,
Не само да УРЛ понекад цханге-- понекад не.
У ствари, име датотеке промењено, али оно што је одсутно из УРЛ
да смо урадили видимо последњи пут са Гоогле.
Да?
>> СТУДЕНТ: Не Куери стринг
>> ДАВИД Ј. Малан: Нема Куери стринг.
Нема сумње ознака нешто.
Нема сумње ознака К једнако мачке, као што смо урадили прошли пут.
И сигурно нема Име куестион марк једнако
Давид или спаваоница једнако Маттхевс, Па где се то све иде?
>> Па, дозволите ми да се вратим у гедит овде и отвори прва од тих фајлова
у мом вхост, локални домаћин, јавна директоријум овде и иди у фросхим0.
Тако испада да је готово све ове странице је само ХТМЛ.
А ово може бити непознато за вас, али ускоро ће бити више са ПСЕТ 6
и ПСЕТ 7 и 8 ПСЕТ.
Али ово је само ХТМЛ страница.
>> И интересантне ствари изгледа да је овде.
Форма ознака чија се делатност атрибут има вредност регистра 0.
Зато кад сам поднесе ово, то иде на тај фајл.
Али метод је другачији данас-- Пост.
Тако испада барем тамо је два начина на Интернету користе
за слање информација од бровсер на сервер.
Гет ит ставља у УРЛ.
Пост каже на другом месту.
А када и зашто би ти заправо желе сајт
користити Пост онда уместо ухватила, само интуитивно?
Било који сајт.
Какав података треба управо прошли закључивањем сада преко пост насупрот
да се, ако смо видели два разлике?
СТУДЕНТ: [неразумљиво] сецуре.
ДАВИД Ј. Малан: Ако желиш нешто да буде сигуран.
Дакле, можете да откуцате лозинку у сајту, кредитна картица
у вебсите би врста ових субоптимал
Ако прегледач ставити вредност унутар УРЛ.
Зашто?
Ти га видиш, која не Чини се да тако страшно,
али шансе су вам прилично често хода даље од рачунара или коришћењем рачунара
лабораторије, па неко друго или чак цимер
може лако хода горе и види да приватне податке.
Када пошаљете е-маил преко веб, вероватно
Не желим те податке крај у УРЛ и.
И тако је било који број разлога зашто желети да га ставим овде.
И пхотос-- праву, не могу чак ни сасвим замислите како би узети графику,
као ЈПЕГ, и стави га у УРЛ.
Могао си то.
Има начина да кодира, али је само не једноставно тако.
>> Дакле региструјете 0 заправо веома ундервхелминг.
Све пише дословце ово.
Она исписује унутар неке ХТМЛ ознаке следеће.
Имам ПХП ознаку овде смештен унутар једног пре ознаке.
"Пре" само значи пре форматирани текст, једноширински, као писаће машине.
>> Принтр је штампање рекурзивна функција.
А онда је ово Занимљива ствар овде.
И ми ћемо се вратити на ово зато што је друге,
али долар знак ундерсцоре пост изгледа
променљива у ПХП у којој ништа шаљете од претраживача на сервер
се складишти за вас.
Па ћемо видети како да се у та информација пре дуго.
>> Али прво, хајде да се вратимо на мало другачији пример.
Иде у регистер-- или Уместо тога, фросхимс1.пхп,
који изгледа мало другачије.
Узео сам мало напор са форматирање,
иако још увек је прилично ружно.
Али ја ћу ићи напред и укуцајте "Давид" сада.
Мале.
Ми ћемо провјерити "капетана" Овај пут.
Урадићемо Маттхевс.
И региструјте.
>> И овај пут се каже, ХМ, не баш.
У реду, па шта је регистровати 1?
Пусти ме да идем у отворену регистар 1. и-- хм.
У реду, тако да је ово интересантно, и ово
је одскочна даска ка сад више занимљивих програма.
>> Обратите пажњу на врху ове датотеке има ПХП ознака као и неке коментаре.
А ово су, за сада, дистракција па хајде да се отараси тих коментара
баш као да су у Ц и тврдим са овом комаду кода са коментаром
да је ово код потврђивање поднесак.
>> Па, испоставило се да је варијабле попут долара знак
подвући пост аре зове супер ГЛОБАЛС.
Они су овакве Посебне глобалне променљиве
да су само омни-тренутно на располагању у вашем програму.
И можете да користите квадратни држача нотацију индексу у њих не користи бројеве
Лике 0, 1, 2, 3, али је стварна речи.
>> Тако да можете мислити на долар знак наглашавају пост као врста хеш табели
да прођете кључ у, лоокуп реч у-између угластим заградама,
и то ће вас вратити вредност коју корисник стварно обезбеђен.
ПХП има функцију назвао то само празна
каже да или не, ово променљива је празна или не.
Имамо те дупле решетке, који само значи или, као у Ц.
>> Дакле, у ствари, ова линија је само 4 рекавши да корисник није дао име
или не дају род или није даје дому, само напред и преусмеравање га
или она преко ове линије овде.
Дакле, ово је мало загонетан, али то само значи буквално
вратимо на овој локацији, тако да пунтс корисника
Бацк то где год он или она дошао.
Али то је мало неелегантан у томе тешко сам кодирани.
>> Али шта ако је ово ако је услов не оцени да истина?
Шта ако корисник није ми дао своју или њено име и спаваоница и род?
Да ако услов није ће проценити труе,
тако да не погодио излаз у линији 7.
Дакле, шта се дешава?
А то је оно што је занимљиво ПХП.
>> Можете да падне тако и ван од ПХП режима, да се тако изразим.
Ако желите неки код да изврши, можете отворити и затворити ПХП ознаку
и ставио код тамо као да сам овде урадио.
Чим затворите ПХП ознака, сервер
је само да испљунути шта год тамо ставио.
И заиста, то је био део оригинални дизајн ПХП,
за боље за горе, био је ово цомминглинг кода и ознаке
језика.
Па ћемо видети да је ово веома брзо прелази у нереду.
И тако ћемо боље од Ово на крају, али само
приметио лакоћу са којом досадно заиста у стању да изврши неку логику.
>> Али и даље помало ундервхелминг.
Хајде да отворимо верзију два Фросх ИМ, који
очигледно доставља регистер2.пхп.
Дакле, ово је заиста дешава фајл да изгледају готово исто.
Ја ћу да идем на Фросх ИМ 2.
Али у Фросх ИМ 2, хајде да видимо шта ће се десити.
>> Давид, кликните на дугме радио, као То се зове; Маттхевс, не капетане.
Региструјете.
Сте регистровани.
Не баш.
Чекајте, само смо урадили то пример, зар не?
У реду, станд би.
Ми ћемо учинити три.
Јасно је нешто у вези са да се деси са Гмаил.
Ми ћемо тамо.
>> Дакле Фросх Ћаскање 3 изгледа овако.
Не разликује.
Али када ја Дејвид, мушко, Маттхевс, и региструјете, овај трећи и финалну верзију
потраживања, једноставно вас, стварно регистровани.
То је нека врста небитно.
Али ја тврдим ово Трећа и финална верзија
Сада сам поново тачно оно што је мој цимер и ја изградили за Фросх ИМ
пре програм година.
И то је било једноставно.
Није било база података, Но Екцел табелу.
Али што је још важније, више нема папира
јер оно што смо урадили са овим програмом је да се заправо пошаљи Процтор, који је
је претходно пријем ове ствари преко форме.
>> И очигледно смо програмирани ово тако да када неко региструје,
Аццоунт емаилови Јохн Харвард је процтор-- или сам у овом случају,
Јохн Харвард-- са следећим тект-- "Та особа само регистровани."
Име је Дејвид, капитен је празно; Пол, Мале; и спаваоница, Метјуз.
>> Дакле, шта се десило тамо?
Па, датотека у питању овде је очигледно регистер3.пхп.
А ако отворим ово, видећете и снага код овако
и, искрено, несигурност система као што маила.
Управо сам претварао да ефикасно бе Јохн Харвард на следећи начин.
>> Имам отворен пхп ознаку Уп Топ, који само каже ево мало ПХП код.
Овде доле, испада тамо су библиотеке у ПХП.
Само не треба да укључују хеадер филес толико.
Добијате више са Китцхен Синк, да тако кажем.
>> Али овај пут у линији 4, радим Желим да посебну библиотеку која се зове
ПХП Маилер, која је нешто вас могу инсталирати бесплатно у многим системима.
Овде сам валидацију подношење само
увидом ли корисник дао ми име, пол, и спаваоница.
И ако је тако, само напред и инстантиате брошуру.
>> Можете мислити о овоме као линија кода који само додељује.
То је као маллоц, али мало је секси
у да не помињемо само маллоц и неки генерички број.
Ви кажете да ми један од њих, дај ми нову једну од ових.
>> А ако сте у програмиран Јава или Ц ++ или други језици,
можда сте видели.
Али мање од тога, ако непознато, ова линија
ставља у знак доллара маил посебан Струцт зове
објекат који је изграђен у Емаил функционалност.
И у ствари, приметили и слично синтаксе.
>> Ово није показивач, по себи.
ПХП само користи исту синтаксу.
Ова линија говори употреба СМТП-- Симпле Маил Трансфер
Протокол, који је само Протокол који се користи за слање поште.
Ово је наводећи употреба Харварда СМТП сервер, који
је негде овде на кампусу.
>> То је оно што кажу ТЦП број порта да разговара са,
и ја сам мислио да је од стране гооглинг или питате за помоћ.
И онда пошто Харвард користи неки Систем безбедности на маил сервер--
барем за шифрирање саобраћај између вас и њега,
иако свако може послати То-- Идем да укључите ТЛС протокола
за одржавање ове безбедне.
>> Али ово је место где ствари добити мало застрашујуће.
Ја могу само произвољно кажу да сам јхарвард,
а ја могу само произвољно емаил сам овде.
И онда ја могу навести Тема са овом линијом овде.
>> И то само изгледа ружно, али је само гомила сплету.
Испоставило се да ПХП има супер користан симбол, попут неких језика, оператор тачка,
који је само буквално цонцатенатес стринг након низа после низа,
а ви не морате да маллоц или слици од укупне дужине стринга.
Само ти то уради.
И заиста, пошто сам се спајају у свим овим стварима са овим тачака,
зато сам е-маил послао је изгледао као да јесте.
>> И онда на крају овде, шаљем пошту.
Дакле, ако је то лажна, Само ћу да умрем,
што је функција која само отисци на екрану нека порука о грешци.
Али је, у ствари, позивања пошаљи функцију.
У супротном, ако се све ово не успе, То ме преусмерава овамо.
>> И зашто видим да Стварно сам регистрован?
Па, то се догодило овде.
Па сам ово да се за неколико разлога.
>> Један, то је управо како ако градите неки сајт за коначну пројекат
или за стварни свет, ово је Како шаљете е подсетнике
Вашим купцима или својим претплатницима.
Овако шаљете Пассворд Реминдерс.
Овако се шаље људе поруке да имају нову Фацебоок
порука на чекању, или тако нешто.
>> Али је такође говори да чињеница да би то могло
су били веома добро од Давин или било ко други.
И ја кажем ова врста са осмехом, јер сам
сасвим сигуран шта се дешава кроз неколико ваших умова у овом тренутку.
Али ово је један од оних који Уради како сам кажу, не како ја радим такве ствари,
јер је тривијално да форге емаилс овако.
Али, као што сте можда видели или прочитали у Цримсон,
касно то је такође прилично тривијална за људе
да их траг у неком порекла.
И питајте ми мало времена, можда на ЦС50 ручка, како сам први пут
упознао врло пажљиво скоро ЕД боард дугогодишњег
Пре кад сам открио Како интернет радио.
Дакле, у било ком цасе-- благо након ур одбор урадио.
>> Дакле, у сваком случају, постоји гомила супер ГЛОБАЛС,
јер они овде звали, од којих ми сав-- долар знак доњу пост.
Постоји пандан зове Гет, који је место где ствари из УРЛ
завршава иде.
И ту је гомила других, најбоље урадио-- сесија и сервер и Цоокие.
Ми ћемо се вратити на цоокие неки други пут,
али седница је кул јер управо сада-- до сада--
све што смо урадили са интернет претраживача је некако без држављанства, да тако кажем.
Ја могу да кликнете около, Аццесс датотеке на сервер, нешто
дешава на екрану, али је онда веза затвара.
Интернет Екплорер или Фирефок икона заустави окреће
и да видимо шта да веб страница садржи.
>> Дакле, ХТТП је без држављанства у томе Једном чини везу,
добија неке податке, то је то.
Нема више везе, за разлику од Скипе, За разлику од ФацеТиме, за разлику ГЦхат, који
одржава константан веза са сервером.
Веб је у основи искључен, иако ћемо
видети пре дуго колико можемо симулирати ствари
као Фацебоок цхат и ГЦхат, који одржавају иллусион--
или уствари раде одржавање Цонстант веза помоћу
модерније технологије.
>> Али, ако одем у, рецимо, цоунтер.пхп, Ово је још један једноставан пример,
као што ћемо видети, да се тренутно мисли Посетио сам сајт нула време.
Али, ако сам само поново учитате страницу, некако зна да сам био овде пре.
Ако опет релоад, ит зна да сам био овде пре.
И опет и опет и опет и опет.
>> Тако да неки плус-плуссинг догађа, али Нотице
мала ствар се окреће икада тако краткорочна до врха, а онда прекида,
па није да имам сталан веза са мојим апаратом.
Па, ако одем у цоунтер.пхп, приметите како је једноставно.
Први пут сам зовем специјалне функција која Ускоро ћемо
почнете да узимате здраво за готово сазван састанак почетак.
Започнете сесију.
>> И сесија одсада само ће бити канта, као куповину
корпа у којој можете ставити вредности и врста поверења као програмер
да ћемо бити овде када да корисник долази бацк-- секунду
касније, сат касније, чак и годину дана касније, све док он или она не брише
колачиће, као што ћемо видети на крају.
И сада само Ако стање овде.
Дакле, ако у следећем кључу, зове бројач, је постављен у
овог супер глобал-- ову хасх Табле, ако сте вилл-- сазван састанак,
само напред и зграби вредност од сессион-- тхинк
ово као схоппинг царт-- и чувајте га
у привременој променљивој зове бројач.
>> У супротном, ако се та вредност била цоунтер није постављен у тзв куповину,
само инитиализе на 0.
На крају, овде доле, иди и врати у колица за куповину или седнице
вредност контра +1.
Тако испада да је ово специјални контејнер овдје--
што, опет, је један од њих повезан Арраис, низ који можете индекс
у речи уместо нумберс-- опстаје чак и после корисник одлази.
Опет, ја ћу се вратити на страницу сада.
Прошло је минут или тако.
Али се сећа да имам био овде 19 пута раније.
Ово је моја 20. посјета.
>> И то ће бити кључ за уграђивање сајт који памти
да сте пријављени, да сте ставили нешто буквално у корпи
да купите или да имате неки Број порука на чекању.
Кад год желите да запамти информације,
видећемо да ПХП, као неколико других језика,
даје нам ове илузије државе иако, као што ћете видети у ПСЕТ 6,
док правите ХТТП захтеве од клијента до сервера, то је то.
Када се вратиш да одговор, ништа више
враћа са сервера подразумевано.
Али ћемо видети како да раде око тога.
>> Па сад, хајде да покушамо да очистите ово мало.
Видели смо неколико различити примери.
Ох, и као страну, за Познаваоци или упознати,
разлог да Фросх Ћаскање Пример је
гледајући заиста Угли добро слигхтли--,
ипак угли-- на благо мање ружно иако још увек ружна
Јер ако погледамо на изворни код овде,
испоставило се да имам ово на самом врху датотеке.
>> Испало је да је боотстрап је један од многих слободно доступни библиотеке тамо
који постоје не за програмске језике увек, али за ЦСС или ЈаваСцрипт
или ХТМЛ или било који број језика.
>> И ови људи овдје-- првобитно изашао
од Твиттер-- само гомила стилова.
То је огроман фајл овде да је неко написао,
или је неко написао, током времена то наводи боје и форматирање
и шта све не, тако да могу врста позајмљују своје синтаксе
а не морају да схватим Како да постави моју форму.
Ово се такође минифиед тако да компјутер може
разумем, али не нужно људско.
Дакле, то је само због тога стилизација тамо променило.
>> Али, хајде да сад боље у погледу дизајна,
јер ако останемо доле овај пут предуго,
Наш Кодекс ће закомпликовати и Мессиер.
Па хајде да се фокусирају на ове примере.
Ласт за данас.
>> Дакле, овде је супер једноставна верзија 1.0 на сајту ЦС50 је.
Она има само везе са предавања и наставни програм,
и то користи да несређену лису таг-- УЛ ознаку да смо користили у последње време.
И ако, у ствари, ако сам отвори Виев Паге Соурце,
видећете да је ово стварно једноставна ХТМЛ.
И у ствари, иако је ово ПХП фајл испод хаубе,
то је још увек само пљување се само ХТМЛ за сада.
>> Дакле, ако кликнем на предавања, видимо се ово деси.
И ако кликнем на недељу нула, видимо ово.
И ако кликнем на Среда, видимо ово.
И то очигледно било у ПДФ формату од слајдова од тог дана.
Све сам урадио је веза са сидро ознака на ову УРЛ адресу овде.
>> Дакле, то је само да кажем да је ово лепа једноставна верзија сајту ЦС50 је.
Хајде да видимо како се то спроводи.
Ако одем у мвц0 директоријум, видећемо неколико фајлова.
Један је РЕАДМЕ, па ако Нешто од тога је пребрзо,
можете само поке около више лежерно касније.
И обавештење овде је индек.пхп датотека.
Испоставило се да, ако ви сами, људски,
не прецизира коначну име у УРЛ адреса, веб сервер обично
закључује неки подразумевано име за тебе.
Индекс дот нешто је генерално подразумевани.
>> Зато малочас када сам посетио овај УРЛ овде,
без име фајла, без Филе Ектенсион, ниједан период у УРЛ.
То је само знао некако магично тражити индек.пхп.
То је само конвенција.
Се може назвати било шта.
>> Дакле, ако сам сада у индек.пхп, видећете
да, индеед-- хајдемо отарасити коментара
овде, јер заиста постоји ништа занимљиво То--
Ово је само фиксирана ХТМЛ.
Тако да је у складу, Ипак, са мојим захтевом
да можете помешати ХТМЛ и ПХП.
Нема стварни програмирање логику овде.
>> И остали фајлови су прилично колико као незанимљива.
То је само тешко кодирани Веек Оне Овде у недељу један м и недељу један В,
за понедељак и среду.
А онда, ако сам отворим седмице нула, приметити да је скоро идентичан.
>> И то је нека врста кључне понети.
Обратите пажњу колико је то сувишна.
Ови фајлови једва мењају, а ипак сам извукао једну од ових цопи / пасте послова
где сам узео једну филе-- вероватно у недељу је копирао зеро--
када недеље није дошао око, и намештена неколико вредности.
Вероватно би требало да буде у стању да боље од овога.
>> Па хајде да се вратимо до МВЦ и иди у верзији једну.
И приметио имам Неколико фајлова, јер оно
је заједничко за све те фајлове само Тренутак аго-- ако се вратим на верзију 0,
идемо назад у индекс, и само постулате--
Једном сам се ослободи цомментс-- Који део ове странице
је вероватно у сваком од мојих фајлова?
Само зови.
Које линије се дуплирају вероватно кроз све ове странице?
Да?
>> СТУДЕНТ: [неразумљиво].
>> ДАВИД Ј. Малан: 1 до 9.
Да, апсолутно.
1 до 9, осим можда 8 мења мало сљедећих разлога ЦС50
постаје предавања или недеља нула или нешто.
Али готово идентичан.
Дакле, све ове ствари само врсту копирати и преносити.
А ту је и пар Остале линије могу мислити
то су вероватно идентични у свим фајловима.
>> СТУДЕНТ: 12 и 13.
ДАВИД Ј. Малан: Да.
Наравно, 12, 13, и 14 вероватно, само зато занимљивог ствари
се дешава на линијама 11 и 10, тако да се чини.
Па хајде да погледамо верзију 1, која покушава да поправи ово.
У верзији 1. овог ДСЦ екампле-- ћемо објаснити шта значи мвц у тренутак--
ако одем у индекс, некако Изгледа мало збуњујуће сада.
То није баш тако једноставно као и раније.
>> Али када почнете да прочитајте пажљиво, то је
прилично једноставан шта ради.
Очигледно Линија 1 и Линија 8 су замењени
све ствари сте управо идентифиед-- мада само за добру меру,
Оставила сам Улс ту само у случају неког дана није имао списак ствари.
И тако треба је нешто као фунту укључе у Ц. То примерака и пасте
садржај ефикасно овде у овом фајлу.
>> Дакле, у хеадер.пхп, вас као може се закључити из његовог имена,
ће бити заглављу странице.
То је нека врста сироче овде.
Она има само врху да би је, али нема више садржаја у наставку.
>> И ако погледамо фоотер међувремену, који је био други фајл ментионед--
ово је још мање занимљиво, али опет, то је уобичајено за све.
Дакле, ово је подножје.
Ово је заглавље.
Ово је фајл који је мења, па зашто не
покушајте да фактор кроз заједништво са ове две линије овде?
>> Али ми можемо очистити ово се мало даље.
Ја идем напред и отвори верзију два, где
видећемо да постоји нови фајл, хелперс.пхп.
Видећемо шта је то у тренутку.
Идемо у индексу, као полазна тачка као и раније.
>> А сад приметио сам захтева хелперс.пхп, не заглавље или подножје.
Али помагачи је попут хелперс.ц и хелперс.х из ПСЕТ 2
или ПСЕТ 3 давно, када сте заправо се тражи и наћи за ту ПСЕТ,
А да ли све шифру за сортирање и претраживање у посебном фајлу.
То је оно што се овде дешава.
>> И сада ред 3 изгледа мало другачије.
И то је само један ред.
Да би се то још више јасно, само сам могао
ми то бити стилски доследан са свим осталим што смо урадили.
Али то није баш мења функционалност.
То је само једна линија кода правог.
>> Очигледно, ту је функција негде назива рендер заглавље,
а то је место где ствари бити прилично моћна.
Обратите пажњу да се унутар њених заградама Да ли је оно друго парче синтаксе?
Вероватно је мало тешко рећи, али приметио ту је-- ћу ставити мало бело
простор.
Ту је угластим заградама.
>> И угласте заграде смо видели мало пре у контексту асоцијативних низова,
који су, опет, као и хасх табеле.
И ако сад мислите да Ц, Редослед аргумената у функцију
мора увек бити иста.
Морате се сетити шта се ордер је-- Кс, И, З или З, И, к--
и морате да их увек пружи у истом циљу, или погледати их
Ако сте заборавили.
>> Али ово изгледа паметан начин доношења произвољан кеи
парови где назив је име аргумент у овом случају
и ЦС50 је њена вредност.
И чињеница да ја имам ове угласте заграде
овде значи да сам могао проћи у нешто
као веек ис 1 или 0 или 2 или 3.
Тако да смо параметризовани Ова функција на такав начин
да може узети више улаза, али за сада је то само једна.
>> Ако ја идем у хелперс.пхп, приметили шта ради.
Ово је мало нове функционалности,
али за сада само узмите на вери да је ово
синтакса са којом дефинисати функцију у ПХП.
Ви буквално кажете функцију.
Ви не наведете повратак тип, а то је у складу
са променљива детаљ раније где не баш јако тип.
>> То само прецизира да, подразумевано, ова
заузима асоцијативне Арраи као аргумент.
И знате шта?
Уколико корисник не прође један у, претпостављају неку вредност.
>> То је функција која Ц нема за нас, што је лепо, јер сада
Подаци, чак и ако не му дати ништа,
ће бити Арраи али празан.
И као по страни, екстракт Само ради нешто функи
где се узима све од тастера од тхис асоцијативна низ, све ствари
можете ставити у угластим заградама, и ствара варијабле из њих
тако да на крају могу имати приступ њима у фоотет.пхп и хеадер.пхп.
То је мало апстрактно, па дозволите ми да ово.
>> У индек.пхп, приметио да сам пролази у кључном вредности пар наслова
са вредношћу од ЦС50.
Ако сада погледамо хелперс.пхп, приметити да РендерХеадер
је вађење те податке да дајем , а онда захтева хеадер.пхп.
Оно што сам урадио је врста сиромашан човек имплементација сада од следећег.
>> Ако сам отвори хеадер.пхп, Обавештење да имам више тешко
кодирани реч ЦС50 у овом хеадер фајлу.
Ставио сам ово додуше атроциоусли имену функције, ХТМЛ специјалне карактера,
тамо.
Али погледајте шта сам урадио.
Имам отворен ХТМЛ.
Онда имам отворен главе и отворен титулу.
>> А онда унутар наслов је отворен и Затвори тагове, имам мало ПХП кода.
И то је лепо, али синтаксе, који само значи ецхо напоље.
То буквално значи ово-- ехо фолловинг--
али то је секси да пишу.
Ецхо кроз титулу који је донет у.
>> Али, шта мислите ХТМЛ Посебан Чар је све о,
поготово ако имате неки претходно ХТМЛ искуство?
Оно што може бити знакова опасно да прође у на страницу
где се динамички генерише веб страница са кодом овако?
Пусти ме на овом фајлу, верзија два, а видим да не могу изазвати ово.
>> Верзија два је ово.
И приметио све је у реду, добро раде.
Али претпоставимо да одем у индек.пхп и Ја је прецизирао да је назив на моју страницу
није ЦС50.
То је отворен носач скрипта Алерт Хелло Ворлд, близу апостроф,
затвори заграда, зарез, отворен брацкет, коса црта Сцрипт.
>> Сцрипт, као што ћемо на крају види, је ознака
које можете користити за коришћење другог програмски језик зове
ЈаваСцрипт унутар веб странице.
А сада приметите логику овде.
Ево кључ зове наслов.
Ево то је лудо дуг вредност сада.
>> Али, ако одем у помагача паге- односно, страница заглавље,
Зовем ову функцију на први тим насловом.
Дакле, ако сам сада релоад тхис паге, ја видети, који изгледа смешно,
али је сигурно.
То само изгледа глупо.
>> Али, уместо тога претпоставимо Заборавио сам ово.
И запамтите моје речи, нуле број од вас ће заборавити да урадите
а ви ћете добити мало вредан студент или пријатељ долази
вама на сајму ЦС50 или анонимно ноћу гурају око на вашем сајту
и суштински убризгавање код Без знања вама у ваш сајт
некако.
>> Јер ако ја једноставно пљунем од наслова и наслова овде
тамо-- Па, ако наслов дословно изгледа овако и ПХП
као језика који могу да пљунем од других језика текста,
ово буквално иде да замени ову ознаку са,
Наравно, оно што сам ставио на другом месту.
>> Дакле, ако сам сада овде и поново после поништавање те механизме безбедности,
Сада имам здраво свет овде.
Сада то није све тако велика бавити, али можете да урадите нешто
мало злонамеран Овде, као да је
Други тагс-- као што ћемо видети када трошимо више времена у ЈаваСцрипт-- као локацији
дот хреф добија, цитат, Крај цитата, ХТТП бусинесс.цом, али супротно од тога
од другог дан.
А сада можете изазвати мрежу страна у ствари иду одмах
на овој интернет страници овде.
>> И заправо, ја не желим чак иду у бусинесс.цом
јер не желим да знам шта је то.
Али ово, такође, ће покренути код која се убризгава у овој страници.
Дакле, то је само да кажем да иако Уводимо Супер раније на неким
ових сложенијих структура, све је у правцу крај пазећи
да Ваш код није експлоатацију.
>> Тако сада. Трећа верзија овде
Постаје мало одгајивача.
Нисам баш као-- Анални страна мене
био узимајући мало изнервиран Чињеница да сам позвао функција
РендерХеадер и РендерФоотер који су били готово идентични.
Дакле, синуло ми је, зашто не Ја параметеризе ове функције
у само једну зове рендер, однесите га узети други аргумент
као име шаблона, коначни да рендер-- или заглавље или подножје?
И онда евентуално, ако желим да прође у неким кључним вредност паровима
као ја за титулу за главом, али не и за подножја,
Ја могу то да урадим.
>> Па сад ако одем у хелперс.пхп, то је мало сложенија.
И ја ћу да махнем рукама у детаљи, али то је само једна функција.
Дакле, то је корак ка бољем дизајну.
>> Можемо искористити ову корак даље.
Ако одем у мој четврти верзија ове, приметио сада
да радим несто још некако загонетан.
И знам да је ово много да се апсорбују у једном,
али смо некако чишћења ствари.
Сада сам стављајући своје помагаче филе у фолдер који се зове
инцлудес-- само произвољна наме где желим да ставим ствари
које желим да инцлуде-- а затим остатак је то исто.
>> Али, ако сада погледамо у гедит, Обавештење да сам се отарасили
свих тих других фајлова и имам преселио их, на пример, у овде.
А затим у шаблонима, Ја имам ово овде.
И то је све сада ка корак коришћења много бољи дизајн образац.
И ми смо веома брзо прећи у гостима
од подразумеваној функционалности ПХП-а, који смо овде почели са,
где само помешати ПХП, и ХТМЛ, ЦСС и твој,
и само испљунути а ти иди о свом путу.
Неће бити веома одржавати.
Баш као у Ц, почели смо користећи више фајлова и вишеструке функције
и факторинг ствари то.
Ми ћемо учинити исто овде.
И у ствари, у петом и коначни верзију, ја сам још једну ствар.
Можете чак користити Дот, које, Опет, само родитељ директоријум.
Да будем још више сигурности свесни, јер ако погледамо на слушање
овде пету и коначну верзију, обавештења да имам једну директоријум овде назван
јавности, а затим на исти ниво, да тако кажем,
Имам обухвата и шаблоне а затим тај текст фајл реадме.
>> А разлог зашто сам структуиран она овако-- и толико веб
домаћини, посебно оних $ 5 месец они или $ 10 месечно оне,
Ако сте икада имали једну од њих сервицес-- што тако многи од њих
је да су само очекују да бацају од ваших фајлова у један директоријум,
Као што смо већ урадили са ово први пример.
>> Али чим почнете изградњу више софистициране сајтова да само складиште
Подаци које је стало и датотеке које Стало, заправо организовање ствари
правилно и са више сигурности свест у виду може
почнемо да бранимо против свих пријатеља
да ли имате било у или ван ове класе, који,
чим почнете израду Програми себе на вебу,
ће почети брање на тебе и на њих.
>> Па ћемо погледати на крају на овом дизајну.
Ово је само слика који приказује следеће.
Ми ћемо ставити све наше програмирање логику у једној или више датотека,
а ми ћемо само да почне називајући те контролера.
То је место где је мозак Наши сајтови су у ствари.
Онда ћемо имају ставове и погледе
су као једноставан као само посебан филес-- зову шаблоне, често.
Они само имају Естетика моју страницу,
оно што ја желим да погледам страницу као-- бојама и распоредом
и позиције све варијабле.
>> И онда још интересантније да ћемо на крају ћемо доћи до
је модел, који ће бити само реч смо шамар на другим технологијама
да доведемо у слика, као и актуелних база података,
тако да када желите да сачувате информације,
не само пошаљите е-маил на ваш Процтор или сами себи,
Ви заправо сместите у бази података користите неки други језик познат као СКЛ.
И тако ћемо оставити овде данас и покупити са тим у среду
и увести базе података онда.
>> [Мусиц плаиинг]