>> [За възпроизвеждане на музика]
ALLISON BUCHHOLTZ-AU: Добре, всички, добре дошли обратно към раздел.
Надяваме се всичко, което имаше голямо Хелоуин уикенд, или Halloweekend,
както обичам да казвам, всички отпочинали и възстановени.
И за щастие това не е сняг вече.
Това всъщност е слънчево навън.
Бях недвижими щастлив за това.
Не е готов да измъкне моите зимни ботуши.
Надяваме се, pset6 мина доста добре.
>> Ако сте уморени от C, аз съм щастлив да речем, че сте готови с C за сега.
Ние сме напълно премина в уеб програмиране,
така че ще се работи в HTML, PHP, може би малко на JavaScript.
Аз не знам какво следващата седмица pset е, така че не може да гарантира,
Каква е следващата ви pset ще да бъде, но pset тази седмица
е CS50 финансите, което е основно изпълнение на вида на уеб страница
който ви позволява да купуват и продават запасите, и следите от тях.
И това е много готино, защото всички от него се генерира динамично.
Можете да имате различни потребители, които всеки има своя собствена информация,
и ти започваш да бъде прилагането на всички за това.
Това отнема време.
Аз определено мисля, че това е по-лесно от C psets, но това отнема повече време.
Вие учите нов език, PHP, който е много подобен на С,
но, разбира се, ще изисква можете да погледнете нагоре синтаксис и да разберат
как да конвертирате между езиците.
>> Но аз не мисля, че има нещо, супер концептуално трудно за pset.
Това е просто изучаване на нов език и получаване на
през всички тези малки парчета.
Ако вие сте изчели спекулация, това е доста дълъг.
Мисля, че това е като 21 страници, ако си спомням правилно.
Това е дълъг спец.
Така че, ако не сте прочели it-- 22.
32.
>> Wow.
Така че аз бях на разстояние от 50% там.
Така че, 32 страници.
Така че това е дълъг.
Има много парчета, но нито един на парчетата трябва да бъде толкова лошо.
Това е просто много.
Така че определено се започна в началото ако е възможно, по обикновено,
но мисля, че трябва да се чувстват малко по- хубаво от особено psets като
възстанови и преоразмеряване, че са само много трудно да увийте главата си наоколо.
>> Така че с това, ние ще се потопите вътре.
Аз нямам вашия дневен ред плъзнете днес, но ние сме
ще бъде говорим за PHP.
Ще ви се дава вид на интензивен курс по някои неща
че може да искате да знаете за PHP.
Различни синтактични неща, неща, които трябва да внимавате.
Отиваме да се говори малко за SQL.
Само много прости неща там, а след това и MVC
е Model View Controller, който е как pset е създаден,
така че да се разбере как това произведения ще бъдат супер полезни.
Добре.
Така PHP.
Вие, момчета, трябва да са го направили нещо много, много проста
с PHP, което е това дъно нещо тук,
където сте подали някаква форма относно: горе тук, че имаше някакво име, че сте
вход, и бих казал, като здравей, Бен, или здравей, Алисън, и тя ще се появи.
Така че това е всъщност това, което го Трябваше да изглеждаше от вашия pset,
В случай, че момчетата искаха да знаят или не съвсем да го разбера.
>> Но ние имаме тези въпросителни знаци тук, които показват, че това е PHP.
Те го обвиват, и след това htmlspecialcharge, не забравяйте, е просто,
уверете се, че сте в безопасност от всеки луд инжекция атака
или ако някой се опитва да постави луди злонамерени символи
във вашето поле име, то не харесва на вашия сървър или какво ли не.
>> И тогава, ако забележите, този HTML форма има метод на $ _GET, което
ако си спомним нашите свръхглобални от PHP, $ _GET, $ _POST,
ние ще се навлиза в тези в малко.
Но ние знаем, че имаме някакво име тук, че отговаря на името
че ние внесохме.
Така че това е просто нещо като много прост PHP HTML сътрудничество
че вие, момчета имали от pset шест.
>> Но това не го прави наистина отговори какво е PHP.
Очевидно е, че това е език, но ние не сме наистина
говорихме за това в този раздел, така че е малко по-
за това, което всъщност е PHP.
Така че PHP е просто PHP Hypertext Preprocessor.
>> Това е всъщност счита език за програмиране
защото има логика, а ако спомням си, че говорим за HTML,
наричахме език за маркиране срещу език за програмиране, тъй като HTML
е строго модифициране как нещата изглеждат на страницата.
Това е просто промяна на дали нещо не е смел,
или дали това е форма, елемент, или нещо подобно.
Тя не разполага с никаква логика.
Тя не разполага с вериги или условия.
Вие не може да се провери грешка неща.
Вие или ще се покаже неща по определен начин или да поиска неща
от потребителя.
Това е всичко.
>> Така че с PHP, всъщност ни дава възможност да направи всичко на тези по-логични неща,
като валидиране на входа или манипулира по някакъв начин.
Ние можем да го комбинирате с HTML, тъй като ние просто видях в последния си pset и точно сега,
и тя ни позволява да се създаде тези динамични уеб страници.
Така че, ако вие ever-- Аз не знам дали сте били като мен, но в средното училище
те са ни отнеме това IT клас, където ние създадохме само на HTML уеб страници,
и те са статични и кликнете наоколо за други неща, но те никога не са се променили.
>> С динамични такива, каквото можем направите е, като с CS50 финансите,
ти започваш да имат различни потребители.
В зависимост от тези на потребителите предпочитания и какво купувате
или това, което се продава за запасите си,
ти започваш да се покаже различни неща.
Така че, ако има някакъв идентифициране на характеристика
за вашия потребителски използването на този уеб страница, ние можем динамично
да реши какво да се показва за тях.
Това не е едно и също нещо за всеки човек, който, ако ние просто трябваше HTML,
страницата ще бъде една и съща за всеки един човек, който посещава.
PHP ни позволява да персонализирате страници.
>> И тогава ние или да ги поставите в на един и същи файл, който, както е в случая
преди тук видяхме, че имаме HTML всички тук
и след това ние имаме това малко PHP.
Ние можем да направим така, или с CS50 финансите,
ако вие сте погледна files-- и ние трябва да имаме време
да преминете през няколко от тях заедно в края на section-- WE
може да видите как можете да всъщност да ги разделят,
което всъщност е по-добре да направя нещо.
>> So.
Crash разбира се.
Всички бързи простите неща може би трябва да се знае за PHP.
Деклариране на променливи.
Това синьо е малко досадно, но се надяваме, че момчетата могат да го видят.
Ако не, аз ще го напиша на креда борда.
Декларират променливи.
Едно нещо е да знаем, е, че, за разлика от C, PHP е свободно или динамично въвели,
което означава, че не трябва да се разкажа една променлива какъв тип е тя.
Можете просто да кажа някои променлива е равна на каквото и да го искаш,
и ще определи типа на тази променлива в момента се кандидатира за вас.
>> Както ще видите, това може да създаде някои много интересни неща.
Но за повечето цели, трябва не е необходимо да се уточни вида.
Можете и вие да напишете хвърля неща, като обикновено
няма да види, ако искате да го принуди да бъде определен тип,
но не е нужно да.
Тя няма да ти крещя ако просто декларира променлива
и не укажете тип за него.
>> Така че, в случай, че не може да чете this-- Знам, че не е най-добрият.
Мислех, че ще се появи на better-- начина, по който се инициализира всяка променлива е просто
със знака за долар, това, което искате да се нарича,
и след това, което я присвоите.
Така че в този случай, това е около $ Var = 3.
Така че, ако ние някога се използва $ Var някъде, той просто ще
да бъде същото като поставяне 3 там.
OK?
>> Така че, който и да е променлива, просто знака за долар, независимо
искате да се обадите на вашия променлива, и каквото и да го искат да са равни.
Малко по-хладно.
По-малко да пиша за инициализиране променлива, нали?
Това прави ли смисъл за всички?
Само бърз разлика синтаксис между C и PHP.
>> Масивите са много по-хладни в PHP.
Ние можем да им даде ключовете.
Така че начина, по който да се мисли за това е, че, ако някога
Исках да получите достъп до елемент в масив,
ние трябваше да се знае индекс на това, нали?
Така че ние знаем, че с C, ние може да получите достъп до първия елемент
по този масив скоба нула, или ако Искам първият елемент, скоби масив
един.
И ако искаме нещо там, бихме могли просто
трябва да превъртите през, освен ако ние всъщност знаеше индекса.
>> Едно нещо, което е наистина готино с PHP масиви
е, че те са това, което ние наричаме асоциативен.
Така че ние можем да се сдружават някои ключови за някаква стойност,
и ние всъщност става to-- аз ще ви покажа
как можем да използваме това в секунда.
Но в общи линии, ако някога искате да се инициализира масив така,
имате $ масив.
>> Така че, по същия начин, това е просто някои променливи, които ние създаваме.
Това може да се нарече каквото си иска.
Това би могло да бъде $ например.
Просто друга променлива.
Какво го прави масив е скоба синтаксис, който имаме тук.
Точно като нормална C. И ние има някакъв ключ към някаква стойност.
Така key1 отива на стойност 1, key2 две отива на стойност 2.
Тези двойки са разделени с запетая, точно като нормалните масиви.
>> Въпреки това.
Big един.
Keys са задължителни.
Вие не трябва да ги използват.
И ако не, тогава това е просто нормално.
Въпрос?
Или, о.
>> АУДИТОРИЯ: Е, за правото.
Къде е паметта идва от?
Може също така да бъде същото като [Недоловим] и от комина?
Това също така използването на PHP?
Както, когато сме ги обвързване?
>> ALLISON BUCHHOLTZ-AU: С PHP, ние не са склонни
да се притеснявате за това къде ни памет идва от.
Ние не прекарват много време да говори за това,
така че не е наистина нещо което трябва да се притесняваш.
Така че ключовете са задължителни.
По същия начин, ако не искаме да направим този асоциирани,
просто искам нормален масив, където масив нула е първият елемент
и един масив е втори елемент, можете да го направите точно
както бихте направили в C. Имате някои променлива, която ще ви бъде масив,
и тя се равнява на тези скоби тук.
Да.
>> АУДИТОРИЯ: Има ли имат една и съща точка на нотация.
Например, мога да направя като масив ++, и който сочи към втория.
>> ALLISON BUCHHOLTZ-AU: Можете да do-- Е, може да има някои итератор, аз,
което можете да направите и ++ и да направя гама и по същия начин.
Но това е всичко.
Така, както в този случай, масив от 1 би била равна на 20.
Същото нещо индексиране нотация.
Това е основно само косвена нещо тук, където се казва, нула, нула до 10,
1 до 20, 2 до 30.
Тя е само на косвени ключове за него.
Какви промени с PHP е че вие ​​вече имате силата
смяна на предназначението на тези ключове за правите каквото си искате.
>> Така че едно нещо, което е тук.
Така че аз имам само някои примери И ето, че аз написах за вас, момчета
защото аз се чувствам като примери винаги помогне повече, отколкото просто абстрактно.
Така че, в този случай тук, ние има някакъв асоциативен масив
това е първото ми име, последната ми име, и аз
съм ехо, което е просто за всички цели тук
ще отпечата на изхода тук.
>> И той казва, OK.
Печат на стойността, която съответства на масив в ключов Алисън.
И мога да ви изпрати момчета всичко това код след клас.
Така че, когато ще свършим това, което правя мислите, че ще се случи?
Какво се случва, за да отпечатате?
АУДИТОРИЯ: Последното ви име.
ALLISON BUCHHOLTZ-AU: Последното ми име.
Това е така.
Точно тук.
Разпечатайте.
Така че, ако трябва да се промени това и ние бяха да добавите някой друг да ни list--
Така че нека да кажем, че имаме Emma тук, и ние свързваме последната си name--
Да видим дали съм правописа това право.
>> АУДИТОРИЯ: Да.
>> ALLISON BUCHHOLTZ-AU: Да.
>> АУДИТОРИЯ: Добра работа.
>> ALLISON BUCHHOLTZ-AU: Lovely.
Така че сега, ако имаме тази тук и ние искахме да намерим фамилното си име,
го има там.
Така че можете просто да мисля за него за замяна на този ключов тук.
Вие сте просто замяна на индекса.
Така че ви позволява да просто търсене чрез масив много по-лесно.
Не е нужно да знаете индекса.
Докато този ключ, който търсите за съществува някъде в масива,
PHP ще го намери и ще се върне стойността, свързана с него.
Така че това дава много по- мощност с вашите редици.
Да.
>> АУДИТОРИЯ: Ако имате две ключове същото, ще ви даде грешка?
ALLISON BUCHHOLTZ-AU: Тя трябва да ви даде грешка, да.
Това прави малко повече смисъл за вас, момчета?
И по същия начин, ние имаме масив И ето, че няма никакви бутони.
Също така това е синтаксис че може да искате
да е наясно, защото ще трябва да използвате това в pset.
>> Всеки път, когато правиш едно ехо, имате тези цитати,
и всеки път, когато имате предвид до част от масив,
трябва да имаш тези фигурни скоби около тях.
Това е нещо досадно, но просто трябва да го направя.
Така че просто нещо да се има предвид.
Ако работите в грешки, Знам, че това съществува в моя масив
но това е хвърляне на грешки при мен, опитайте да сложите скоби около него
и тя трябва да работи.
>> Така че в този случай тук, това е нормално C масив, който сме свикнали.
Разполага с три, пет и шест, а ние просто искате да разпечатате на първия елемент,
така че това трябва да отпечатате три.
И аз съм тичал всичко това, така че надявам се нищо не се промени.
Ние виждаме в дъното тук, тя просто отпечатва три.
Cool.
, Които имат смисъл за всички?
Асоциативните масиви.
Много по-хладна от нормални масиви.
>> Това е why-- Знаете David ви покажа изпълнението на PHP на pset6
по време на лекция на всички?
OK.
Така че, аз ще ви покажа.
Аз не го познавам извън t--
>> АУДИТОРИЯ: Той направи миналата седмица.
>> ALLISON BUCHHOLTZ-AU: миналата седмица ли беше?
>> АУДИТОРИЯ: Да.
>> ALLISON BUCHHOLTZ-AU: Да.
Така правопис може да се направи в подобни шест линии с PHP, както и част от силата на тази
е този асоциативен масив, където може просто да се зареди всяка дума,
и вие трябва да го равна на вярно или невярно.
И така може да се каже, о.
Назад речник на някои думи, и ако тя е там, тя ще се върне вярно.
В противен случай, той няма да намери нея и тя ще се върне фалшиви.
Така вид на хладно малко нещо.
>> Добре.
Така че тези, които са асоциативни масиви.
Те са много готино.
Аз наистина ги харесвам.
И очевидно this-- Ah.
OK.
Сега тя работи.
Може би.
OK.
Друго нещо.
Така че, с равенство, просто Готино е да се има предвид.
С PHP, защото тя е динамично въвели,
типът може да се променя в зависимост от това кога можете да го ползвате, как сте го изпълняват.
Аз всъщност има някои готини примери, които аз ще ви покажа момчета.
>> Но == просто проверява за равенство след тип жонглиране.
Така че, ако имате нещо, което е като характер 1 и номер 1,
PHP ще ви кажа, че тези, които са равни, тъй като
може да жонглирам видове на два от тях, докато не е равен,
които може би за вашия случай е добре.
>> Ако имате нужда да се види дали те са същия вид и стойност на един и същи вид,
Искате ли тази ===.
И аз не мисля, че имате някаква случай, когато ви се наложи да използвате, че
в pset, но за много от вас, които ще отидат, за да направите уеб страници
за вашите окончателните проекти и неща, това е е добре да се знае, че == и ===
са различни, и това е добра разграничение да се разбере.
>> OK.
So.
Foreach примки.
Те са начин да се обхождане чрез масив.
Така че, просто искал масиви станаха толкова топло в PHP,
пътя си, за да превъртате чрез масив, мисля,
също става много по-хладно и много по-мощен.
Така че, вместо да се налага да се създаде някои, защото е равна на 0 и всичко,
и след това се актуализира, че аз като ти мине през,
имаме тази страхотна foreach цикъл.
>> Така че тук е стандартната генералът структура на тези две.
Така че или трябва foreach някои масив като стойността, която искате да превъртите като.
Така че това е името на масива променлива, която искате да справки,
и това е, което искате да го наричат ​​в рамките на цикъла.
OK?
Така че това съответства на всеки елемент на масива,
и да използвате тази стойност в рамките на този цикъл.
>> Имам един пример.
Знам, примери за това са толкова много по-добре.
И така, това е, ако има не ключове, така че това е като
ако просто има един където ключовете са нормални показатели за вашия масив.
Или това е в случай, ако имате никаква полза за ключовете.
Ако не ви е грижа за ключове и просто
искате да превъртите през с ценностите за всеки един от тези, в какъвто ред,
това е добре.
>> Можете да използвате структурата.
В противен случай, ако има ключове, нашата $ Стойност само се променя на $ ключова стойност.
Така че просто се променя на двойка ключове стойност.
И тогава може да се отнася до $ ключ и $ стойност в рамките на нашата линия.
OK?
So.
Пример.
Направете го по-хубав.
OK.
>> Така че ние имаме това тук, които имаме някои
are-- Можете също така да създаде масив като този
от с някои променлива равен до масив с скоби,
или просто да се направи скоба.
Трябва да се направи скоба, но Това е друг начин да го направя.
Така че тук имаме някои масив на три елементи на една, две, и три,
и ние имаме foreach.
>> Забележете, това съответства на масив, който ние сме итерации над,
и това е, което ние се обаждате всяко нещо в нашия масив.
И всичко това се прави, е, че е ще разпечатате всяка стойност.
Така че, ако ние го изпълним, ние забелязваме, че ние има стойност едно, две стойност, стойност на три.
>> И по същия начин, по който обикновено масиви трябва да бъде от един вид,
масиви не са за всички да бъде един и същ вид тук.
Така че сега ние имаме някои Int.
Имаме две струни.
Така си масиви може получите много по-мощен
а може би и по-малко малко объркана, в зависимост
по начина, по който искате да го погледнете.
Така че ние можем да променим това какъвто и да е, което искаме.
Ние използваме стойност.
Това е просто стандартна нещо, което използвате.
Но, просто е важно да знаем, че можем да наричаме това като брояч, ако искахме.
И толкова дълго, тъй като те съвпадат, Очевидно всички са щастливи.
Ако някога искате да стартирате PHP тече нещо като тази команда
Онлайн ли, че тази тук, просто направи PHP,
и след това каквото и файла, който искате да изпълните.
>> Така че, ако искате да се забъркваш с около с PHP, и по логиката
и наистина не трябва да се виж като в уеб браузъра,
може просто да го пуснете в командния ред като че
и ехо ще отпечата на каквото искате.
OK.
Другият начин, по който ние имаме, е по този начин.
Така че това е случай, в който може би искате да се използва както на ключа и стойността,
Знам, че те са като супер измислени примери
но се надявам те да че е малко по-ясно.
Така че тук имаме някои масив отново, но този път,
вместо просто като Знаете ли, че няма ключ.
Имаме ключове за всеки от тях.
Така че е ще бъде един, б ще съответства два, и в ще съответства на три.
И в този случай, ако ние го по този начин, пише,
ние имаме достъп до двете ключови и стойност за всеки от тях.
>> Така че, когато стартирате тази, ние получаваме всеки от тях.
Така че това отпечатва нашите ключове и съответните стойности.
Друго готино нещо е, че и аз знам, каза като този човек не е имал ключове,
но винаги по подразбиране е ключ, защото ако не се делегира
ключ, разбира се, си ключове са само вашите индекси
или индекси, така че ние може винаги да правите това.
Подобно на това.
Аз ще разпечатате.
Така че в този случай, ако забележите, ние имаме нашите имплицитни ключове
на нула, едно, две и тук.
>> И по същия начин, с това, винаги можете просто да кажа R като стойност,
и просто да имат достъп до тази стойност.
Не ми пука за вашето ключове, дори ако има ключове,
ако не ви е грижа за тях, не е задължително
трябва да ги сложите в foreach цикъл.
Ли, че има смисъл за всички?
>> АУДИТОРИЯ: Може ли само обадете ключовете, твърде?
ALLISON BUCHHOLTZ-AU: Да ви би могло напълно да се направи това.
Всъщност, чакай.
Дръж се.
ще it-- No.
Ако искате, след това което трябва да направите ключ за стойност.
АУДИТОРИЯ: Добавяне на стойност.
ALLISON BUCHHOLTZ-AU: Да.
А ти просто никога не използвайте стойност е всичко.
>> АУДИТОРИЯ: OK.
ALLISON BUCHHOLTZ-AU: Ако просто сложи едно нещо там,
това ще приемем, че сте говорим за стойността, а не ключ.
Голям въпрос.
Добре.
Cool.
Всъщност, дръж се.
Нека да видим това, което имам.
Така че, преди да навлезем в пост и да, аз Просто искам да ви покажа момчета малко
за това как тя е динамично напечатани, което е готино.
Имам всичко това.
Имам като четири примера тук, и аз ще ви изпратя всичко това код
след края на тренировката.
>> Така че тук имаме някаква променлива.
Това е просто едно плюс едно, нали?
И ние отиваме да отпечатате това, което е, че равна на, и след това ние имаме някакъв вид.
И някой има някакви предположения за това, което пишете, че ще бъде?
>> АУДИТОРИЯ: An Int.
>> ALLISON BUCHHOLTZ-AU: Да, това е едно цяло число.
Така че просто ги сумира.
Това е инт.
Всичко добро.
Така че следващия един, ние имаме това, което изглежда като струни.
Когато стартирате тази, тя мисли, о.
Ти всъщност се опитва просто да добавите неща.
Ти просто се обърках.
Така че аз съм просто ще го оправи за вас.
Можете разбира Int.
Знам, че имате предвид Int.
>> Така че това е един от начините, по които може да виж, PHP има ум от само себе си.
Въпреки, че ние категорично заяви, Виж, тези хора са струни.
Искам да кажа на един низ.
Но той казва, о, но вие се опитвате да ги добавите,
така че трябва да означава, че е цяло число.
Просто повярвай ми по този въпрос.
Така тя казва, че е цяло число, и ги добавя като нормално.
Така че един вид се охлади, ако ти започваш за да получите мързелив с вашите неща,
или искате да добавите нещо.
>> А голямо нещо е, че ако мислите, че обратно към pset2,
нещо, което е на потребителя въведена, надясно, че ние мислим,
е знак или низ на първо време.
Сега не е нужно да бъдат изрично кажа, о, да направи това за инт.
PHP просто ще бъде като, о, да.
Знам, че означава едно цяло число.
Глупаво вас.
Не исках низ.
>> Така че в този случай, сега че ние имаме това, какво
Мислите ли, че това ще правя тук?
Ние имаме низ и инт сега.
>> АУДИТОРИЯ: Това е още една инт.
>> ALLISON BUCHHOLTZ-AU: Това е още една инт.
И причината is-- ще сложа повече примери, но това е забавно.
Причината, поради която го прави е защото това е като да се опитваш да добавите неща.
Така че, ако се опитвате да добавите неща, аз отивам да се предположи,
разумно, имате нещо разумен, че можете да добавите.
Аз съм просто ще го направи едно цяло число, и ние просто няма да го добавите, както обикновено.
И след това по същия начин, аз мисля, че вие, момчета, схванахте идеята.
Ние също имаме този тук, който е просто овъгли, и го прави едно и също нещо.
Това е като, вие глупави потребител.
Знаете ли, че искате Int.
>> АУДИТОРИЯ: Ако сложим писмо, ще го направи [недоловим] стойност или не?
ALLISON BUCHHOLTZ-AU: О, това е добър въпрос.
Нека да видим.
Не, все още е инт.
Така че е малко луд.
Това е просто вид да ви покажа PHP понякога може да се държи в irrational-- Не
напълно ирационално, но тя може да се държи по начин, който наистина не очакват.
Така че, когато имате съмнения, проверете видовете неща.
Тази функция gettype може да бъде супер полезно.
>> Обикновено, ако правиш нещо с плюсовете или някакви математически оператори,
тя ще поеме всичко разумно е само едно цяло число.
Така че, имате Чар 1, или низ 1, или действителното INT 1,
то се случва да се предположи, че.
Ако искате да typecast нещо, сте напълно възможно.
Може да се направи нещо подобно удвои тук, аз вярвам.
И в този случай, тя ще каже, о.
Ще направя това двойно, защото Вие изрично каза, че е двойна.
Можете винаги изрично направи PHP направя нещо, но.
>> АУДИТОРИЯ: Чакай, защо е плюс 1 там?
>> ALLISON BUCHHOLTZ-AU: О.
Има.
Това беше просто ехо.
Това беше по моя вина.
Така че, можете да изрично да каже да направи нещо на даден тип,
но по-голямата част от времето, тя ще динамично да реши, че по време на изпълнение.
Така че това ще продължи да функционира през и това ще бъде така, OK.
Това, което прави най- чувство за това, за да бъде?
В случай, че действително да бъде низ?
В случай че е едно цяло число?
В случай че е с плаваща запетая?
В случай че е двойно?
И тя ще реши, че за вас.
>> Можете да го принуди да направи това, което искате, but--
>> АУДИТОРИЯ: Това прави ли го по-бавно?
ALLISON BUCHHOLTZ-AU: Е, Искам да кажа, C е много ефективен.
Мисля, че това определено е по-бавно, защото тя има за процеса, тъй като се случва.
C, аз съм почти сигурен, е по-бързо.
Но очевидно има много готини неща тук
че ние не трябва да се притесняваш.
Така че, ако ние сме търсене чрез масив, ние
не е нужно да се създаде действително някои търсене чрез масив.
Ние можем просто да попитам за ключа и PHP ще се грижи за него.
>> Cool.
Awesome.
Изглежда, че до края на моите примери.
Вие, момчета, никога няма да забравяме, че сега.
Ти започваш да бъде като, о, PHP е просто като тази майка, който е като не, не, не.
Знам какво искаш да кажеш.
Знам, че това, което искате.
OK.
Така че това е, надявам се, полезен за вашето pset, поне в самото начало,
защото вие всички сте за справяне с форми и неща от потребителя.
>> Така че има два начина, че Заобикаля информация с PHP и HTML
когато сме преминаване между тези две неща.
Така че ние имаме $ _GET, която се предава чрез URL, и ние имаме $ _POST,
която се предава в съобщението тяло, и така считаме скрита.
Но едно нещо е да се разбере, че нито един от тях се считат за сигурни.
>> Ако има някой, който е прихващане на съобщения ще
назад и напред между вас и сървър, те все още могат да получат тази информация.
Те просто трябва да изглежда малко по-трудно.
Това не е наистина that-- е просто скрит от URL.
Тя все още е в тялото на съобщението, все пак, така че ако те имат достъп до тази,
това е наистина само like--
>> То е като разликата между нещо
се изписва от външната страна на плик и нещо същество
написано на лист хартия вътре.
Това не е толкова трудно да се отвори плика и да получите парче хартия вътре.
Разбира се, че ще бъде много по-лесно просто прочетете отвън.
Но това е, как можете да вид мисля за тях.
Нито едно от тези са наистина смята сигурна.
OK?
>> Разбира се, не наистина значение за вашия pset
защото не се занимават с търговски тайни,
но това е обикновено един нещо, което ние наистина
искал да подчертая, защото хората мисля, ох, добре, това е скрита.
Тя трябва да бъде супер сигурна.
Не.
Тя не е сигурна.
Това е просто малко по- малко несигурен, предполагам.
Или незащитен.
>> Така че ние всъщност имаме един пример.
Както знаете, аз обичам научи повече с примери.
Имам чувството, че това помага по-добре.
Така че, ние имаме някаква проста форма тук което всъщност, ако вие се някога
Объркани за PHP, това е наистина малка,
но php.net е всъщност наистина добра документация.
Аз наистина го харесвам.
Бях го използвате, за да се подготви за това раздел, така че мога ветеринар го за вас.
>> Това е пример от тях за това как $ _POST и $ _GET работа.
Единствената разлика между две от тях
освен когато информацията показва, дали тя е в URL адреса
или в тялото, е също което методът е.
Така че във формуляра за HTML-- Това е много проста HTML форма.
Може ли някой да ми каже какво прави той?
АУДИТОРИЯ: Попитайте за вашето име и възраст.
ALLISON BUCHHOLTZ-AU: Точно така.
Така че ние имаме някои действия форма.
Това ни позволява да знаем, че е някакъв акт форма.
И какво ще се случи е, когато удари Знаете,
тя ще се обади action.php, което е, какво е това,
и то се случва да го наречем с начин на $ _POST.
Така че в този случай, вашият информация е скрита.
и това е само името си, някои тип вход нарече някои възраст,
вход тип = "текст", че ние също наричаме възраст.
И след това, ако ударим Знаете, Подайте ще призове action.php.
>> Така че, когато ние действително удари Знаете, ние Знам, че го е написал, само по себе си,
и ние действително ще видите това в проблем определя, че се надяваме, че ние ще
се да преминете през малко.
И всичко това прави тук е POST някои свръхглобална променлива
че ние говорихме за по време на лекцията.
И как можеш да се сетиш за $ _POST е че това е просто един асоциативен масив.
OK?
Така че това е някакъв ключ, това е някакъв ключ, и каквото и
на входа на потребителя става стойност за всеки от тях.
OK?
>> Така че, ако бяхме да пиша това, което този масив всъщност изглеждаше като веднага след ние
представено под формата, ние ще има, това е нашата $ _POST,
и някои масив, в който имаме някакво име.
Нека просто кажем, че ще направя моето име, и след това ние имаме някаква възраст, 21.
Woo.
Така че това е всичко, $ _POST е. $ _POST е само един асоциативен масив, OK?
>> Той просто казва, OK.
Кои са нещата, с които сме се поиска от потребителя?
Какви са променливи че ние сме преминаване около
че сме поискали в тази форма?
И тогава какви са ценности, свързани с това?
Така че в този случай, ако тя е представила с името на Али и на възраст от 21 г.
това е, което $ _POST изглежда.
OK?
И това е, което тази PHP файл има достъп.
Добре?
>> Така че в този случай, това е точно като получаване на всяко друго нещо от нашия масив.
Вместо на индекс в нашата масив, имаме някакъв ключ.
Така че това ще даде ме стойността на име на ключ.
Така че това ще бъде Ally, и Това право тук се случва да ми даде
стойността на $ _POST при които ключ е възраст, която ще бъде 21.
Ти започваш да бъде прави това доста малко.
Да, от коя част?
>> АУДИТОРИЯ: Когато бяхте сочейки към долната част.
ALLISON BUCHHOLTZ-AU: Тази долна част?
OK.
Така че, вие разбирате това е нашата HTML образува, и ние имаме някои метод $ _POST,
което има значение.
Това също може да бъде $ _GET, но за тази цел,
ние просто ще кажа, че е $ _POST.
Когато се подава тази форма, това е част от файл, PHP, че се нарича.
Така че това PHP файл сега ще се изпълни предоставяне на информацията от нашия HTML
форма.
>> Така че това, което прави е, че когато ние удари Пуснете на нашата HTML форма,
това е предаването на тази свръхглобална, който е само на асоциативен масив.
Тя е това.
Това е точно като мимоходом, че към преписката.
И това, което тя казва, е, добре, тук е $ _POST.
Това е вашата асоциативен масив.
Направи го с това, което искате.
И казвате, OK.
Дай ми стойността на име, и ми даде стойност на възрастта.
>> Така че това са само ключове, и това е нашата масив.
Ли, че има смисъл?
>> АУДИТОРИЯ: Mhmm.
ALLISON BUCHHOLTZ-AU: Awesome.
АУДИТОРИЯ: Ако трябва да се постави отново на форма пък просто напишете върху данните?
ALLISON BUCHHOLTZ-AU: Да.
Mhmm?
>> АУДИТОРИЯ: Защо имате да се уточни, че това е едно цяло число?
>> ALLISON BUCHHOLTZ-AU: В този случай, потребителят просто го принуждава да бъде Int.
>> АУДИТОРИЯ: OK.
ALLISON BUCHHOLTZ-AU: Аз не знам ако вие всъщност ще се нуждаем от това,
но за техните цели, те решиха че искат тя да бъде едно цяло число.
Те просто го освободи от стереотипа.
Може би те са го използват като нещо друго, по-късно.
Това е само един фрагмент.
Да?
>> АУДИТОРИЯ: Какво става, ако те въвели 12, T-W-E-L-V-E, за възрастта?
ALLISON BUCHHOLTZ-AU: Ако те Опитах се да пишете, че като едно цяло число?
АУДИТОРИЯ: Да.
ALLISON BUCHHOLTZ-AU: I забравя какво прави това.
Мисля, че може да се опита да конвертирате първият символ на INT,
или да вземе стойността и конвертирате това, но аз забравям какво точно.
Бъдете нещо забавно да пиша програма и се опитайте.
Направете няколко линии.
ОК, така че това е една от основните неща, които вие ще трябва да се правят.
Отивам да се надяваме, че ходи през няколко от файловете
от pset с вас, момчета.
Тя изглежда като отиваме да има време, така че можем да направим това.
>> Но ти започваш да бъде прави много неща
като това, където сте, минаваща неща от една HTML форма
в този PHP форма, която след това ще изпълни някои набор от инструкции
на данните, които се предоставят.
Това е буквално на същността на вашата pset.
Да.
>> АУДИТОРИЯ: Видът = "внася", че прави бутон на HTML форма.
Има ли начин да се обадя този бутон нещо?
Така че ще ви бъде като име = "представя"?
Или този бутон просто ще бъде изпразните точно сега, защото само
той даде вид, а не име.
>> ALLISON BUCHHOLTZ-AU: Мисля, че това е Просто щеше да бъде празна в момента.
Определено може да се погледне в pset, защото ние определено ще
се търсят в регистрирайте се такива неща.
Но да, определено може да се уточни текста, който искате за вашия бутон.
ОК, така че SQL.
>> Когато сте закупуване и продажба на акции, трябва да следим тези.
Така че начина, по който започваш да се направи това е с SQL, който е само на база данни.
Мислете за това като таблица, в която сте водене цялата тази информация
за вашите различни потребители.
И вие всъщност са ще създаде една от тях.
Това е много готино.
>> И има само четири основни неща че вие ​​трябва да знаете за този pset,
и те са актуализация, така че основно актуализиране на данните.
Това предполага, че тя вече е там.
Ако не е там, то се случва да ви удари с една грешка,
така че може би искате да проверите.
И вие ще се актуализира on-- I трябва actually- имам време,
Аз ще напиша няколко от тях.
Аз всъщност ще ви дам момчета за Няколко проба, пълни SQL команди,
защото това са само основните такива, но можете да ги присъединят заедно.
Така че аз ще направя това и аз ще изпратя че към вас с тези бележки.
>> Така че, ако искате да актуализирате нещо, трябва да го кажа, това, което се актуализира
и къде сте го актуализирате.
Така типичен SQL команда ще бъде актуализация ID, където нещо се равнява на нещо.
Или като актуализация адрес където ID в размер на 3,
и това ще се актуализира полето за адрес на вашия потребител, който има ID на три.
OK?
>> Така че, ако отидете на SQL и W3Schools, те имат страхотни примери.
Всъщност, аз може да дръпнете някои в по-малко.
И след това поставете в, вие сте просто вмъкване на определени ценности там.
Така че, ако се опитвате да се създаде някаква нова влизане, така че да се създаде нов потребител,
бихте могли да направите вложка в Каквото и да е база данни, се нарича,
и вие ще имате всички тези ценности.
>> След това трябва да изберете, изберете стойности, за да видите.
Така че, ако се опитвате да се провери, за да виж, ако даден потребител съществува или сте
опитвайки се да вземете специфичен информация за потребителя
ти започваш да използвате изберете.
И след това да изтриете, мисля, е доста проста там.
Вие сте просто изтриване нещо от масата.
И в действителност, нека всъщност дръпнете някои примери за вас, момчета.
О, виж, това е моята 61 страница.
>> Така че, ако се върнем към W3Schools, се надяваме, че отново става.
Да, обичам го.
Ходим на SQL.
Така че, това е нещо, което тук.
Така че, това е един много прост SELECT.
Човече, аз обичам тази функция.
Така че, можете да имате SELECT някои области от клиенти.
В този случай, клиентите се отнася до онлайн база данни, че използвате,
Затова, независимо от вашата трапеза се нарича, и звезден просто означава, изберете всичко.
Дай ми всеки един.
>> Така че, аз просто искам да ви дам момчета за Няколко примера за това, къде е това.
Така че ние имаме SELECT, UPDATE.
Така че тук е един вид обща синтаксис.
Така че актуализацията, каквото си име на таблица е, и след това задайте
е мястото, където вие всъщност ще да бъде това, данните, които се променяш.
Така че това би могло да be-- Let ми даде пример тук.
Така че това ще be--
>> OK.
Така че съм създал малко данни за нас.
Отиваме да има някакъв ID, някои години, а някои назован.
Така ID един ще бъде '15 година, и ние просто ще го направи с мен.
Кой иска да бъде втори човек в нашата маса?
Всеки.
Аз съм просто ще изберете Emma защото бързо си име.
Ема, коя година сте?
>> АУДИТОРИЯ: Коя година?
>> ALLISON BUCHHOLTZ-AU: Да.
>> АУДИТОРИЯ: 16.
ALLISON BUCHHOLTZ-AU: 16.
Вие просто ще бъде ми морско свинче за днес.
ОК, така че ние имаме тези двама души.
Всъщност, нека да направим това.
Да кажем, че я чух погрешно, и аз всъщност каза, че тя е една година по-млад.
Тя е 17.
Това, което искаме да направим тук, ако ние Исках да се актуализират година Ема
да бъде правилно използване, че това, което ние ще направите, е, че ще каже на данни UPDATE тук.
>> И всичко това може да бъде на една линия, но тъй като аз съм компресиран за място тук,
Отивам да пиша тук.
И ние искаме да се създаде.
Така че това е на масата сме актуализиране.
SET ще бъде това, колона или какви данни са всъщност променя.
Това, което се променя, е години, така че ние ще кажем SET година = 16,
и тогава къде ни казва кой потребител или какъв ред са всъщност актуализиране.
>> Е, къде?
Имаме две възможности тук.
Какви са двете?
Те са уникални, нали?
Така че нашите имена са уникални и нашата ID е уникален,
Така че какви са двата варианта къде бихме могли да направим това?
Ще ви дам един.
Можем да го направим КЪДЕ ID = 2, или бихме могли да направим това, което
ако ще изключите тази парадигма тук.
>> АУДИТОРИЯ: [недоловим].
ALLISON BUCHHOLTZ-AU: Точно така.
Така че бихме могли да направим име = Ема.
И нито един от тях ще работи.
И ние се завтече това, че ще бъде така, OK.
Ние ще го промени.
Вие сте всъщност 16, така че сега вие сте прав отново.
ОК, така че това ще бъде супер полезно в pset
където може би някой реши да купи 100 акции на Apple,
и след това те бяха като просто се шегувам.
Искам само 90 акции.
И така, те се продават като 10 от тях, така че трябва да се актуализира размера на запасите
че те имат.
Така че, актуализиране запаси, актуализиране на маса.
>> OK.
Така че това е един пример там.
Ето синтаксиса на актуализация.
Изтриете.
О.
Поставете в е другия ни един.
Така че, това тук е много подобно.
Бихме могли само да кажа, в този случай нека добавим някого.
Можем да добавим Бен и този път.
Ние INSERT INTO, и ние Искам името на нашата маса.
В този случай това е данни.
>> И тогава ние просто искаме, ти започваш да се казват, ценности, и това, което ще направя
е, всъщност трябва да се уверите, че имате нещо за всеки ред
който искате.
Можете просто да ги сложи в ред.
Така че в този случай, ние ще кажем 3.
Ти си на 18, нали Бен?
>> АУДИТОРИЯ: 19.
ALLISON BUCHHOLTZ-AU: 19?
АУДИТОРИЯ: 19.
ALLISON BUCHHOLTZ-AU: Вашият година '19?
Вие се дипломират в '18, нали?
АУДИТОРИЯ: О.
ALLISON BUCHHOLTZ-AU: Graduation година.
АУДИТОРИЯ: OK.
ALLISON BUCHHOLTZ-AU: Аз бях като, вие сте
вече планира да вземе година почивка тук?
Така че, '18, имаме Бен.
Така че в този случай, това ще преминем, това ще създаде нов запис тук.
Cool.
Не е толкова зле, нали?
Голяма част от това ще бъде синтаксис за вас, момчета.
Концепции трябва да дойде, Надяваме се, че сравнително лесно.
Синтаксисът е единственото нещо, че може да бъде малко трудно.
>> И след последната ни един е Изтриете, и щом забележите,
Аз силно препоръчвам този сайт.
Това е страхотно.
Има един тон на неща.
Така че, по същия начин, по който трябваше някои UPDATE, DELETE е много подобна.
Вместо това ние сме Изтрий от данни.
Така че в този случай последната ни един ще пиша тук.
Да кажем, че искаше да ме изтриете.
Не мога да пиша днес.
Изтрий от каквото и маса сме в данните.
И всъщност има три начина ние може да избере да ме изтриете.
>> Може ли вие да ми кажете какво тримата начини, как бихте могли да ме изтриете?
ID равен на 1, където ID равен на 1.
Можем да го направим, когато година се равнява на 15, или когато името равнява Алисън.
разбира се, има само са три различни начина,
тъй като всички те са уникални.
Обикновено в таблицата, и особено в pset,
ти започваш да зададете един от тези колони, за да бъдат уникални.
>> Това вероятно ще бъде някакъв уникален идентификатор номер, защото ако have-- всъщност,
всъщност може да имате две.
Аз не мога да си спомня, ако това ще позволи имате две на едно и също нещо.
>> АУДИТОРИЯ: то би променят поведението си.
>> ALLISON BUCHHOLTZ-AU: Това би.
Това ще доведе до поведение, което е неочаквано, че вие ​​наистина не може да се предскаже.
Така че със сигурност ще има една колона във вашата база данни, която ще бъде уникален,
и това е обикновено можете да настроите нея, така че това е като уникален идентификатор,
и то просто ще се актуализира всеки път, когато вмъкнете в таблицата.
Всеки път, когато създавате нова ред, той автоматично ще
прираста и да му дадете някои уникални ID.
Така намек за pset.
OK.
Така че това е SQL.
>> Така че сега отиваме да се говори за много последното нещо, с което се доближава
всъщност е доста добре с вашия pset, ако това ще върви напред.
Така MVC модел оглед контролер.
Това е наистина само един начин да пазят нещата, организирани.
По същия начин с C ви попитам момчета за създаване на функции и различни неща
, това е просто начин да се отделят код, когато правиш уеб програмиране.
>> Така че това прави нещата много по- по-елегантен и опростен,
и това е всъщност начин че си pset е всъщност
създаден, така че независимо дали ви харесва или не, ти започваш да го научат,
дори и да не мисля, че сте го изучават.
И едно нещо е, тя също така ви позволява да направи много повече като потребител сътрудничество.
>> Така че, когато взех CS50, Направих сайт за последния ми проект,
и аз бях като, аз ще се справят неща на базата данни.
Ще направя задния край неща, и ми съквартирант, който бях като с него
беше много артистична.
Тя прави сценография и тя Исках да направя всичко това доста.
Така че аз съм като OK.
Можете да се грижи за всички предния край неща.
>> И това нещо е, както ние ще видим много скоро,
този модел оглед контролер ви позволява напълно отделят този код така
че бих могъл да работя за прилагане на нашите страници,
и манипулиране на информация в нашите бази данни,
и тя може просто да направи нещата доста, и двамата бяхме много щастливи,
защото ние трябва да направим това, което ние както искаше и ние
не трябва да се справят с другия.
>> Така че ние прекарахме заедно.
Ние обичаме да се мотае.
Аз просто не искам да се справят с всички CSS и HTML неща.
Аз бях като, вие го правите доста.
Аз ще се оправя с базата данни.
Така че ние имаме това наистина готино, много малко маса.
Обичам маси.
И в общи линии, моделът може мисля, е само вашата база данни.
>> Бях модел лицето, за моя проект.
Това е всичко за съхранение на информация и организиране на тези данни.
Така че това е, което сме искали да се обадя край.
Така вие ще се занимава с на SQL база данни и файлове с данни.
Това е вашият модел.
>> Вашето мнение, тъй като биха могли мисля, нещо има смисъл,
е това, което вашето потребителско всъщност вижда.
Това е потребителският интерфейс.
Това е, че предна компонент.
Така че това е, което ми съквартирант Трябва да се работи през цялото време.
Тя е супер щастлив.
Така че това е всичко, на HTML, и има много малко PHP.
>> Ако говорим само за това, което се показва на потребителя,
ние не говорим за хипертекст.
Ние говорим за това как изглежда.
Ние не говорим за логика, или условия, или какво ли не.
Всички, които получава, обработва от контролера, OK?
Така че, който обработва заявките на потребителя и получава информация.
>> Така че едно нещо, което трябва да знаете за Вашата pset е, че в своите възгледи,
всичко, което е в действителност показване на информация
Никога не трябва да се прави призовава за вашия модел.
Всичко това се обработва във вашия контролер.
Вашият контролер е този, посредничи между тези две.
Той ще поиска от модела за определена информация.
Тя може да превъртите през този информация, да разбера
от какво всъщност се нуждаете това, какво да правя с него,
и след това ще се премине на просто ви информация
трябва да се счита, за да можете да го отпечатате или да го покаже на потребителя, OK?
>> Защото виждаме изглед като каквото и да е с лице към потребителя,
така че ще бъде много по-лесно за тях, за да разбера,
о, ако вие правите някои призовават за вашия модел
а вие питате за всички потребители които започват с буквата А,
и сте прави, че по ваше мнение, всеки, който може да видите вашия уеб страница
потенциално биха могли да получите достъп до това.
>> Не е задължително да искат това.
Вие не искате хората да видят повече в базата данни от какво
те трябва да се виждат.
Само техните специфични предпочитания.
Така контролера дръжки всичко това.
Така всички ваши .php файлове, които ще видим можете да считате вашия контролер файлове.
И това е мястото, където сте наистина ще бъде
питам за неща от вашата база данни, и итерации или манипулиране
че е необходимо преди прекарването на които трябва да бъдат гледани.
>> Това е наистина страхотно pset, по мое мнение.
Мисля, че е малко по- като неотложен удовлетворение,
защото сте се приложи много мънички неща,
и всяко нещо, което трябва да работи върху себе си.
Не харесва, правим всичко и след това да видим дали тя работи.
Както и със софтуер където вие сте като съм
наистина се надява това е Добре, защото ако не е,
има много поставя това може и да греша.
>> Добре.
Просто като се уверите, че казах всичко, което е необходимо, за да се каже за MVC.
Да.
Cool.
>> Така че в CS50 финансите, имаме нашия модел, както току-що казах тук.
Това ще бъде MySQL и PhpMyAdmin.
Определено може да тегли тези толкова вие получавате шанс да го погледнете.
Както казах и преди, това си SQL база данни действа като вашия модел,
и можете да изпратите това, което ние наричаме запитвания, които са само тези видове неща.
Те се наричат ​​заявка.
Това е въпрос, когато сте просто иска вашата база данни за нещо,
или сте смяна на база данни по някакъв начин.
Това е всичко.
И го направи с функции, които сме ви дали тук.
>> Можете също така да се манипулира ги на ръка през PhpMyAdmin,
което определено може да погледнете.
Ще се създаде проба база данни с вас, момчета.
OK.
Така че, контролер.
Така че в този случай, ако предизвестие, всичко това е PHP.
Забележете, че това е вид на вашия Основното нещо, на вашия контролер
е, че тя трябва да бъде най-вече PHP.
Ако имате HTML във вашия контролер, не съм много сигурен какво се случва там.
По същия начин, както казах, ако сте управление на [недоловим] с HTML,
Много съм заинтересован.
>> Така че това, което имаме тук е, че има някаква заявка.
Query е функция, която построихме за вас, момчета.
Това е като обвивка, за да запитвания към вашата база данни с малко по-лесно.
Ако не сте имали, че синтаксиса всъщност говорите с Вашия SQL база данни
ще бъде различен, така че просто го предоставят за вас, момчета.
Бихме искали да направят живота по-лесно.
>> Така че в този случай, може да ви момчета кажете ми какво тази линия се правиш?
SELECT * от някаква маса.
АУДИТОРИЯ: Изберете всичко от тази таблица.
ALLISON BUCHHOLTZ-AU: Точно така.
Така тя казва, дай ми всичко от тази таблица.
И това го приберете в някои променлив резултат.
И това казва, ако резултатът не е равно невярно, след това, което правим всеки от това.
Така че, ако няма нищо тук, ако си маса е празна или тя просто не съществува,
че ще се върне фалшиви.
Така че в този случай, ние просто се прави сигурен, че нещо не е реално
се върна при нас.
>> И след това тук, имаме нашата голяма foreach цикъл
че ние сме итерации над нашата резултат на това, и ние сме го наричаш ред,
и ние казваме, направи този шаблон където данните ви е този резултат.
OK?
Така че това е просто обработка реда на резултата.
В противен случай, той се развиква.
Така, това е пример на контролера.
Както виждате, това е най- само place-- Да, съжалявам?
>> АУДИТОРИЯ: Защо е там амперсанд преди ред?
>> ALLISON BUCHHOLTZ-AU: Амперсанд преди ред.
Ние сме просто итерации.
Това е също един адрес of--
>> АУДИТОРИЯ: Така че това е като C съотнасяне.
>> ALLISON BUCHHOLTZ-AU: Това е като се уверите, че сте в действителност
модифициране на оригинал, а не копие.
Това е по същия начин, с С, при ние сме преминаване чрез позоваване тук, просто
за да се уверите.
>> АУДИТОРИЯ: Не е ли == вместо да не е = в PHP?
>> ALLISON BUCHHOLTZ-AU: Това не е ==.
>> АУДИТОРИЯ: Защото се равнява C е just--
>> ALLISON BUCHHOLTZ-AU: Това просто не е =.
Да, не.
Това не е ==.
Тъй като == в PHP проверява за равенство с превключване, Регулация,
но екстра качество.
Така че, това не е == в PHP.
Това е един от малкото, синтактични различия.
Да.
Така че ние просто итерации през всеки ред,
и ще направи това, ако вие, момчета, прочетете си спец,
е просто някаква друга функция, която е всъщност ще обработва всички HTML
и ще го покаже в уеб браузър за вас.
>> OK.
Така че, ние бихме искали да мисля за вашите контролери като това, което се занимава с бизнес логиката.
Както виждате тук, това е мястото, където ние сме като нашите данни от таблицата,
ние сме го обработим по някакъв начин, и след това ние сме го злоупотреба.
Когато правим направят някои шаблон, някакъв шаблон е нашата цел,
и ние сме го само с преминаване данните, които тя трябва да получи.
Не всички данни.
Само данните, които искаме да се получи.
OK?
По принцип данните след преработка.
>> Така че това е на мнение, това е шаблон за сума, която имаме,
и всичко това се прави е, можете да има малко PHP във вашия изглед.
Тя не е като не PHP в изглед.
Ти просто трябва да има много минимална PHP с оглед,
и никога не трябва да бъде заявки по ваше мнение.
Никога не трябва да се говори да си база данни в изгледа.
Това е голямата разлика.
>> Така че това, което се случва тук, е, че ние имаме PHP, което е итерации през ред.
Така че в този случай, тъй като бяхме итерации през всеки ред
и прави нещо, това е вероятно като двуизмерен масив
където имаме някакъв ред, който е сам по себе си, масив,
защото ние сме итерации чрез отново.
И ние просто отпечатване Името на ред, а след това да свърши.
>> Вие не трябва да се нуждаят от този в foreach.
Никога не съм виждал, че преди всъщност.
Аз просто правя foreach.
ОК, така че това е мнението.
Да видим дали можем да преминете през малко си pset.
Имаме 15 минути, така че аз съм сигурен, че момчета биха искали, че повече от това просто да
приключва по-рано.
Позволете ми да видя дали мога да доведа това до.
>> Така че аз не знам колко от вас, момчета са го изтеглили и още какво ли не,
но ние имаме потребителско име тук, и ние имаме някаква парола.
И за съжаление, нали Сега на базата данни е празна,
така че ние действително се нуждаят да се създаде база данни.
Е, това е странно.
Не очаквам това.
Технически грешки.
Технически трудности.
Ние имаме някои pset7.
Cool.
>> Така че, едно нещо, което можете да направите, е, с на query-- ще създаде таблица.
Така че това ще бъде users-- какво можете да направите тук е, че ако имаме some--
Наистина сега?
OK.
Очевидно аз не правя така горещо.
О.
Аз знам защо.
Тъй като никога не съм създал моите действителни маси.
Така че, когато за първи път започва с база данни, вие очевидно
трябва да реши какви са неща, които трябва да има тук?
>> Така че, ако ние просто изгасне маса данните ни тук,
имахме някои ID, което може просто да остане на инт.
И ако погледнем тук, има нещо готино that-- Така индекс.
Ако го направите основно, че ще го правят нещо, което Вашата маса се организира от,
и тя също ще го правят уникален.
Така че в този случай, ние ще направим това основно, и аз отивам да се направи това име,
тогава ние просто ще го направи VARCHAR на като 26 букви, защото защо не?
>> И тогава можете да отидете да се спаси, а след това ако виждате, ние имаме някои потребители тук.
Така че, ако искаме да се направи вмъкване, можем да го направим
по този начин, или ако искате практика с queries-- О момче.
Аз не се използва това завинаги.
Мисля, че това обратно.
>> Можете да редактирате тази на собствения си или само с ръчно поставяне на информация
с нещо подобно, вие може да промените някоя от тях
ако искаш да make-- Ако искате да изведнъж се отърве от името, можете да пуснете,
можете да направите всички тези неща.
Ако трябва да се някога ръчно да промените вашата маса,
Аз предлагам да го прави в PhpMyAdmin срещу опитва
за да разбера SQL въпроси като цяло.
Когато започнете за пръв път pset, вие ще трябва да работят тук,
така че да свикна с това.
И тогава, когато наистина искате да поставите нещата в своя table--
Аз наистина се чудя къде е това, защото there's-- Ето това е.
Това е, което исках.
Така че, ако отидете на SQL, бихте могли да всъщност виждате, както виждаме тук,
имаме SQL заявки.
>> Така че, ако искаме да изберете нещо или ако искахме да поставите нещо,
можем да направим, посочете в потребителите, нали?
Мисля, че имате нужда от наклонената черта.
Едно нещо е да знаем, е, че ако сте някога да използвате това,
вие трябва да използвате тези обратно апостроф, които са обикновено
ако сте на Mac, таб полето по-горе.
Така че е добре да знаете.
>> Можете да вмъкнете в потребителите, и ние имаме нашите ценности, нали?
Така че ние имаме ценности и нашите ценности в този случай ще бъде само,
ние имаме само едно ID, така че ние може да направи един, ако искахме.
Това е странно.
OK.
Така че това е точно като кратко малко нещо с SQL,
но може да е по-полезно да действително разгледаме някои от файловете тук.
>> Така че продължавайте да Downloads.
О, не Downloads.
Така че, просто бърз преглед на това, което е във всяка една от тези папки.
Тя включва, ние просто трябва нещата че конфигурирате браузъра си,
имаме тези константи, и ние имаме тези функции.
Ако се интересувате от някой от тях, Аз препоръчвам да гледате функции.
Един от тях, който е супер полезно, всъщност е този тук, сметище.
>> Така че, ако използвате това, това ще стане всъщност само
отпечатате каквото променлива че ти харесва да.
Така че, ако имате проблеми, фигуриращ какво този масив изглежда,
или това, което в действителност тези данни, как е форматиран,
това е голямо нещо да се използва.
Особено, когато имате потребител с множествена състав,
това ще бъде нещо страхотно да се използва.
Тъй като това може да бъде formatted--
>> Знам, че най-малко за мен, когато аз го направих това pset, той е бил форматиран по начин,
че не съм съвсем очаквате.
Така че аз се опитвах да обхождане него и се опитва да го манипулира,
но аз наистина не разбирам какво правя.
Така че, ако просто го зареже, той ще да го отпечатате на браузъра,
и можете да видите точно как се форматира.
Това обикновено ще го отпечатате като масив с ключовете и неговите ценности.
Така че тя може да помогне там.
Тя също може да помогне да се направи уверете, че сте в действителност
вземете данните, които си помислих, че са били.
Така че, ако бяхме като моята маса определено казва, че има потребител с това ID,
но когато отидеш да зареже променлива, тя не е там,
вие очевидно знае, че е където грешка ще бъде.
Това е един от най-добрите инструменти за отстраняване на грешки, по мое мнение.
И тогава там е Няколко други неща тук,
но в по-голямата си част, това е едно искам да насоча вниманието ви към
защото това е много полезно.
>> Public, което имаме тук, е, това е всичко на нашия CSS неща.
Така че, CSS, шрифтове, нашите снимки, какво ли не.
Това е всичко, неща, които не е нужно да модифицирате.
Може вие ​​се замислят дали това има неща като CSS в шрифтовете,
би това да е модел, или цел, или контролер?
АУДИТОРИЯ: [недоловим]
ALLISON BUCHHOLTZ-AU: Щеше да бъде повече от гледка, нали?
Това е работа на всички неща, как изглеждат нещата.
Така че, ако ние отваряме тази тук, ние виждаме, че всичко, което се случва тук
е, че ние сме прави нещо.
OK?
Така че това би много квалифицира като цел за това.
Така че това е просто като някои от тях, той се обажда на някои portfolio.php
което имаме, и това е, минаваща в заглавие и портфолио.
И това е просто прави това.
Всъщност, аз се, че обратно.
Това е контролер, защото направи, не забравяйте, прави гледката.
Така portfolio.php в тази случай ще бъде вашата цел.
Съжалявам, момчета.
Portfolio.php ще бъде Вашата гледна точка, а това би просто
да си контролер за това.
И ако можем да разгледаме в този последният тук, шаблони,
шаблони са на вашите мнения тук.
Така че, ако погледнем, очевидно ние виждаме много на HTML тук.
>> Така че това е просто ви показва какво страница за вход трябва да изглежда така.
Забелязвате имаме някои образуват групи, трябва да представи.
Ето как да решите какво се показва там.
Вие имате някакъв вид бутон = "представя" и след това имате какво го искате
за да се покаже в бутон.
Така че това е начина, по който ще го направи се появи като каквото искате.
>> И ние виждаме тук имаме някои потребителско име, парола някои,
и когато ние действително удари Знаете, това ще бъде някакъв пост,
и то се случва да публикувате какво?
Какво е контролер за тази цел?
Когато удари Знаете, какво се случва да се нарича?
Знаем ли?
Това е точно тук, така login.php.
Нещо, което момчетата са ще се приложи.
>> Така че винаги може да каже какво ще бъде
нарича, след като удари Пуснете от този на първа линия тук.
Какво е действието на формуляра.
Когато се подава тази форма, какви действия да вземем?
Ние наричаме login.php и ние го наричат ​​с този метод
на пост, който има скрита информация.
OK?
Така че това е вашата гледна точка, а след това очевидно ако ние отидохме да login.php-- Do ние я имаме
все още?
Да.
>> Така че, както виждаме тук, това има много повече логика.
Това е цялата ни PHP тук.
Опитваме се да се види дали е $ _GET, ако тя е била $ _POST, валидиране неща,
заявки, всички тези неща.
Така че тези, които са само на три различни неща тук.
не е нужно да се променят нещата.
Ще се създаде неща в шаблон, вероятно,
Но доколкото HTML или стайлинг на нищо от това си отива,
можете да го оставите като обикновен или като сложен, колкото искате.
>> Някои хора получават наистина в нея и направи някои доста страхотно сайтове.
Не е нужно да правите това.
Ако имате време, това е наистина готино нещо.
Можете да се забъркваш с около CSS и HTML и ще получите много по-добро усещане за това,
но не се чувстват притиснати да.
Има достатъчно, за да се прави в задния край с осъществяването влезете в системата,
и да се регистрирате, и всички тези неща.
>> Така че, да се надяваме, че помага малко.
Мислите ли, имате някакви въпроси за всичко, което сме преминали през,
всякакви други ресурси?
Аз определено ще изпрати всички моя пример PHP код за вас, момчета,
и след това се чувстват свободни да предприемат снимки и какво ли не за това.
Също така тя е онлайн.
Вие винаги може просто да гледате отново.
Така че, ако това е всичко, всеки добър?
Да.
>> АУДИТОРИЯ: Аз просто искам да се потвърди, когато сме
това изберете в SQL, на звезда означава, че всичко, нали?
ALLISON BUCHHOLTZ-AU: Да.
АУДИТОРИЯ: И след това, ако не е нужно на звездата,
ако искате да вземе от определен ред, а след това просто сложи името of--
ALLISON BUCHHOLTZ-AU: Името на ред
и какво искате да промените стойноста на.
>> АУДИТОРИЯ: И след датата.
ALLISON BUCHHOLTZ-AU: Каквото което търсите, да.
По същия начин, ако го направите DELETE * от някои маса, тя ще изтрие всичко.
Така че, * е просто див карта за всичко.
>> АУДИТОРИЯ: OK.
>> ALLISON BUCHHOLTZ-AU: Cool.
Awesome.
Е, имам страхотни понеделник, момчета.
Ще се видим следващата седмица.
Успех на вашия pset.