>> [Мусиц плаиинг]
>> СПЕАКЕР 1: Ово је ЦС50 и ово је крај недеље седам.
Данас је можда где смо ти стварно учење језика.
Увели смо у протеклих неколико недеља ХТМЛ и ЦСС, од којих ни једна
су програмски језици.
И заиста, иако нисмо погледај скоро све ознаке
да долази са ХТМЛ-а готово сви својстава које долази са ЦСС,
То је врста тога за ХТМЛ и ЦСС.
Ми ћемо само генерално почнете под претпоставком да вас
разумеју опште идеје ознака и атрибута,
и странице шаљу од клијента до сервера.
>> Јер данас почнемо да погледамо други програмски језик ПХП.
Ми ћемо то учинити супер брзо.
Нећемо да вас научити ПХП-по себи, слично нисмо тежити да те научим
Ц, пер се, већ програмирање.
И заиста, један од циљеви за овај курс
није да вас научим Ц, или ХТМЛ, или ЦСС, или ПХП,
или било који број других бузз речи или скраћенице,
већ у компјутерске науке и како да у основи програм.
И заиста, данас почињемо да те обуке точкови офф све
додатно летење кроз језик назван пхп, као што следи.
>> Ево шта овај језик изгледа.
Испоставило се да нема потребе за главна функција у програму написано
на језику који се зове ПХП-а.
Тако да већ звучи мало једноставније од Ц, са којима смо упознати.
Испада да ако Желим да прогласи променљиву,
ви то радите скоро идентично на Ц. Али јасно је да је једна разлика овде
када сам прогласити стринг, или можда две разлике.
Шта изгледа другачије?
>> ПУБЛИКА: Знак долара.
>> СПЕАКЕР 1: Да, ту је долар потпише, што никада нисмо видели.
А шта недостаје?
Да?
>> ПУБЛИКА: [неразумљиво]
>> СПЕАКЕР 1: Да, нема тип података.
Тако испада да је ПХП је оно што ми позовите лабаво откуцан језик, гдје
Ц је снажно откуца.
Лабаво откуцао само значи да постоје различите врсте података,
постоје жице, и ИНТС и плута.
Али компјутер бројке то.
Ти си људско програмер Не морам да га схватим.
Дакле, све што треба да урадите да прогласи је променљива
долар знак, име твоје променљива, а потом, на пример,
под знацима навода, здраво свет.
>> Па ово је оно што Услов изгледа као у ПХП.
Има ли разлике?
Ne.
Тако испада су идентични.
А можда ћете имати мање гране или више грана,
али синтакса кривине од исто.
Боолеан изрази могу се наручити заједно.
Боолеан изрази могу да се андед заједно.
Још увек имате прекидача.
Чак и ако нисте користили ови, они не постоје у Ц
и они су функционално еквивалент у ПХП.
>> И у ствари, они су у ПХП мало моћнији.
У Ц, можете само да упоредите сигурна врсте података попут интс и карактера,
док у ПХП заправо можете упоредити фулл перје жице без потребе
да брине о тројкама и слично.
Дакле, овде је за петљу.
Ово је само Псеудокод код, ако хоћете.
Али структурално је идентичан Ц.
>> Ево док петља, Псеудокод тхерефоре-- идентичан Ц.
Ево радим док лооп-- идентични.
И тако је некако тај образац овде где
постоји неколико других синтактичка карактеристике ми заиста идемо да видимо.
У ствари, овде је лепо начин у ПХП чиме,
Ако желите да поновити преко низа, а ви
не желе да скочи кроз менталне и синтаксне Хоопс оф има
ИНТ И једнако 0, ја мање од н, и плус плус-- који
само доста досадног синтаксе.
Можете рећи нешто више флуидно за сваки бројева
као број, у којој у овом случају Доллар сигн бројеве, претпостављам,
је као низ бројева назива.
И онда претпостављам број, једнина, ће бити променљива.
>> А шта ПХП ће учинити за мене као што сам поновити над овим петљи је, на свакој итерацији,
иде ажурирање променљив број на бити ИТХ елемент у бројевима, множини.
Тако да само обрађује све то за мене.
Нема угластим заградама, нема долар знак, без полу-Црева.
То је само мало једноставније.
Па, уколико желите Арраи, испада да
може да уради нешто веома слично Ц. синтакса је мало другачија.
Али овде се низ зове долар потписан бројева.
И ја користим, у ПХП-у, трг држачи, испоставило се.
И ми ћемо опет видети ово у ЈаваСцрипт-- још један језик.
Ја само користити квадрат носач нотација да имају зарезом одвојена листа
целих бројева, у овом случају.
Али то ми даје низ.
>> Али чак и моћнији у ПХП, Такође имамо шта су генерално
зове асоцијативних низова.
И много језика имати ове такође.
Оно о Ц низова јесте да индекси
за низ, оно што вас користити у угластим заградама преко којег
да приступите елементе, морају бити шта?
>> ПУБЛИКА: [неразумљиво]
>> СПЕАКЕР 1: Морају бити бројеви или целих, посебно од нуле горе.
Па, у ПХП, и, испоставило од, на другим језицима,
можете почети да индекси који нису нумерички.
Али они у ствари речи или фразе, тако да је уместо
покушајте да се сетите где нешто је, или чувају у променљивом и,
заправо можете користити реч и рећи то-- можете рећи ни реч овако.
>> Дакле, долар знак цитат је назив променљиве овде.
Ово је донекле фанки синтакса то је удруживање две кључне вредности
парова за ову променљиву.
Конкретно, ово ме даје низ који је дужине 2.
Али индекси нису 0 и 1.
Индекси су под знацима навода симбол и под знацима навода цена.
А вредности тих индекса, односно, да ли је ФБ за Фацебоок
и $ 79.53, када сам задњи проверити цену за то.
>> Шта то значи?
Па, то значи да уместо писања кода
овако, где сам да урадим нешто као долар сигн-- односно у Ц
Не бих ни знак за долар.
Ја бих урадио нешто као цитате и затим
Ја бих то конзолу сам да у неким произвољно нумерички индексиран вредност.
Од данас у ПХП-у, ако вас Желим да се у неком вредности,
некако смо имамо више семантичка експресивност.
Само фенси начин да се каже можемо само зови ствари оно што јесу.
>> А ако желите да добијете на нешто симбол,
сада буквално урадити под знацима навода симбол
у угластим заградама уместо обичног броја.
Дакле, то је лепо погодност.
И то је нека о томе за сада.
Има гомиле друге карактеристике у ПХП.
И заиста, ПХП долази са пословичну судопера.
Десетине, стотине функција долазе са ПХП-- толико више него је дошао са Ц.
>> И то не намерава да овервхелм већ помогне
схватите да нисмо више не морају да пишу код
То је врста овде концептуално.
Сада можемо само да почнете да користите од много напреднија карактеристике
да језици као ПХП имају.
Дакле, не морамо да бринемо о креће ствари око у меморији.
Ми не морамо да бринемо о маллоц и сви ових нижем нивоу,
моћни детаљи који ће се рвати са, ако не боре са, псет5,
али можете почети да Ускоро узимају здраво за готово.
>> У ствари, хајде да напишемо супер једноставан програм у ПХП-у, као што следи.
Ја идем главу у ЦС50 ИДЕ овде, и шта ћу да радим
је креирати нову датотеку, која врло једноставно ће се звати здраво тачка ПХП.
Дакле, уместо тачке ц, то је ће се звати тачка ПХП.
А онда у овом фајлу, Ја могу почети са куцањем.
Али испоставља се да је једна ствар морам да знам
је да сваки ПХП фајл уопште, треба да се почне са неким специјалним синтаксе.
Слично у духу у ХТМЛ, али опет, ПХП је програмски језик, не
маркуп језик.
>> Тако сваки фајл, и некако је глупо гледа ћу признати.
Отворите носач, знак питања, ПХП.
И то је само начин језичка каже,
хеј, рачунар долази неки код написана на језику који се зове ПХП-а.
А онда на самом крају свог фајла, радите врсту врсту супротно.
Не опет само пишете, ПХП, те урадите знак питања, угаона заграда.
И онда шта сте ставили унутра ова два ознаке, да тако кажем,
ће бити, или би требало да буде, ПХП код.
>> Дакле, хајде да урадимо нешто супер једноставна.
Ја идем напред и уради принт деф здраво свет, косих н спасити.
И сада у мојој линији, ја ћу до, маке хелло-- не, ја ћу да радим,
тачка сласх здраво.
Не, тачка коса црта, ХМ.
Тако нешто је другачија.
И заиста, ово је кључна разлика између ПХП и језика попут Ц. Ц
био је тзв саставио језика.
Шта то значи за Ц да се саставио?
Шта је импликација?
Да.
>> ПУБЛИКА: пише се у машински код па се може управља рачунар.
>> СПЕАКЕР 1: Тачно.
Морамо прво претворити у такозвана машина код, нуле и јединице,
пре него што ће заправо бити извршна и разуме рачунара.
По Интел Инсиде.
До ЦПУ унутар рачунара.
ПХП, с друге стране, је оно што се зове тумачи језик, који
значи да га не саставити у нуле и јединице, машински код,
уместо тога га оставити као изворног кода.
А ви уместо да га прође као инпут са програмом, преводилац
да је неко други написао пре неколико година да га разуме
ред по ред, знак за карактер.
Другим речима, људи тамо написао
програм који ће изгледати на вашем код ред по ред,
и схватити шта рачунар треба да уради,
без њеног конвертовања директно нула и јединица.
>> Дакле, ако се види фор петљу, овај такозвани преводилац
ће бити као, у реду, требало би да уради нешто изнова и изнова.
Шта да радим?
Дозволите ми да погледамо следећи ред.
И заиста то тумачи линију по линију.
Тако да га изврши, не користим маке.
Ја не користим дот сласх у овом случају.
Ја радим уместо ПХП, која је назив програма, а.к.а.
Тумач, то је унапред инсталиран у ЦС50 ИДЕ,
и сад треба да прође командна линија аргумент који
је једноставно име од филе да желим да тумаче.
Или више лежерно, да желим да бежим.
И ако сам погодио Ентер, тамо смо га.
Здраво Свете.
Сада испада да сам Половни штампање Деф намерно
да нас мост од Ц до ПХП.
Већина ПХП програмери, као што ћете видети, не труди се користи за штампање Деф.
Они су само користили функцију која се зове штампа, а која није имала.
И тако, ако сам га поново покренути сада, то заиста се понаша функционално исто.
Ја не могу користити одсто а и процент и и тако даље,
али постоје и други начини у ПХП на то да радиш.
Али ово је само кажу да синтактички,
осим неких чудних ствари Топ, а неки уврнути ликови довн
на дну, концепти сада од програмирање у овом другом језику
ће бити потпуно исти.
>> У ствари, хајде да урадимо један пример.
Зато ћу ићи напред и затворите ову слику.
Дозволите ми да створе још један који Зваћу услове 1 тачка ПХП.
Дакле, без нула, јер оно што сам урадио Погледао сам био вратио пре неколико недеља,
имали смо фајл који се зове Услови 1 тачка Ц А шта
Ја сам га нисам претворена у мом глава, и овде на папиру,
и ускоро на курс је сајт, ред по ред у ПХП.
>> Дакле, у Ц верзији, ми смо урадили нешто као стринг а добија се низ.
Дакле, то је мало другачије да то уради у ПХП.
Уместо тога, ја ћу да раде, односно, ја
Можда су урадили инт добија се ИНТ, у овом примеру раније.
Дакле, уместо тога, ја ћу да урадим н бива прочитао линију, волео бих цео број,
Molimo vas.
Дакле, ово је само моје брз.
И тако се испоставило, и Ја бих само знати
из сте прочитали или видели функцију пре, прочитајте линије функције у ПХП
узима аргумент да је упит за човека, и његову сврху у животу
је да чита линију текста да он или она врсте у.
А онда чува да Текст у променљиве н.
>> И сада можда желети да уради нешто као ја пре неколико недеља, у недељу као
један од класе.
Ако је н је већи од нула, онда, ја идем
да позајмим ту синтаксу смо управо видели, штампа Деф, изабрао си позитиван број,
обрнута коса црта бр.
Иф н једнако једнак нули, ја сам ће да иде напред и рећи, штампање Деф,
си изабрао нула инверзна коса црта н.
Иначе, овде случај треба наравно бити штампани Деф,
си изабрао негативан број.
>> И сигурно можемо имплементирати логика ове ствари
у гомилу различитих начине, али поента овде
да синтактички, једва нешто ново.
То је само знак долар и нова функција и прочитајте линија.
Али у основи, шта има ново Тренутно је сам тумачење ово.
Ја то пролази као инпут у други програм.
Дакле, ако желим да покренете ово, ако Ја нисам направио неку грешку,
Идем да покренете ПХП, од Услови 1 тачка ПХП Ентер,
Идем да унесете у броју 50, и претпоставимо за сада ради.
Зато што је логика је иста ствар као и недељу дана један.
>> У реду, тако да је прилично ундервхелминг, зар не?
Могли би ово на било број језика.
Хајде да урадимо нешто тако моћнији.
Хајде да завршимо проблема сет пет.
Зато ћу ићи напред и учинити.
Ја ћу створити датотеку зове рјечник тачка ПХП
и склони као што може бити за пењање доле много бележака,
белешке ће само помоћи ти ако дозвољено
да спроведе проблеми сет пет у ПХП.
Али видећемо колико брзо ћемо сад може да примени ту исту проблем сет.
>> Дакле, у речнику дот ПХП-у, ја ћу претпоставити да већ постоји
фајл у свету под називом спеллер.
И заиста, ја сам то унапред, и нећемо проћи кроз ову линију
линије, али ако сте радознао касније и заиста желе
да ће завршити свој ум Ароунд тхе разлике између ц и ПХП,
буквално поредити ову слику, спеллер, из данашње изворног кода
да ћемо писати касније Данас, против п сет
пет спеллер тачка Ц коју смо вам дати, и то је готово иста ред по ред.
Има неких више долара знакове.
Неколико функције су мало другачије.
Али то је добар начин од врста виде како
ли превести једног језика на други.
И то је готово идентичан линија за линију.
Али ја ћу претпоставити да је постоји, и шта ћу да радим овде
је покушао да разнесе свој уму реимплементинг
целина проблема сет пет пут брже него што сте радили до сада.
Тако, на пример, ја ћу први прогласити глобалну променљиву под називом величина,
и подесите га једнака нули.
Сада то није много уштеде.
Квота да ли спроводе Величина прилично исти,
или наговештај наговештај, ће вечерас или сутра, само користећи глобалну променљиву названу
величина, и постављање га једнака нули.
То није нарочито невероватно спојлер.
>> Дакле, шта су ваши подаци структуре избор, они од вас који су кренуо је
и прочитати спецификацију, структуре података које су већина вас су користили?
Хеш табела или пробајте, можда неке варијанте њихове.
Дакле, спровођење тараба сто барем, је врста много линија кода,
jel tako?
И нису сви од њих може бити функционалан у овом тренутку у недељи,
али то је у реду.
Јер у ПХП-у, ако Желим хасх табелу, урађено.
Jel tako?
Дакле, ту променљиву да сам Само проглашен је очигледно
зове знак долара сто, по уводу пре.
>> Али стварно само желим, на крај дана, низ.
Али није бројчано индексиране Арраи, јер то је као недељу две
ствари, када смо разговарали о низовима.
Желим хасх табелу.
Али хасх сто је заиста само конкретан начин да се каже,
желите асоцијативну низ.
Желите да будете у стању да сарадник тастера са вредностима.
Тастери са вредностима.
Шта је рјечник, стварно?
Па то је гомила тастера.
Речи као што су јабука, крушка, банана и, и сви ови енглеских речи
да смо те предати.
>> А вредности које ефективно си убаците у свој речник
су или истина, или одсуство, лажна.
Другим речима уносите гомила кључних вредности парова,
јабука, истина, крушка, истина, банане, истина.
Тако да када преузимате или потражите до тих података у вашем хасх табеле
са контролном функцијом, ти си Или да се вратимо одговор,
Да, нашао сам га у свом комплексу хасх табелу, или не, није тамо,
тако да ретурн фалсе.
>> Тако да то, све што треба је податак структура као и сам предложио раније.
Само треба да буду способни на удруживање речи
као, под знацима навода, симбол, са вредношћу као што је, истина.
Тако да је мој хеш табеле.
Хајде да заправо га користити.
Дакле, постоји неколико функција Морам да спроведе.
Ја идем напред и уједају Офф функцију која се зове величине.
Она не узима никакве аргументе.
Не треба да бринемо с реч, празнина, ПХП-у.
Једноставно ћу да се врате величину.
>> И успут, ПХП има ово минорли досадне детаљ,
где ако нешто није глобална, морате да реци функцију у којој сте помоћу
да, хеј, то је глобална променљива.
Дакле, мала глупост, али ти морам да урадим ипак.
>> Дакле, шта је са оптерећењем?
Идем да спроведе функција се зове оптерећење
који се у име речника, баш као у проблему сет пет.
И пре него што наставим, приметити да нисам
је куцање прилично исте ствари.
Шта је очигледно другачија у ПХП око како прогласи функцију у односу Ц?
Да.
ПУБЛИКА: [неразумљиво]
СПЕАКЕР 1: Не повратни тип.
И заиста, то је случај ПХП утолико што је лабаво откуцан,
је такође мало аљкави у том смислу.
Не прецизира као програмер шта је ово функција враћа.
Морали бисте да заправо изгледају у коду да то схватим.
Или прочитајте коментаре или документација.
Тако плусева и минуса од овакве одлуке.
Али морам да кажем кључна реч, функција.
А када смо сазнали Јавасцрипт за неколико недеља
идемо да видимо исту ствар опет, али то је иста идеја.
Назив функције, њен аргумент или аргументи или недостатак истог, и сада
Овде је имплементација.
>> Зато ћу да смањи неке углове само да буде драматична за тренутак.
Али ја ћу да наставим и кажем.
Ово је како могу учитати фајл у низ.
Постоји функција у ПХП зове фајл.
Ви то име датотеке руку.
То вам руке назад низ, унутра од којих је свака линија из датотеке.
Од нула, један, на горе да н минус 1 линија.
То је то, зар не?
Нема Ф штиво.
Нема м гет а.
Нема одсто а.
Нема главобоље.
Нема феоф.
Све те ствари са којима сте врестлинг можда,
уз п сет четири и пет, одлази.
>> Дакле, управо сам прочитао те линије у датотеку, а затим знаш шта?
Ако желим да поновити над тим речима, Ја могу да урадим, за сваки линије као линије.
Не заборавите да је ово нека врста паметан начин итератинг преко низа, индекс
индексом, а на сваком итерација позиве тренутна линија, знак долара линија.
И овде ћу да одем и кажу табела, носач, линија, добија тачно.
>> Другим речима, ово је колико ја инсерт инто ми хасх табеле у ПХП.
Кажем знак доллара сто, који је мој асоцијативна низ који је
празна по линији кода до горе.
Онда сам индекса у њу не, употребљавајући велики број,
али буквално користећи кључна реч која ми је стало.
Можда је јабука или крушка или банана или шта год,
али конкретно ја индексирање у њега као да је предложио раније.
Ја се име моје асоцијативна низ, а онда сам
користити под знацима навода у угласте заграде са низом,
уместо стварног броја.
>> И то је то.
Функција оптерећење се врши.
Када то петље итерацију, ја сам ставио све у хасх табеле.
Сада мала одрицање, ту је Пар ствари које не треба да поправи.
И верзија ја ћу писати на мрежи ће имати све нијансе,
али углавном само ће бити неки Провера грешке и неколико мањих туеакс.
Али то је заиста суштина.
Ако сада желим да спроведе функција зове
цхецк, која очекује Реч као свог аргумента,
Како могу да то урадили?
Па, ја једноставно рећи, ако у мом столу, на локацији речи,
ако је постављена.
Дакле, ако постоји је- Заправо, знаш шта?
Ја ћу то урадити у мало псеудокоду.
Али идеја је иста.
Ако је једнако тачно, ретурн труе.
У реду.
Елсе-- можете некако видим где ово је гоинг-- да се врати лажна.
Готово.
Проверите врши.
>> Лепо, зар не?
И шта је то заиста циљате?
И ово превише, одсекао сам неке углове.
Погледајте верзију на мрежи за све благе нијансе.
Али то је суштина.
Индекс у своју асоцијативна низ, а.к.а.
Хасх табела, видим да има вредност тамо, ако је постављено на тачно, и ако је тако,
ретурн труе.
Тако смо сведено све сложености.
Тако некако ума пуше, зар не?
Нећу се трудити да се завршава истовара, јер у фацт-- Ох, знаш шта?
Да, хајде да завршимо са истовара.
>> Истовар у хасх табели може изгледати као функције истовара, вратите.
У реду, тако да је искрцавање.
Јер нема ништа за истовар, зар не?
Нема маллоц.
Нисам експлицитно питати оперативни систем за све.
Управо сам почео да користим променљиве.
И тако је и ово манифестација карактеристике језика вишем нивоу.
Па опет, највећи део овог термина смо посла овде
са Ц. супер ниском нивоу.
Можете видети меморију рачунара.
Можете дирај ти Желим у РАМ рачунара,
за боље или горе.
>> Овде, идемо да се одрекну ту моћ.
Али мој бог, види како много мање код сам написао.
У ствари, ако не причали и разговор преко моје куцање,
били бисмо урадили са Овај пример пре пет минута.
Дакле, шта је цена се плаћа?
Па хајде да погледамо.
Хајде да погледамо.
Ја ћу да наставим и покрените ЦС50.
Дозволите ми да прво одем у данашњи примери где
Имам Текстови Адресар као и раније.
Идем да покренете решење које долази са проблема сет пет зове
спеллер, што је у рачуну ЦС50 је.
>> И ја ћу да га воде на нешто велика попут Кинг Јамес Библе,
тако да смо заиста ставио особља решења теста.
Сада понекад интернет је мало спорији, мало брже,
Можда потрајати да се крећете.
Али то је укупно .56 секунди да провери правопис Тхе Кинг Јамес
Библија користе решење особља.
Дакле, прилично добро.
Ваш можда много спорије, и то је потпуно у реду.
Али, тачно је овде.
Дакле, то је решење особље.
Ако одем у и почистити ПХП верзију.
И ја ћу мало да радим као печење схов ствар.
Идемо да се код сам написао раније, тако да је сасвим у праву.
Зато што је код сам написао не иде да будем потпуно коректан сада.
Али, ако трчим ПХП верзије, шта морам да одустанем данас?
Требало ми је пет минута да имплементирати стр сет пет, ја тврдим.
Коју цену сам платио?
Да.
>> ПУБЛИКА: Брзина.
СПЕАКЕР 1: Брзина.
Шта мислите?
>> ПУБЛИКА: То ће потрајати дуже.
>> СПЕАКЕР 1: Добро.
Хајде да видимо.
То ће потрајати дуже, да не пишем, али да га покренете.
Да.
Дакле, хајде да пробамо ово.
Дакле, овде ћу да наставим и да ПХП-у спеллер, и зато што је досије
зове спеллер.
Дакле, ја не водим рјечник, опозив,
Ја водим програм под називом спеловала.
Ја ћу проћи на исти фајл, краљ Џејмс пети.
То је лети.
Ово би могао бити само Интернет брзина, тако да не читају превише у то.
Али то не осећа више сигурно.
1.26 секунди.
>> Сада када је још увек прилично проклето брзо, зар не?
И једини разлог због којег осјећао као више као три или четири, или пет
секунди, то је само зато што интернет је био спор.
Компјутер Време проведено је 1,26 секунди, у односу Мислим 0,56.
Дакле, више него дупло спорији.
Сада када је још увек прилично проклето брз, али је манифестација
од, заиста, да тачна цена.
>> Зато што смо тумачење у линији кода по линију,
и тај програм тект чита моја код врха до дна, с лева на десно,
то мора да уради више размишљања.
Она мора да некако претворити да унутар себе
у одговарајући машину код на лету, да тако кажем,
иако механике су мало другачије.
Уместо да само храњење до АМД ЦПУ сирове нуле и јединице
да је изворно разуме.
>> Дакле, апсолутно, изреако, смо платили цену.
И код написан у језику као ПХП тежи да буде спорији.
Али мој бог.
Дакле, сада када сам провери правопис мој Филе, проводим додатних 0,7
или тако секунде вс 20 сати за имплементацију бржи спелл ​​цхецкер, зар не?
То је нека врста трговине офф.
А ако сте тек почиње п сет пет, можда неће бити 20 сати.
Може бити много мање од тога.
Али то је компромис, стварно.
А ако користите код на заиста велики сетови података, или чак и старијим хардвером,
оне врсте различитости свакако може сабрати.
>> Има ли питања до сада?
Да.
>> ПУБЛИКА: [неразумљиво]
СПЕАКЕР 1: Опростите, могу ви то кажете још једном?
ПУБЛИКА: [неразумљиво]
СПЕАКЕР 1: Дајете време.
Па, тако да.
Ви штеди време тако не морате да га саставе,
ако је то оно што питаш.
И заиста, у ЦС50, већина програма,
иако они могу да потраје да пишу, они су релативно кратак.
Неколико десетина, неколико стотина линија кода, па су саставити прилично брзо.
Али када почнете писање веће програме,
као да сте Мицрософт или сте Гоогле и писање заиста велики програми
ин Ц, или Ц ++, или слично саставио језици, могао да многе секунди,
или чак минута или дуже како састави милионе линија кода.
И тамо, да Разлика ће се сабрати.
>> И, у ствари, када смо транзиција данас, истог дана
Данас, на веб програмирање користећи ПХП, ти си
ће га наћи само толико више угодно да пишем код
када не треба да урадите ово глупо кораци као што је промена у вашем терминалу
прозор, тип Марка здраво, поново покрените га, поново прозор.
Само толико глупи механичке кораци који
Управо сам стигао у начином занимљиво, забава рад.
И заиста бацамо да извуку са ПХП.
И можемо да интеракцију с тим брже.
Да.
ПУБЛИКА: [неразумљиво]
СПЕАКЕР 1: Наравно.
Могу ли појаснити шта је то значи да се тумачи?
Када састави језик као Ц, иде доле
као што смо рекли машине код, нуле и јединице.
И Интел одлучио пре неколико година да неки обрасци нула и јединица
представљају сабирање, одузимање или, или штампање, и друге основне операције.
У свету као тумачи језика као ПХП, ЈаваСцрипт или, или Питхон,
или Руби, или гомиле други, уместо неко
написао је интерпретер-- у овом случају,
то је такође зове ПХП идентичан назив лангуаге-- да у суштини
има велику петљу у њој да Примењује над свим линијама кода
да га храним као улаз, као и здраво тачка ПХП или рјечник тачка ПХП.
>> А онда можете мислити на њихов велики петље као да има много услова.
А ти услови рећи, ако људски је написао кључну реч за,
почети радити његов или њен Код изнова и изнова.
Или, ако човек има писани линију кода,
ако, само извршавају своје следећи ред условно.
Тако да заиста је као тумачење то на известан људском смислу, ред
линије, и то само треба времена.
Потребно је изнад главе.
И то је прице-- Добро куестион-- плаћамо.
Па хајде да урадимо још једну демонстрацију То је мало више драматична.
Постоји, ја бих, баллпарк ово у од 90% вероватноћа неуспеха страшно,
али ћете бити задивљени са 10% вероватноће.
Дакле, сваке године се трудимо за то, чиме смо
покушати да напише програм који пролази кроз Проблем сет нула, за које сте
достављају своје бројеве телефона и много других демографских информација,
а ми програмски послаћемо вам текстуалну поруку.
А онда свима телефон почиње јавите се сигналом или вибрацијом,
и то је само невероватно, јер Па, погледајте шта компјутери могу да урадим.
>> Ово ретко правилно функционише чини се, у великој мери
јер сам обично иду на црне листе од Гмаил или неке друге услуге
за заправо покушава да уради на скали.
Али чудна ствар је превише, јер смо ми данас немају сви овде,
забава чињеница последњи пут смо покушао овај пре две године,
Мислим да сам написао програм који је седео у петље итератинг
над свим ученицима у разреду, и сваки од њих текстуалне поруке,
и то је нешто слично, зашто ниси у предавању?
Љубав, ЦС50 бот.
>> Немаш појма колико апологетски и нека врста болне емаил
Добио сам одговор од Н минус 100 људи који нису били овде
тог дана.
И још забавнији, више срамна стори-- знате, хајде да га стави тамо.
Већ је он видео пре неколико година.
Дакле, ускоро ћете ме видети при чему пишу фор петљу,
то је врло лако написати грешку у томе фор петља, тако да се први пут
кроз петљу, ви сенд једне текстуалне поруке.
>> Други пут кроз петље И Требало је послао још једну текстуалну поруку,
а онда још један текст Порука, и још један.
Али испоставило се да ако направите куцању кад програмирање, понекад
могу да пишу програме који шаљу један текстуална порука, а затим два текстуалне поруке,
затим три текстуалне поруке свима који је већ добио текстуалну поруку.
А као што знате, радите нешто, плус нешто, плус нешто,
Плус нешто, је велики О на много текстуалних порука, или н на квадрат,
или $ 0.10 текстуална порука, $ 20,000.
>> Срећом сам ударио Цонтрол-Ц пре тога догодило, али нисам дугујем бар један
од ваших претходника $ 20 за 200 неке чудне текстуалне поруке које,
Не само да је његов телефон, али Такође је било старије флип телефона
тако да бих гурнуо из његовог меморија сваки други лични текст
Порука је заправо стечен.
Дакле, имамо један циљ данас, да то не чине.
Можда бисте укључили режим рада у авиону.
У реду.
Дакле, идемо у један Програм овде цалллед--
да ћу звати текст тачка ПХП.
И унапред, имам два фајла овде.
Направио сам слику за само особље, које има сви Инфо особља, сва имена
са сајта курса је.
А онда, за сада сам ставио неки лажни број 555-1212.
Дакле, ово не би заправо нигде.
Али приметите унутрашњост ове ЦСВ датотеке, којима смо разговарали о кратко пре
у контексту датотеке ИО.
>> Шта је ЦСВ датотека?
Раздвојене зарезом променљиве.
И ово је нешто као веома лаган база података, ако хоћете.
Постоји врста од врста четири колоне У овом фајлу, и тамо разуђена,
али су зарези у суштини представљају колоне у датотеци.
Прва колона је ТФ или име ЦА екипе.
Друга колона је њихово презиме.
Трећа колона је њихов број телефона.
И четврта колона очигледно је- Четврта колона је очигледно шта?
У реду, тако да је њихов носилац.
Дакле, Веризон, Спринт или, или шта не.
И ако сам се погрешно изразио раније, ЦСВ.
Цомма сепаратед валуес ЦСВ је овде.
>> Дакле, шта могу да урадим са овим?
Па ово је само један велики текстуални фајл, и то некако дуго, зар не?
Овако ће се бити нека врста досадне.
И испоставило се, међутим, да ако желите да пошаљете текстуалну поруку, хајде да
кажу Алек овде.
Пусти ме у мом бровсер и изађите из режима целог екрана
само да бих могао да искључи напред и назад.
Испоставило се, да видимо, ако одем у овде, и пријавите се на Гмаил, у реду.
Не гледај у овом делу.
Само сам да видим.
наравно, може ливестреам и даље види шта радим.
У реду.
>> Дакле, овде је само Гмаил са Рачун Јохн Харвард екипе.
Дакле, ако желим да пошаљете текстуална порука са Алексом,
И наравно да напишете поруку.
И испоставило се, и ја сам тестирали са Алексом пре овде,
тако да можете додати одређени домен име на телефонске бројеве људи,
јер постоји у свету ствари зове СМС на емаил гатеваи.
Што је фенси начин да се каже све од нас који имају мобилне телефоне који
имају бројеве телефона, наравно, вероватно је за ваш превозник,
одређени суфикс као на Втект.цом за Веризон текстуалне поруке
дот цом, које можете додати на листу сопствени број телефона лично, а затим
ти или пријатеља, или ваши родитељи могу Текст који сте у тој адреси.
>> И Веризон има сервер, е-маил Сервер, који по добијању ову поруку,
гледа на нумеричке део и затим користи без обзира посебну магију индустрија
они морају да заправо послати преко таласима то иоур одређену ћелију
тел.
Ово је лепо јер ја не знам знам како послати текстуалну поруку
или да ипак пишу код за мој мобилни телефон,
и можда учинити управо то за коначни пројекат, али за сада све
Имам је мој лаптоп овде.
Дакле, желим да поновити преко тог ЦСВ Филе, линија, линије, линије, линије,
зграбите сваки од бројева телефона Штаба је, и њихов носилац и програматицалли,
спојите, то јест, повежите телефон број са одговарајућим именом домена
а затим пошаљите мејл.
>> Дакле, то је много корака.
И срећно то ради у Ц. То је ноћна мора ситуације
да бисте отворили датотеку, да га прочитам линија, линије, линије, вама као
виде, или може ускоро видети са проблемом сет пет, ако није
Проблем сет четири, а затим динамички спојите
два жице заједно, јер у Ц, да се две жице и комбиновати их,
Шта радиш минимално треба да урадите највероватније?
Морате да прогласи више меморије, зар не?
И питам, маллоц, могу ли добити више меморије?
Тако да могу ставити пола од овога овде, пола од овога овде.
То је само толико корака.
А до тада сте изгубили Интересовање за глупом малом демо
где се свачији телефона бип.
Хајде да урадимо ову врсту ПХП стил, чиме смо
почнете да користите више тог судопери.
>> А идеје су основи исти,
али ми не морамо да превише бринути толико о том нижем нивоу.
Дакле, хајде да видимо како бих могао ићи око радиш ово.
И само тако да ја не понављања грешака из прошлости,
Написао сам неке белешке за себе овде.
Да видимо да ли могу да ходам нас кроз неке од основних корака,
и онда зарад добра времена ћемо можда смањити неке углове на крају.
Ја ћу да наставим и да отворено носач ПХП-да бисте започели ову слику.
И ја ћу ићи напред и учинити.
Филе дршку, као што ћете ускоро видети, уствари
позива функцију која се зове Ф отворена.
И запамти ово отвара фајл.
А цитат, под знацима навода, Р значи шта, опет?
Само га отвори за читање.
Сада у п сету за, ти си урадио ово.
И хандле може бити било шта, Фу, Бар, Бас, свака променљива име.
Али генерално рачунар научник би позвати отворену датотеку,
дајући вам ручице датотеке, нешто да задрзи да се тако изразим.
Ја ћу да радим нека провера грешака.
Дакле, ако ручка лажна, баш као ин Ц, ја ћу да урадим нешто слично,
нисам могла да отворим датотеку, инверзна коса црта н.
И онда ја ћу да иде напред и излаз.
И испоставило се, у ПХП-у, Нисам у функцији.
Нема основна функција овде.
Тако да ја не вратим, само по себи.
Ја излаз.
Који је у суштини иста ствар.
И ја изласка са једним и вероватно.
Један само значи грешку неке врсте.
То је не-нула, тако да је грешка.
>> У реду, тако да ако сам овде доле у свом програму сам отворио фајл.
Ја идем напред и прогласи низ се зове адресе,
а Ц ја би морао знати величина низа унапред, зар не?
Или би требало да се изјасне ово је показивач, а затим користите маллоц.
И онда сваки пут кад прочитам преко другог реда у датотеци,
Ја ћу морати да маллоц више меморије, маллоц више меморије.
То је бол у врату.
И на срећу, ПХП и Руби, и Питхон, и ЈаваСцрипт, они
ће расти своје низова за вас аутоматски.
Нема више маллоц.
Нема више управљање меморијом.
Рачунар се брине о томе.
Али цена коју плаћате.
Мало је спорији.
А за програм као што је овај нећемо приметити.
Ми ћемо послати 100 текстуалних порука.
На пример, неће осјетити.
То је заиста само почиње да битно свој језик избора
када ваши подаци или ваши програми да стварно, стварно знатни,
као што ће бити случај утолико са нашом веб басед ствари.
>> Али за сада идемо полако напредују.
Иако се испоставило да има Функција у Ц зове м се ЦСВ.
Фајл добити ЦСВ, да траје филе ручицу као свој аргумент,
и онда наставља, ред, од ред, по ред, да се чита у ред.
Тако да само чита линију текста из списа.
Али оно што је лепо о овој функцији, не само ми дај линију текста.
Изгледа за оне зарезима, и парсира линију.
И то парсе линију значи да поделимо то на одређеним вредностима у овом контексту.
>> Другим речима, знак долара ред је променљива која је
ће ми дати гомилу индекса.
Ово ће бити прва колона у мом ЦСВ.
Ово ће бити други колона, ово ће бити трећи,
а ово ће бити четврти.
Јер, подсјетимо, и Екцел Тхе нот сарађује последњи пут смо то урадили,
али ако преузети особље дот ЦСВ.
Упс, не преименовати.
Ако преузмете особља дот ЦСВ, и покушајте отварања,
Већ сам регистеред-- Ох није упдате Екцел од прошлог пута.
Видећете да у особља дот ЦСВ Имам четири колоне.
Дакле, када сам прочитао у први ред за Абби овде,
долар знак ред 0 је Абби, долар знак ред је један Лионс
долар знак ред два је њен број, а затим носилац њеног телефона.
>> Дакле, то је све.
И то је лепо, јер ја немају сада да схватим
где свих тих навода заиста јесу.
Зато ћу ићи напред и ово, с обзиром да дефиниција,
Ја ћу да кажем да је њено име у реду брацкет нула, као што је обећао.
И ја ћу да граб-- и Заправо, знаш шта?
Нећу да бринете о њено име, у овом случају.
Ја ћу држати једноставније.
Ја ћу да радим њен број је у реду брацкет два, мислим.
И њен носилац је где?
Ред три, један изнад.
Дакле, ништа ново тамо.
То је само нула индексирање у матрици.
>> И сад, ја ћу да урадите следеће.
Ако превозник једнак једнака АТ & т-- Ја ћу имати лооп--
Желим да се створи емаил Адреса то изгледа овако.
То ће бити 617-555-1212 у, шта је то, тект.АТТ.нет,
је оно што желим да урадим.
Па како то да урадим ово?
Ја ћу да урадите следеће.
Њена адреса ће бити њен број, а сада, пусти ме само напред и урадите то.
Ово је неки фанки синтаксе.
Могао бих да ова одсто трик, али ја могу само ово.
>> Дакле, ово је ПХП ствар, али хајде да размотримо шта радим.
Долари знак адресу на лева, само променљива.
Дај ми променљиву.
Ја не морам да одредите тип.
ПХП ће схватити.
На десној страни, шта је тип података
те целе ствари на десној страни?
Изгледа као стринг, јер је дупла
наводи на далеко лево и десно далеко.
Сада постоји неки фанки нови синтакса овде.
Има великих заграда, а долар знак број.
Али да претпоставите шта је то синтакса Вероватно говори ПХП да уради за мене?
Да.
Само убаците вредност тамо.
Дакле, нема одсто а.
Могли би да искористимо за штампање Ф или с штампа ф или нешто слично томе,
али ПХП и много језици вишем нивоу,
ви ћете видети да сте могли раде исту ствар функционално, можда
шест различитих начина.
И тако почиње да постане питање дизајна и стила.
Дакле, ово је само загонетан начин гледа да се каже, дај ми адресу е-поште,
али плуг-ин броја у између ових заграда.
И великих заграда неће завршити у завршној речи.
>> Сада можемо да прескочимо неке од ове линије за име времена.
Дакле, ако носилац једнака једнако верХоризон-- Упс,
Веризон-- желим да радим нешто веома сличан, где је адреса добија,
цитат, под знацима навода, број на тект.АТТ.нет.
И онда могу да урадим исту врсту ствар за остатак превозника.
Али ја ћу учинити тачка, тачка, тачка за сада.
А сада претпоставимо да Желим да додам низ, гурај.
Желим да додам до Арраи, под називом адресе.
>> Ова адреса, ово је како си додати нешто низа у ПХП.
Не треба да урадите маллоц.
Не морате да промените величину низа.
Само реци Арраи, гурај.
Шта желите да пусх-- шта арраи желиш да гура нешто на?
Адресе.
Шта желите да гурне на адресе?
Адреса.
А у ствари, ти ако стварно желиш да будеш паметан,
неки синтактичка шећера за то, да тако кажем,
што само значи како можете да урадите ово лепше начин би био да се уради.
И то има ефекат раста Адресе низ по величини једне,
и онда бућ да додатно е-маил адреса у њега.
Да.
>> ПУБЛИКА: [неразумљиво]
>> СПЕАКЕР 1: грешка у куцању на друго ако-- Ох, носач.
То је ок.
Такође се неће допасти мој неуспех спроведе део овог програма
после.
Али хвала ти за хватање.
Још једна буба.
Хвала вам.
Желимо да ово буде Втект.цом.
Да.
У реду.
Па где нам ово оставити?
Ми смо написали код да бисте отворили датотеку.
Имамо петљу да поновити преко редова у датотеци.
Имамо код који додаје да мој низ, један по један време, правилно
форматиран е-маил адреса.
Дакле, све то заиста остаје за слање е-маил да сваки од ових људи.
>> Тако да сам отишао напред и реадиед се на следећи начин.
Шта ћу да радим овде је-- и хајдемо само напред и пређите на неком стварном код,
која изгледа овако.
Дакле, овде је пре печена Верзија сам написао раније.
И приметио сам завршио спровођење Спринт.
Завршио сам имплементацији Т-Мобиле.
Завршио сам спровођењу Виргин Мобиле.
И ја ћу се извињавам унапред.
Постоји неколико носача који неки ученици у разреду имају
да нисам сметало набрајам у стању ако овде.
Дакле, нису сви текстови ће се угасити.
Али, хајде да видимо шта још треба да урадим.
Затворим фајл, само као у стр сет четири.
>> А ово је нова синтакса.
А видећемо мало Мало тога током времена,
посебно са п сет седам и осам.
Али ово је синтакса за креирање посебна врста структуре.
Испоставило се да постоји библиотека која долази са ПХП, зове ПХП маилер.
Његова сврха у животу је да програмски шаљу мејлове.
То је код неког другог то написао олакшава нам послати е-маилове,
тако да не морате да задржите иде напред и назад на Гмаил,
и налепите у е-маил адресе људи.
Постоји гомила линија овде да искрено, само сам копирао
и лепили из документације.
У ствари, ако сте радознао, све оставио сам
УРЛ адресе документације у коду да ћемо писати касније.
И приметио да је међу ствари које сам радим
је, ја говорим ову библиотеку, користите Гмаил серверу, зар не?
СМТП смо кратко разговарали када смо били на Јејлу о томе Симпле Маил
Трансфер Протоцол.
То је протокол који сервери користе за слање е-маил,
и то је-- Гмаил има једну од тих.
Порт, ово је ТЦП број порта.
У реду је ако вас нису видели 587 раније.
Само знам да из документације.
Ево моје корисничко име.
Ја ћу користити ЦФ50 бот.
И у једном тренутку, ја ћу да укуцајте бот стварним лозинком.
А онда овде доле, приметио оно што остаје.
>> Кренуо сам из ми адресу да се бот на ЦС50.нет.
Мислим да нећете зажалити слањем Текст поруке до 800 људи који
каже, недостајеш ми, љубави ЦС50 Бот, можда за оне који не могу успети данас.
А онда у реду 76, шта да радим?
Ова врста изгледа као Ц. Дакле, за и једнако 0, н екуалс-- сада броји је нова.
Испоставило се да, ако желите да добијете број ствари у низу,
не морате да се више сјетити.
Можете само да поставим функција названа датотека,
и она ће вам рећи колико адресе су у том низу.
>> А онда ћу да додам адреса на е-маил.
И знам то из користећи документацију.
Постоји додатак адреса функција.
А сада приметити ту је један део синтаксе.
Видели смо то раније у Ц. Слично у духу.
Можете мислити на долар знак маил као променљива, што је она.
Али то је струцт унутар које нису само својства,
варијабле ако хоћеш.
Али испоставило се да у ПХП-у, који је програмирање објецт ориентед
језика, као и Јава ако је оклопним транспортерима.
>> Знак за долар пошта, ако желите да-- такође има функције унутар ње,
или методе.
Дакле, ово је рећи да Посебан ПХП-Маилер
библиотека, ако имам његов променљиву, ако желим да позовем функцију која
долази са те библиотеке, за данашње потребе,
Само знам да користите стрелице запис.
Нема тачка нотација.
То је само стрелица.
Али то није показивач.
То је само позајмио од синтакси Ц екипе.
Па зови додати адресу унутар Објекат Ова библиотека или променљива.
>> У реду.
Ово је магични линија.
Тако сам послати е-маил.
То је еквивалент отварању Гмаил је куцањем, и ударају послати.
Али то ће уместо испрати е емаил на ову адресу, са овим телом,
од ЦС50 бот.
И сада кључ линија.
Ова линија је одсутна у 2011 као кад помислим сам последњи пут покушао ово.
Та линија која је, наравно, брише адресе.
Дакле, логично, ако И не обришете адресу
после сваког итерацији, прва е-маил или текстуалну поруку одлази у Алице,
друга иде Алиса и Боб, трећи
иде на Алиса и Боб и Цхарлие, стога веома скупо грешка
Направио сам те године.
>> Па да видимо.
Има ли питања пре него што вам послати све текст
порука са 10 одсто вероватноће?
Неко питање?
У реду.
Идемо ме овде и промене лозинка за шта треба да ради,
ће вероватно добити црну листу Гмаил.
Дакле, они можда неће сви ићи напоље, јер они вероватно
нас не воле слање е-маилова 800 у фор петљи одједном.
Пошто то није посебно људско понашање.
>> О, ја ћу променити једну ствар.
Горе на врху, ја ћу сент-- промените слику да студенти дот ЦСВ.
И неће отворити, али ово је идентичан ЦСВ датотеку са не 100 запослених,
али 800 студената, само на Харварду, јер Јејл
има удубљење октобра ове недеље.
И чини се као врста кретен ствари да уради да би текст све њих зашто
нису у класи на одмору.
То је ок.
Само Харвард студенти Данас унутар тог фајла.
А сада да се вратимо мом прозору терминала.
Ја сам мало нервозан.
>> ОК, сада ћу да одем у директоријум, и ПХП текста тачка ПХП.
Како о једном храбром волонтер?
Дакле, ја не желим да ово на мене.
ОК, хајде горе.
Како се зовеш?
Маиа Маиа.
СПЕАКЕР 1: Маја.
Хајде, Маиа.
У реду.
Да видимо да ли ово ради.
Ставио сам своју емаил адресу у филе-- свој број телефона у датотеци,
тако да надам се да ћу добити један.
Драго ми је да смо се упознали.
МАЈА: Исто тако.
СПЕАКЕР 1: Дакле, све што треба да урадите је хит Ентер да бисте послали 800 текстуалне поруке,
ако не забрљам.
Lep.
Да ли потрајати, статистички, док не дођемо до емаил аддресс--
текстуална порука да је у собу одмах.
Да задржавају и видимо.
>> ПУБЛИКА: [Вхистлинг]
>> СПЕАКЕР 1: О, да.
>> ПУБЛИКА: О, те.
>> СПЕАКЕР 1: За петље су-- ово није спор због ПХП.
Ово је спор, јер Гмаил нас гушење и не
допуштајући нам послати више од као један емаил по секунди.
Било шта?
Ово је био тежак ствар за мене да тестира на кући са само мене и моје једном телефону, тако.
Да ли је то надам се из бот?
Да?
Ne?
Kazi da.
Ne?
То је од пријатеља?
Авквард.
ОК.
Прилично сам сигуран да је ипак ради.
Uh Oh.
Они блацк-- ох, цекај мало.
Ох, знаш шта?
Само мало.
Само Маиа и Ја Миа је то било?
Маиа Маиа.
СПЕАКЕР 1: Маја, ће знам шта сам урадио погрешно овде.
Ох, чекај мало.
Мислим да сам управо послао 100 текстуалне поруке на 555-1212.
Причекати.
Ја не могу да победим било која година.
ОК.
Маја?
Фик то у пост-продукцију.
Проклетство!
Након из адресу.
У реду, станд би.
Извините.
То је болно сваке године.
У реду, само тренутак.
Ово је добро.
Ја уместо да радим ово.
Штампа адреса.
У реду, станд би.
Принт адресе, конзола и.
Да, то ми се свиђа.
Доллар сигн-- реду ја ћу објаснити шта сам ради у једном тренутку, након што сам покренути ово.
Сваке године.
У реду, идемо.
Имам само-- и не желим показати свачију број телефона,
али могу да потврдим Маја са климањем главе,
да она види сви број телефона у класи
да ћу копирати у програм који се зове Гмаил-а.
И ако у Гмаил-у, шта желимо да кажемо?
Недостајеш ми.
Лове-- то није од мене.
Нисам ни ударио послати још.
Дакле, идемо напред и урадите ово, ако могу зумирати у.
ОК.
Тако да сам с програма под називом Гмаил сада.
Ако Маиа, желите да кликните на дугме Пошаљи,
ми ћемо симулирати шта је Код требао урадити.
>> Било шта?
>> [Бееп]
>> ПУБЛИКА: Да.
>> СПЕАКЕР 1: Да?
Спасење?
>> ПУБЛИКА: Да.
СПЕАКЕР 1: Недостајеш ми.
И ја ћу послати остатак.
Послао сам пола јер нисам мислим Гмаил би пустио оне проћи.
Па само се сетите, данас је дан да сте сазнали да могу да користим Гмаил.
То је застрашујуће.
Велики аплауз за Маје.
Хвала вам.
У реду, тако.
Шта
>> [Бееп]
>> Имамо неколико звучних сигнала, зар не?
У реду.
Сада ћу добити 700 стварно несрећне емаил назад из школских другова.
Дакле, барем ћемо видети ако је вредело.
Дакле, шта је пошло наопако?
Ја ћу схватити шта се погрешно након чињеница,
али само погледајте колико је лако било је то да урадим у ПХП-у.
Дакле, шта можемо сад да стварно имамо овај изражајност ПХП.
То је било-- то је било грозно.
У реду.
Дакле, то је оно што би требало да оде напоље.
Ово ме је тестирање јутрос на мој телефон, стварна с мог телефона.
>> Али сада хајде да размотримо зашто ми заправо уводите
све ове ствари на првом месту.
Дакле, циљ је да се пишем ове програме који
се пишу на командној линији, зар не?
Тако сам написао једноставна здраво програма, написао сам
мали програм који ради уређаја, и користио читања линију и тако даље.
И у теорији, Управо сам написао програм који је послао из
800 текстуалне поруке, узми или остави 800.
А тај програм је све и даље раде на командној линији.
И то је наравно Није веб, зар не?
Циљ је да се сада почнете да користите оно што ја тврдим је лакши за коришћење
језик, претпостављам Више моћан језик у смислу
од особина које долазе са њим, да почне
писања кода да генерише веб странице.
>> Дакле, последњи пут и прошле недеље, разговарали смо о ХТТП и ХТМЛ.
А шта је лепо о ХТМЛ- је да је само чист текст.
А текст је свакако нешто што можете
принт буквално позива отисак Ф функцију, или функција за штампање.
И заиста, то је оно што ПХП је Сада ће нам омогућити да радимо.
Дакле, међу примерима смо има у данашњем изворног кода,
поред неких кодекса да сам ставио тамо малопре,
имамо програме као што је овај пример.
Фросхимс, или Фресхман Интрамурални Спорт, заправо
један од првих додатних планова Сам се укључио у пре неколико година.
И мој цимер и ја, са нека друга деца у кампусу,
се користи за покретање програма фросхимс.
Узимам своје текстуалне поруке сада.
>> Сада тако да смо, назад у дан, тако да је ово је 1996 или тако, било је интернет,
али није није било процесс-- било сајт фросхимс.
И тако, ако желите да се пријавите за фудбал или одбојку или било шта друго,
ти би попуните ово зове комад папира,
и ти би ходати преко Харварду двориште, а ти би га померите
у маил отвор на Процтор, који је је био у Вигглесвортх, један дом.
И то сте регистровани.
И он или она онда би компонује емаил за вас
ручно, слично као И Управо сам овде са Мајом,
и онда би потврдили да су били регистровани.
>> Дакле, ово је као мали виси воће, да се тако изразим.
Било је то глупо смо користили папир за ово.
Хтео сам да бисмо могли само да одем на сајту,
или имају бруцоша ићи на сајт, региструјте за спорт,
и само аутоматизују доста овога стављајући своје име и е-пошту
и тако даље у базу података.
И у ствари, веома прва верзија на сајту, користећи Супер ружну ХТМЛ,
можда изгледало овако нешто.
То је заправо била, иронично, више срамотно тражи од овог леђа
онда.
Али сам користио програмски језик.
Не ПХП већ зове Перл што је старији језик,
али врло слично у духу.
И ја сам потпуно учио га за себе.
И то ми је времена да га схватим, тражи пуно питања пријатеља.
Али идеје тамо били исти.
Јер оно што је заиста дизајниран ПХП за није командне линије ствари
смо играли са, али за веб програмирање.
>> То је заиста везан у свом функције постављена на веб, као што следи.
Ово је фросхимс.
И ако сам желео да региструју у овом облику,
ово је прилично ружна, свакако, али дозволите ми само напред
и бити мање удобан ученик, и шта год спорт за Маттхевс,
кликните регистар.
Оно што желим да будем у стању да уради је доставе информације из форме,
не Гоогле серверу као ми смо прошли пут, у потпуности
варање преко њихове бацкенд, ја Желим да спроведе своју бацкенд код.
Што значи писања ПХП Код који живи на УРЛ
да подаци форма може се поднети.
>> А онда ваш код, написан у ПХП на серверу,
онда могу одговорити на тај улаз корисника.
Као његово име, или ниво удобности, или спаваоница, а затим урадите нешто са њим.
У овом случају, само глупо је одштампан
као текст, који није све тако лепа.
Али ти сигурно могао замислите, ако знате ХТМЛ,
и ускоро ћете знати како да створи ХТМЛ-са штампом ф, и принт,
и сличне функције, сигурно може генеришу лепшу веб страницу на којој пише,
Хеј Давиде, ви сада регистровано.
Ти си мање удобна студент из Маттхевс, зар не?
>> Само можете користити гомилу% сес, или великих заграда и знак долара
обележавање сам малопре, да генеришу текст који је више усер фриендли
од овога.
Дакле, хајде да погледамо овај један фајл.
Фросхим нула тачка тект изгледа овако.
Када сам релоад ЦС50 ИДЕ, фросхим нула изгледа овако.
Ово је фросхим нула тачка ПХП.
И шта сте приметили о овом фајлу?
>> ПУБЛИКА: [неразумљиво]
СПЕАКЕР 1: Извињавам се, мало гласније?
ПУБЛИКА: [неразумљиво] Све је у ХТМЛ.
И, у ствари, то је зато што оно што је занимљиво у вези ПХП
је да је осмишљен бити, у добру
или још горе, помешана са ХТМЛ код.
И у ствари, иако је ово Филе, фросхим нула дот ПХП,
има коментар ПХП на врху од тога, то је само ХТМЛ.
Али с друге стране, ако се отвори, хајдемо рецимо, региструјте нула дот ПХП, која
само има велики коментара на врху.
Ово такође изгледа готово у потпуности као ХТМЛ, осим за шта?
Линија, шта, 21 изгледа мало чудно.
>> Али приметио сам улазак ПХП режим са отвореним брацкет вопрос ПХП.
Онда имам неке ствари.
И онда на крају тог реда Скоро сам, Куестион Марк ПХП.
И то је оно што подразумевамо под измешаних.
Можете написати ХТМЛ који сте управо желите да сервер испљунути.
Али, ако желите да урадите нешто динамична партваи преко странице,
Као убаците своје име или дорм или ниво комфора,
Могу да користим функцију попут Принт Р што је
принт рекурзиван, што само значи одштампате ову променљиву, то форматирање
kako god želite.
То стварно није за људске сврхе, то је само
за отклањање грешака или дијагностичке сврхе.
Тако да сам ја то урадио.
>> Ако уместо тога одем фросхимс два тачка ПХП приметити да је акција ове форме
није регистрован нула дот ПХП као олд-- је претходни је био.
Али је регистрована два дот ПХП.
Дакле, хајде да погледамо како ова понаша мало другачије.
Ако одем у верзији два.
Ако овде, ако се региструју као Давида мање, удобно, из дому на Матхевс,
registrovati.
Дакле, овај пут је рекао, су регистровани, не баш.
Хајде да видимо шта сам урадио овде.
Ако погледате регистар два дот ПХП ово има још мало ПХП код.
Мало је чистији, мада је и даље обавија мало дуго на овој линији.
Обратите овде.
Ја одштампати своју ХТМЛ тагове, моја глава ознака, мој наслов таг, глава, тело.
>> И онда почнем да кажем ствари као што унесете ПХП режим.
И тако тага, отворена заграда ПХП-- знак питања тект каже,
хеј, сервера, екецуте-- тумаче следеће ствари као ПХП
док не видите крај ознаку.
И иако можда не знате било друга књига о ПХП него што сте видели до сада,
можете прочитати врста је прилично интуитивно.
Ако име је празна, или удобност празна или спаваоница је празна, шта да радим?
Шта да кажем за корисника?
Морате навести своје име, удобност, и спаваоница, и тако даље.
Иначе, ја кажем да јеси регистрован, добро не баш.
>> И не кажем баш јер нема базе података.
Ја не радим ништа са подацима.
Ја га само бацити за демонстрацију.
Сада сам некако скимпед преко линије 22.
Има још синтакса тамо, али знак долара
наглашавају порука је интересантно.
И то је оно што је лепо о ПХП.
У ПХП, имате оно што се назива а неколико супер глобалне променљиве.
Они су нека врста још важније од глобалних променљивих.
И ово, сви капитализован као што су, долазе са ПХП.
Дакле, ако имате сервер који има веб сервер инсталиран, као и Апацхе,
и инсталирате језик Подршка за ПХП, све Одједном ти
да почнете да користите ове супер глобалне променљиве у вашем коду.
>> А шта је лепо у вези ПХП је да ако само
напише датотеку која се завршава у дот ПХП је ставити на веб сервер,
и онда поднесе пријаву за њега преко тог акционог таг и форме таг,
да је акција атрибут у облик ознака, ПХП и веб
потпуно схвати како да зграби све те кључне вредности парови се
УРЛ адресе као питање Марк К једнако мачке,
она ће схватити како к и мачке.
Ако пошаљете фотографију, или име, или лозинке да воле Фацебоок,
ПХП ће схватити за вас где све те податке је.
И то ће предати ти асоцијативна низ
зове знак доллара доња црта порука, или долар знак подвучем да,
у зависности од тога да ли сте коришћењем добити или пост поднеске.
И то ће вас предати супер глобална променљива,
тако да ако желите да добијете на име да корисник доставити путем тог веб
облик, буквално само реци име у супер глобалне променљиве, цитат,
Крај цитата, име.
И цитат, под знацима навода удобност, и цитат, под знацима навода спаваоница.
И ми ћемо бити у стању да уради ово и много више са ПХП.
И иако је то било вихор поглед на њега,
ћемо ронити у много следеће недеље.
Ми ћемо увести базу података тако да у ствари
ће почети имплементацију твоја е-трговина басед--
Као сајту у тренутку само недељу дана.
Дакле, видимо се следећи пут, и Надам се да имаш текстуалне поруке.
Здраво.
>> [Мусиц плаиинг]
>> [ОТВАРАЊЕ ВРАТА]
>> Звучник 2: Хеј.
Спеакер 3: Шта има?
Звучник 2: Шта радиш?
Спеакер 3: Рад на проблем сету.
Звучник 2: Лепо.
Баци коску.
>> [БАЦИ КОСКУ]
>> Шта су- Ух, шта радиш овде?
Спеакер 3: Само хангинг оут.
Управо сам се вратио из теретане.
Нисам могао а да не приметити када смо високо-фивед,
да имате прилично грубе руке.
Да ли идете у теретану?
>> Звучник 2: Не
Ne.
>> Спеакер 3: Човече, изгледаш прилично велик.
Што је лоше, јер сви знају 8-Лопта је велики човек на кампусу.
Баци коску.
>> Звучник 2: Ух, не.
Не, мислим да сам добро.
Мислим да сам добро.