1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Недела 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Универзитетот Харвард] 3 00:00:04,000 --> 00:00:07,000 [Ова е CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Добредојде назад. 5 00:00:09,000 --> 00:00:11,000 Ова е CS50, а тоа е почеток на недела 8. 6 00:00:11,000 --> 00:00:14,000 Неколку можности оваа недела, 7 00:00:14,000 --> 00:00:17,000 меѓу нив овој разговор тука, во кои некои храна ќе биде задоволена. 8 00:00:17,000 --> 00:00:20,000 За повеќе детали проверете на слајдови кои се онлајн. 9 00:00:20,000 --> 00:00:24,000 И, исто така, уште еден настан оваа недела од страна на нашите сопствени Томас Carriero. 10 00:00:24,000 --> 00:00:27,000 Тој е еден од поранешен шеф CS50 е наставата соработници, кој е сега во Dropbox, 11 00:00:27,000 --> 00:00:29,000 и тој е човек кој ни уредила со знаете што, 12 00:00:29,000 --> 00:00:36,000 па ако сакате повеќе од тоа главата на нивниот разговор ова попладне за Dropbox и многу повеќе. 13 00:00:36,000 --> 00:00:38,000 CS50 ручек е овој петок. 14 00:00:38,000 --> 00:00:41,000 Дали ни се придружите, ако сте во можност, 01:15, како и обично, во Fire and Ice. 15 00:00:41,000 --> 00:00:45,000 >> И сега ние се нурне во нешто што се нарекува Семинари. 16 00:00:45,000 --> 00:00:49,000 Нашите CS50 Семинари, се потсетиме, дали тие се опционални класи предводена од наставата соработници 17 00:00:49,000 --> 00:00:51,000 и се разбира асистенти и пријатели на курсот, 18 00:00:51,000 --> 00:00:55,000 луѓе од група на кампусот наречен ABCD, која е група на 19 00:00:55,000 --> 00:00:58,000 technophiles на кампусот, како и групата наречена HCS, 20 00:00:58,000 --> 00:01:02,000 Харвард Компјутерски општество, студенти кои се слично заинтересирани за компјутери. 21 00:01:02,000 --> 00:01:08,000 Списокот за оваа година на семинари вклучува семинари за Андроид и IOS и го вклучите Javascript- 22 00:01:08,000 --> 00:01:13,000 и PHP, Unix, Vim, и повеќе, па сфати дека овие семинари се доаѓа. 23 00:01:13,000 --> 00:01:16,000 Ако сакате да RSVP за било кој од нив се упатат кон овој URL тука. 24 00:01:16,000 --> 00:01:20,000 Тогаш ние ќе ги објави на веб страната на курсот на времиња и места откако ќе се финализираат. 25 00:01:20,000 --> 00:01:26,000 Но знаете вреди таму е 5 години на пред семинари се достапни онлајн, 26 00:01:26,000 --> 00:01:29,000 од кои многу се уште е многу актуелна во однос на технологии што може да 27 00:01:29,000 --> 00:01:36,000 сакаат да играат со за вашата крајна проекти, па главата таму некое располагање видеа од него. 28 00:01:36,000 --> 00:01:39,000 >> CSS, оние од вас кои се запознаени со CSS веќе, 29 00:01:39,000 --> 00:01:42,000 што е тоа во мало? 30 00:01:42,000 --> 00:01:45,000 Што е CSS? 31 00:01:45,000 --> 00:01:48,000 Тоа е Cascading Style Sheets, и што значи тоа? 32 00:01:48,000 --> 00:01:53,000 Што значи дека направи за нас, CSS? 33 00:01:53,000 --> 00:01:57,000 Добро, ајде да се загрее со полесно еден, HTML, HyperText Markup Language. 34 00:01:57,000 --> 00:02:01,000 Што значи дека направи за нас? 35 00:02:01,000 --> 00:02:04,000 Секој на сите? 36 00:02:04,000 --> 00:02:07,000 Станува навистина непријатно прашуваат овие прашања. 37 00:02:07,000 --> 00:02:11,000 HTML, HyperText Markup Language. 38 00:02:11,000 --> 00:02:14,000 Да? Не? 39 00:02:14,000 --> 00:02:17,000 [Нечујни студент одговор] 40 00:02:17,000 --> 00:02:20,000 Океј, добро, тоа ни овозможува да ги означите текст да се прикаже во веб прелистувач. 41 00:02:20,000 --> 00:02:22,000 Тоа не е програмски јазик. 42 00:02:22,000 --> 00:02:25,000 Тоа е навистина јазик за Селектирај, што значи дека им наредува на прелистувачот како да се прикаже 43 00:02:25,000 --> 00:02:28,000 информации, па наједноставниот инкарнација на тоа како сме виделе 44 00:02:28,000 --> 00:02:32,000 е нешто супер едноставен како boldfacing, отворен заградата б затворена заграда вели 45 00:02:32,000 --> 00:02:36,000 направи оваа текстот задебелен, а тоа е всушност само еден од многуте начини 46 00:02:36,000 --> 00:02:39,000 во кои можеме да го направиме тоа, и навистина, овие денови подобар пристап 47 00:02:39,000 --> 00:02:42,000 да stylizing вашата веб страница, правејќи нешта храбар и искосен 48 00:02:42,000 --> 00:02:47,000 и центрирани и оправдани и слично, не се прави преку HTML тагови сам 49 00:02:47,000 --> 00:02:51,000 туку со техника наречена CSS, Cascading Style Sheets. 50 00:02:51,000 --> 00:02:53,000 Ова е јазик при себе. 51 00:02:53,000 --> 00:02:55,000 Тоа не е премногу не е програмски јазик но- 52 00:02:55,000 --> 00:02:58,000 сите, ова е Дан, кој постојано ни се придруживте денес. 53 00:02:58,000 --> 00:03:01,000 Некои технички тешкотии. Не е проблем. 54 00:03:01,000 --> 00:03:04,000 >> CSS ни овозможува да стилизирам страница 55 00:03:04,000 --> 00:03:07,000 со поставување на она што се нарекува својства, па ајде да ги разгледаме во оваа 56 00:03:07,000 --> 00:03:09,000 по пат на некои основни примери. 57 00:03:09,000 --> 00:03:12,000 Дозволете ми да одат во апаратот денес. 58 00:03:12,000 --> 00:03:15,000 Имам извор 8 понеделник директориум овде, 59 00:03:15,000 --> 00:03:18,000 и јас ќе одам да си во директориумот наречен CSS каде што имаме еден куп 60 00:03:18,000 --> 00:03:21,000 на датотеки чека на нас тука, 61 00:03:21,000 --> 00:03:27,000 и во оваа папка имаме, на пример, search0.html од минатиот пат. 62 00:03:27,000 --> 00:03:31,000 Сега, да се потсетиме со search0 тргнавме на оваа белешка 63 00:03:31,000 --> 00:03:35,000 по вид на спроведувањето на Google или навистина само предниот крај за тоа за една недела или така пред, 64 00:03:35,000 --> 00:03:38,000 и ќе забележите дека имавме некои нови тагови таму. 65 00:03:38,000 --> 00:03:41,000 Имавме h1 за голем, храбар наслов, 66 00:03:41,000 --> 00:03:45,000 форма, која ни овозможи да всушност имаат HTML форма за корисникот влез. 67 00:03:45,000 --> 00:03:48,000 Акција, што е значењето на акција атрибут 68 00:03:48,000 --> 00:03:52,000 на HTML форма таг? 69 00:03:52,000 --> 00:03:58,000 Што е значењето на ова, акција? 70 00:03:58,000 --> 00:04:00,000 Јас само ќе го направите ова денес. 71 00:04:00,000 --> 00:04:03,000 Акција е дестинација каде форма ќе бидат доставени. 72 00:04:03,000 --> 00:04:07,000 Фактот дека во која се вели акција = "google.com / пребарување" 73 00:04:07,000 --> 00:04:10,000 значи дека кога корисникот ќе кликне на копчето или еквивалент 74 00:04:10,000 --> 00:04:14,000 било форма полиња се пополнети ќе бидат испратени не до нашиот сервер 75 00:04:14,000 --> 00:04:17,000 или нашите апаратот туку на конкретни рачно во Google. 76 00:04:17,000 --> 00:04:19,000 И начинот тоа се случува да се користи се нарекува добие, 77 00:04:19,000 --> 00:04:25,000 и ќе добиете, за сега, е само техника за донесување информации заедно со веб серверот 78 00:04:25,000 --> 00:04:29,000 по пат на URL-то, па ајде да го земеме еден брз поглед назад во како тоа функционира. 79 00:04:29,000 --> 00:04:31,000 >> Забележете дека има влез чие име е н 80 00:04:31,000 --> 00:04:35,000 чиј тип е текстот, а потоа и вториот влез од типот достават 81 00:04:35,000 --> 00:04:39,000 чија вредност е CS50 Барај, и навистина, ако ние се отвори оваа датотека тука, 82 00:04:39,000 --> 00:04:42,000 search0.html, тоа е супер едноставна форма, 83 00:04:42,000 --> 00:04:45,000 и ако јас потрага по нешто како компјутерски науки 84 00:04:45,000 --> 00:04:50,000 а потоа притиснете ентер или кликнете на CS50 Барај 85 00:04:50,000 --> 00:04:53,000 забележи дека она што се случува е надвор добивање на Google 86 00:04:53,000 --> 00:04:56,000 Јас сум посебно заврши на овој URL на врвот, 87 00:04:56,000 --> 00:05:01,000 google.com / пребарување? q = компјутер + науката, 88 00:05:01,000 --> 00:05:04,000 и компјутерски науки е очигледно она што го внеле внатре 89 00:05:04,000 --> 00:05:06,000 На + едноставно значи дека е местото каде што просторот карактер беше, 90 00:05:06,000 --> 00:05:10,000 и тоа е направено од страна на прелистувачот само за да бидете сигурни дека нема 91 00:05:10,000 --> 00:05:13,000 конфузија и белиот простор во вистински URL-то. 92 00:05:13,000 --> 00:05:15,000 И тогаш q, се разбира, е параметар име. 93 00:05:15,000 --> 00:05:20,000 Не сме виделе како ние, програмер, всушност може да пристапите q уште. 94 00:05:20,000 --> 00:05:23,000 Ние може да се претпостави дека Google знае што да прави со нив тука, 95 00:05:23,000 --> 00:05:25,000 но ќе одам таму во догледно време денес. 96 00:05:25,000 --> 00:05:30,000 >> Но, дозволете ми да ги разгледаме наместо на search1.html, 97 00:05:30,000 --> 00:05:34,000 кој изгледа малку различен, бидејќи решив дека оваа форма тука беше малку несмасен. 98 00:05:34,000 --> 00:05:36,000 Мислам, тоа е во горниот лев агол. 99 00:05:36,000 --> 00:05:40,000 Има навистина нема естетика на него, и така сакам да стилизирам овој 100 00:05:40,000 --> 00:05:43,000 малку повеќе како Google, чија почетна страница, отповикување, 101 00:05:43,000 --> 00:05:47,000 дури и ако не може да го посетите кои често, изгледа вака денес на Ноќта на вештерките. 102 00:05:47,000 --> 00:05:53,000 Ако ние наместо да се отвори верзија 1 од оваа датотека, пребарување 1.html, сум го центриран. 103 00:05:53,000 --> 00:05:57,000 Уште се прилично грда, но барем сега почнав да се контролира естетиката на оваа страница, 104 00:05:57,000 --> 00:06:00,000 не само одбележувањето до него. 105 00:06:00,000 --> 00:06:04,000 Ајде да ги разгледаме во потрага 1, и таму е навистина само една разлика тука, 106 00:06:04,000 --> 00:06:06,000 кои би можеле да скокаат на тебе, или можеби и не, 107 00:06:06,000 --> 00:06:11,000 но она што е една линија или фрагмент од разликата? 108 00:06:11,000 --> 00:06:14,000 >> Има овој стил атрибут, па излегува дека во HTML 109 00:06:14,000 --> 00:06:19,000 повеќето елементи, повеќето тагови може да има стил атрибут на нив, 110 00:06:19,000 --> 00:06:23,000 и во внатрешноста на тој стил атрибут е цитиран стринг, 111 00:06:23,000 --> 00:06:26,000 и во која се цитирани низа е CSS. 112 00:06:26,000 --> 00:06:29,000 Може да се стави Cascading Style лист таму 113 00:06:29,000 --> 00:06:32,000 со впишување тоа како имот име 114 00:06:32,000 --> 00:06:34,000 проследено со две точки проследено со вредност. 115 00:06:34,000 --> 00:06:37,000 Ова е вид на несреќна дизајн одлука пред неколку години 116 00:06:37,000 --> 00:06:40,000 дека CSS е јазикот сам по себе, 117 00:06:40,000 --> 00:06:43,000 но синтаксички тоа е многу различен од HTML. 118 00:06:43,000 --> 00:06:46,000 Во овој случај, можеме да видиме дека во внатрешноста на мојата интернет страница, кој е напишан во HTML, 119 00:06:46,000 --> 00:06:51,000 Имам CSS внатрешноста на овие цитати, и Конвенцијата за CSS 120 00:06:51,000 --> 00:06:55,000 е дека имате она што се нарекува сопственост проследено со повторно, дебелото црево, 121 00:06:55,000 --> 00:06:58,000 проследено со вредноста на тој имот, па нема знак за еднаквост. 122 00:06:58,000 --> 00:07:00,000 Нема дополнителни цитати. 123 00:07:00,000 --> 00:07:03,000 Тоа е само овој дебелото црево одделени клучните вредност пар, 124 00:07:03,000 --> 00:07:05,000 и текст линија прави токму она што го кажува. 125 00:07:05,000 --> 00:07:09,000 Таа aligns текстот во телото на страницата, што е навистина храброст на страницата, 126 00:07:09,000 --> 00:07:11,000 во центарот. 127 00:07:11,000 --> 00:07:13,000 >> Океј, крајниот резултат, тогаш, да биде јасно, дали е ова. 128 00:07:13,000 --> 00:07:17,000 Не сите дека sexier, но барем тоа е центриран и малку повеќе како вистински Google. 129 00:07:17,000 --> 00:07:21,000 Но, што ако јас наместо отвори верзија 2 на овој 130 00:07:21,000 --> 00:07:25,000 и истакне тука долу нов таг заедно? 131 00:07:25,000 --> 00:07:30,000 Сега во главата на мојата страница, која претходно имала само што таг 132 00:07:30,000 --> 00:07:32,000 во сите претходни примери? 133 00:07:32,000 --> 00:07:34,000 Тоа само беше ова, насловот. 134 00:07:34,000 --> 00:07:38,000 Пред малку главата таг изгледа вака. 135 00:07:38,000 --> 00:07:40,000 Сега, наместо тоа има стил таг во него, 136 00:07:40,000 --> 00:07:44,000 и ова е премногу, јас се извинувам, синтаксички изгледа многу различни од HTML, 137 00:07:44,000 --> 00:07:47,000 но ќе се навикнеш на него, при што во внатрешноста на стил таг 138 00:07:47,000 --> 00:07:50,000 Сега можам да се фактор од она што беше пред еден момент 139 00:07:50,000 --> 00:07:54,000 на атрибут, стил атрибут, и можам да го стави во самиот врв на мојата страница. 140 00:07:54,000 --> 00:07:56,000 >> Зошто? 141 00:07:56,000 --> 00:08:00,000 Па, ова е чекор кон чистење на работите, како и голем писмено C код 142 00:08:00,000 --> 00:08:04,000 понекогаш се напише функции да се фактор на заедничка функционалност. 143 00:08:04,000 --> 00:08:07,000 Тоа е само малку почиста да започне факторинг од нешта како естетика 144 00:08:07,000 --> 00:08:11,000 на една централна локација наместо сето тоа едитирате во текот на вашата HTML. 145 00:08:11,000 --> 00:08:14,000 Тоа исто така го прави она што го кажува, иако има малку нови синтакса. 146 00:08:14,000 --> 00:08:19,000 Ова овде е селектор, а телото само значи изберете телото елемент 147 00:08:19,000 --> 00:08:21,000 и се применуваат следниве својства на него. 148 00:08:21,000 --> 00:08:23,000 Па, имотот е иста. 149 00:08:23,000 --> 00:08:25,000 За добра мерка јас додадов запирка на крајот, 150 00:08:25,000 --> 00:08:29,000 кој има тенденција да биде конвенцијата, и јас сум завиткана целата оваа сопственост 151 00:08:29,000 --> 00:08:33,000 во големи загради бидејќи јас всушност би можеле да имаат различни работи тука. 152 00:08:33,000 --> 00:08:39,000 Јас всушност би можеле да се каже нешто како боја: сина; 153 00:08:39,000 --> 00:08:42,000 >> Сега ова е премногу нема да биде чекор кон ништо сето она што поубава, 154 00:08:42,000 --> 00:08:47,000 но ако сега се вратиме верзија 2 Јас сум барем сега го направи на телото на мојот 155 00:08:47,000 --> 00:08:49,000 страница текст сино. 156 00:08:49,000 --> 00:08:51,000 Го копчето останува иста затоа што тоа е влезен. Тоа не е чист текст. 157 00:08:51,000 --> 00:08:56,000 Но се друго што е текст, како CS50 Барај до врвот, е всушност плава. 158 00:08:56,000 --> 00:09:01,000 Повторно, сите ние го направивме сега е да се отстрани од телото таг, информации, 159 00:09:01,000 --> 00:09:04,000 стил атрибут, и ние сме констатирано дека од тука. 160 00:09:04,000 --> 00:09:08,000 Ова не е огромен напредок, но ако ние ја искористам оваа чекор понатаму 161 00:09:08,000 --> 00:09:10,000 забележи она што можеме да направиме во оваа трета верзија тука. 162 00:09:10,000 --> 00:09:14,000 >> Во search3.html веб страница е речиси идентична 163 00:09:14,000 --> 00:09:17,000 освен за она што новиот таг сега? 164 00:09:17,000 --> 00:09:20,000 Линк, така што ова не е многу потполност име 165 00:09:20,000 --> 00:09:24,000 затоа што не си поврзување во смисла на кликање хиперврска. 166 00:09:24,000 --> 00:09:28,000 Наместо тоа, ти си вид на прави еквивалент на # Include во C 167 00:09:28,000 --> 00:09:31,000 при што врската таг со href атрибут 168 00:09:31,000 --> 00:09:34,000 и на rel атрибут вели оди напред 169 00:09:34,000 --> 00:09:39,000 и копирање на содржината на фајл наречен search3.css токму тука, во суштина. 170 00:09:39,000 --> 00:09:42,000 Тоа сосема не го направи тоа, но тоа е духот на тоа. 171 00:09:42,000 --> 00:09:45,000 Таа вели дека се оди со отворен таа датотека, search3.css, 172 00:09:45,000 --> 00:09:49,000 и го третираат како иако на корисникот му го внесе токму тука во главата на страницата 173 00:09:49,000 --> 00:09:51,000 исто како што го направив во претходниот пример. 174 00:09:51,000 --> 00:09:54,000 Search3.css, пак, е прилично едноставна. 175 00:09:54,000 --> 00:09:58,000 Тоа навистина само содржи точно она што беше пред еден момент 176 00:09:58,000 --> 00:10:03,000 во стил таг, но јас сум констатирано дека овде на свој датотека. 177 00:10:03,000 --> 00:10:07,000 >> Иако ние не имаат поминато многу време на сите во HTML или веб програмирање 178 00:10:07,000 --> 00:10:11,000 само интуитивно што е мотивација, можеби, за факторинг надвор 179 00:10:11,000 --> 00:10:14,000 овој мал фрагмент дури и на CSS во свои датотека 180 00:10:14,000 --> 00:10:19,000 а потоа, вклучувајќи со овој линк таг овде? 181 00:10:19,000 --> 00:10:21,000 [Нечујни студент одговор] 182 00:10:21,000 --> 00:10:25,000 Океј, тоа е полесно да се чита, во смисла дека имате вашиот CSS код во датотека CSS. 183 00:10:25,000 --> 00:10:28,000 Имате HTML во вашиот HTML датотека, па тоа е повеќе може да се чита во таа смисла. 184 00:10:28,000 --> 00:10:30,000 Што друго може да биде привлечна? Да. 185 00:10:30,000 --> 00:10:32,000 [Нечујни студент одговор] 186 00:10:32,000 --> 00:10:35,000 Да, па можете да го вклучите многу пати, па сега ние сме прави овие 187 00:10:35,000 --> 00:10:38,000 основни примери со поединечни фајлови, но претпоставувам ти си, всушност правејќи 188 00:10:38,000 --> 00:10:42,000 вистинска веб-сајт како што ќе за pset 7 или завршен проект, можеби, 189 00:10:42,000 --> 00:10:45,000 и сакате да имате повеќе веб страни, како што е, секако, заеднички за 190 00:10:45,000 --> 00:10:48,000 вистинските World Wide Web, и тоа ќе биде вид на куци 191 00:10:48,000 --> 00:10:52,000 мора да копирате и залепите истата сина боја 192 00:10:52,000 --> 00:10:56,000 и истиот текст подреден центар во секој еден од овие страници. 193 00:10:56,000 --> 00:10:59,000 Наместо тоа го прави повеќе смисла да се фактор надвор, слично како што правевме во C 194 00:10:59,000 --> 00:11:02,000 со. ж датотека, ја стави во едно централно место, 195 00:11:02,000 --> 00:11:06,000 во овој случај search3.css, а потоа им овозможи на секоја датотека 196 00:11:06,000 --> 00:11:11,000 во вашиот вебсајт за да всушност се дека датотеката по пат на овој таг овде во линија 16. 197 00:11:11,000 --> 00:11:14,000 Како што е обично случај, почнавме со верзија 0, каков вид на дела 198 00:11:14,000 --> 00:11:18,000 но не е нужно најдобрите и со секој чекор, 199 00:11:18,000 --> 00:11:21,000 пребарување 1, барај 2, и сега за пребарување 3 ние зедовме овие бебе чекори 200 00:11:21,000 --> 00:11:26,000 кон дизајни, кои се малку почиста и повеќе подготвителни 201 00:11:26,000 --> 00:11:30,000 за посложени страници кои ние може да се направи по патот. 202 00:11:30,000 --> 00:11:33,000 >> Дозволете ми да се отвори еден последен пример тука само за да покажат 203 00:11:33,000 --> 00:11:36,000 уште повеќе стилизиран страница, но прво нека се погледне на HTML. 204 00:11:36,000 --> 00:11:41,000 Ова е search4.html, и ќе забележите дека структурно тоа е речиси ист 205 00:11:41,000 --> 00:11:44,000 освен за воведување на нова ознака, DIV. 206 00:11:44,000 --> 00:11:48,000 Div е ознака што се воведува поделба на страната. 207 00:11:48,000 --> 00:11:51,000 Можеш да мислиш за тоа како невидлива правоаголник. 208 00:11:51,000 --> 00:11:54,000 Тоа вид на создава куп област во веб страница 209 00:11:54,000 --> 00:11:56,000 дека можете да стилизирам сите одеднаш. 210 00:11:56,000 --> 00:11:58,000 Она што го направив тука е како што следува. 211 00:11:58,000 --> 00:12:01,000 Внатрешноста на моето тело таг, кој е таму сите заедно, 212 00:12:01,000 --> 00:12:05,000 Сакам да кажам дека се создаде поделба на страница тука преку линии 45 преку 47, 213 00:12:05,000 --> 00:12:09,000 а тоа значи во суштина ми даде невидливи правоаголник должината на врвот на страната. 214 00:12:09,000 --> 00:12:14,000 Потоа ми даде втора правоаголник, иако невидлив, под тоа, 215 00:12:14,000 --> 00:12:16,000 и тоа се идентификуваат со името содржина, а потоа на крај, 216 00:12:16,000 --> 00:12:19,000 ми даде една третина поделба на страната на дното 217 00:12:19,000 --> 00:12:21,000 наречен проект. 218 00:12:21,000 --> 00:12:23,000 Ќе гледам зошто би го направиле тоа во само еден миг, 219 00:12:23,000 --> 00:12:26,000 но концептуално имам насловот поделба. 220 00:12:26,000 --> 00:12:30,000 Имам содржина поделба, и имам подножјето поделба на страница 221 00:12:30,000 --> 00:12:32,000 иако овие се само во Селектирај. 222 00:12:32,000 --> 00:12:35,000 Корисникот не се случува да се види 3 правоаголници, 223 00:12:35,000 --> 00:12:37,000 но вид на структурно има зад сцената 224 00:12:37,000 --> 00:12:39,000 всушност тие се присутни. 225 00:12:39,000 --> 00:12:41,000 >> Сега, кој се грижи? Зошто, всушност, го направите ова? 226 00:12:41,000 --> 00:12:43,000 Сè друго на страница е иста како што сум видел. 227 00:12:43,000 --> 00:12:47,000 Еве го мојот форма. Еве го мојот влез, мојот влез, на ред и така натаму. 228 00:12:47,000 --> 00:12:50,000 Еве една слика, иако, па ќе видиме каде тоа потекнува од само еден миг. 229 00:12:50,000 --> 00:12:52,000 Еве еден подножјето, кој е нов, само затоа што сакав да се воведе 230 00:12:52,000 --> 00:12:54,000 некои повеќе содржина тука. 231 00:12:54,000 --> 00:12:58,000 Ако ние скролувајте горе забележите дека ID на овој div е заглавието. 232 00:12:58,000 --> 00:13:02,000 Проект на овој div е содржината, и проект на оваа е подножјето. 233 00:13:02,000 --> 00:13:05,000 И како што сугерира името, кога имате ид атрибут 234 00:13:05,000 --> 00:13:09,000 во HTML, по дефиниција таа уникатно мора да се идентификува 235 00:13:09,000 --> 00:13:12,000 еден од елементите, еден од тагови во вашата страница. 236 00:13:12,000 --> 00:13:16,000 Товарот е целосно на вас е да се запамети дека имате насловот проект веќе. 237 00:13:16,000 --> 00:13:19,000 Имате подножјето. Имате содржина ID веќе. 238 00:13:19,000 --> 00:13:22,000 Компјутерот не се случува да дознаам што е на располагање ID е за вас, 239 00:13:22,000 --> 00:13:27,000 така случајно сте може да даде 2 тагови лична карта на насловот, 240 00:13:27,000 --> 00:13:29,000 и тоа само би било погрешно. 241 00:13:29,000 --> 00:13:31,000 >> Мора да се има предвид она што сте го креирале, 242 00:13:31,000 --> 00:13:34,000 но еднаш сте го направиле тоа известување што да правиме тука. 243 00:13:34,000 --> 00:13:38,000 Јас сега може да се определи во мојот стил таг на врвот 244 00:13:38,000 --> 00:13:41,000 или еквивалентно во мојот CSS фајл, ако сè уште бев со користење таа верзија, 245 00:13:41,000 --> 00:13:46,000 Можам да кажам # заглавие, и што значи тоа е дека она што таг 246 00:13:46,000 --> 00:13:49,000 во оваа веб страна има проект на заглавието 247 00:13:49,000 --> 00:13:53,000 и #, само од човечка конвенција, претставува проект. 248 00:13:53,000 --> 00:13:56,000 Со остриот знак или фунти знак претставува проект. 249 00:13:56,000 --> 00:13:58,000 Насловот е името што го дал. 250 00:13:58,000 --> 00:14:01,000 Ова значи применуваат оваа имотот CSS 251 00:14:01,000 --> 00:14:04,000 на она што таг на оваа страница го носи лична карта на заглавието. 252 00:14:04,000 --> 00:14:06,000 Истиот договор тука. 253 00:14:06,000 --> 00:14:09,000 Примени го овој имот, кој се случува да биде ист, за секој елемент, 254 00:14:09,000 --> 00:14:11,000 чиј број е содржината, а потоа надолу тука 255 00:14:11,000 --> 00:14:14,000 забележите добив малку познавач со подножјето. 256 00:14:14,000 --> 00:14:18,000 Секој елемент чиј проект е подножје, од кои не може да има само еден по дефиниција, 257 00:14:18,000 --> 00:14:21,000 оди напред и да ги направи своите фонтот помали, 258 00:14:21,000 --> 00:14:24,000 нејзините фонт тежина храбри, неговата маргина 20 пиксели. 259 00:14:24,000 --> 00:14:26,000 >> Што значи тоа? 260 00:14:26,000 --> 00:14:28,000 Тоа е само маргина на врвот, дното, и лево и десно. 261 00:14:28,000 --> 00:14:31,000 Ова значи ми даде 20-пиксели невидливи маргина околу него 262 00:14:31,000 --> 00:14:35,000 само да им помогнам на сè друго далеку од тоа да биде малку, како може да се направи во Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word или страници или слично. 264 00:14:37,000 --> 00:14:39,000 А потоа текстот усогласат центар. 265 00:14:39,000 --> 00:14:43,000 Ајде да видиме крајниот резултат, а потоа ќе одиме назад до еден преостанатите програмка на CSS таму. 266 00:14:43,000 --> 00:14:48,000 Ова е верзија 4, нашиот последен за пребарување примери, и тоа е многу, многу sexier. 267 00:14:48,000 --> 00:14:54,000 Сега, во праведност, јас само Googled "Google фонт логото генератор." 268 00:14:54,000 --> 00:14:58,000 И дека ми е дозволено да се создаде GIF, слика формат, кој изгледа како дека постојат. 269 00:14:58,000 --> 00:15:00,000 Всушност, можете да го направите ова е премногу. 270 00:15:00,000 --> 00:15:03,000 Имаме "Google фонтови логото генератор." 271 00:15:03,000 --> 00:15:05,000 >> Ајде да видиме дали можеме да го направите тоа. 272 00:15:05,000 --> 00:15:07,000 Океј, мислам дека ова е веб-сајт се користи. 273 00:15:07,000 --> 00:15:11,000 Можеме да кажеме Ec 10, на пример, и да ги направат своите сопствени. 274 00:15:11,000 --> 00:15:13,000 Можете да играте со овој целиот ден, а потоа десен клик на неа 275 00:15:13,000 --> 00:15:16,000 а потоа преземете вистински GIF, што е сето она што го направив. 276 00:15:16,000 --> 00:15:19,000 И навистина, тоа е зошто во мојот HTML, да се потсетиме, овде 277 00:15:19,000 --> 00:15:22,000 Јас имав сликата таг, која ја видовме накратко минатата недела 278 00:15:22,000 --> 00:15:24,000 чиј извор е logo.gif. 279 00:15:24,000 --> 00:15:28,000 И што повторно беше мотивација за да има оваа алт атрибутот, 280 00:15:28,000 --> 00:15:31,000 оваа алтернатива атрибут? 281 00:15:31,000 --> 00:15:33,000 Да. 282 00:15:33,000 --> 00:15:35,000 [Нечујни студент одговор] 283 00:15:35,000 --> 00:15:37,000 Добро, па 2 причини, навистина, ако на прелистувачот не може да се повлече до сликата 284 00:15:37,000 --> 00:15:40,000 затоа што имаш бавен мрежна конекција или сликата е расипана 285 00:15:40,000 --> 00:15:44,000 или нешто слично барем човечки може да се види "CS50 пребарување" 286 00:15:44,000 --> 00:15:46,000 а потоа и за достапноста причини. 287 00:15:46,000 --> 00:15:48,000 Ако имате еден корисник кој е слеп и е користење читач на екран 288 00:15:48,000 --> 00:15:50,000 и затоа очигледно не можат да гледаат слики тие можат барем да 289 00:15:50,000 --> 00:15:52,000 слушам текстот, ако нивниот компјутер зборува за нив. 290 00:15:52,000 --> 00:15:56,000 >> Во принцип, ова е најдобрата практика кога станува збор за достапноста на страници 291 00:15:56,000 --> 00:16:00,000 така што дури и корисниците во таква ситуација може да се слушне или види, така да се каже, 292 00:16:00,000 --> 00:16:03,000 што е тоа што е на вашата страница. 293 00:16:03,000 --> 00:16:05,000 Има една друга работа што го направив тука 294 00:16:05,000 --> 00:16:09,000 која е малку интересна, и ние ќе видите повеќе за ова во проблем во собата 7 295 00:16:09,000 --> 00:16:12,000 преку еден од шорцеви предводена од еден од наставата соработници. 296 00:16:12,000 --> 00:16:15,000 Но # содржината однесува на таг 297 00:16:15,000 --> 00:16:20,000 чиј број е содржината, но тогаш има простор карактер, и потоа, тука е збор влез. 298 00:16:20,000 --> 00:16:25,000 Па, она што е интересно во врска со CSS е дека може да 299 00:16:25,000 --> 00:16:29,000 однесуваат на тагови во една страница вид на хиерархиски, 300 00:16:29,000 --> 00:16:33,000 и она што оваа програмка на CSS значи најдете таг 301 00:16:33,000 --> 00:16:37,000 чиј број е содржината, а потоа се применува на следниве својства 302 00:16:37,000 --> 00:16:42,000 на сите влезни тагови кои се потомци на содржината, 303 00:16:42,000 --> 00:16:44,000 тоа е дека се вовлечени во него. 304 00:16:44,000 --> 00:16:48,000 Вовлекување, пак, е само важно да се на компјутер, а не на човекот, 305 00:16:48,000 --> 00:16:51,000 но со конвенцијата ние алинеја работи како што ние одиме подлабоко во страница, 306 00:16:51,000 --> 00:16:54,000 па тоа значи применуваат маргина од 5 пиксели за секој влез елемент 307 00:16:54,000 --> 00:16:57,000 тоа е некаде внатре или вгнездени внатре 308 00:16:57,000 --> 00:16:59,000  елемент чиј број е содржината. 309 00:16:59,000 --> 00:17:01,000 >> Кој е кои се однесуваат на? 310 00:17:01,000 --> 00:17:03,000 Па, има всушност само овие 2 момци тука. 311 00:17:03,000 --> 00:17:05,000 Забележете дека во внатрешноста од формата има 2 влезови, 312 00:17:05,000 --> 00:17:07,000 како што беше за сите овие примери. 313 00:17:07,000 --> 00:17:11,000 Но, напомена дека тие 2 влезови се случи да се вгнездени внатре, 314 00:17:11,000 --> 00:17:13,000 иако малку подлабоко, неколку слоеви на вовлекување, 315 00:17:13,000 --> 00:17:16,000 внатрешноста на таг чиј број е содржината. 316 00:17:16,000 --> 00:17:18,000 Што значи ова? 317 00:17:18,000 --> 00:17:21,000 Ако одиме на пребарувачот тука можете да видите некогаш толку малку- 318 00:17:21,000 --> 00:17:23,000 дозволете ми да зумирате во кои постои малку Соочи меѓу копчето 319 00:17:23,000 --> 00:17:25,000 и помеѓу полето за текст. 320 00:17:25,000 --> 00:17:27,000 >> Дозволете ми привремено се претвори дека исклучени. 321 00:17:27,000 --> 00:17:30,000 Дозволете ми да одам до мојот CSS, и дозволете ми да одиме напред и само 322 00:17:30,000 --> 00:17:34,000 промените оваа маргина од 5 пиксели 0 пиксели. 323 00:17:34,000 --> 00:17:37,000 Дозволете ми да оди напред потоа и зачувате датотеката, да се вратиме на пребарувач 324 00:17:37,000 --> 00:17:40,000 и повторно, и види средината на страницата. 325 00:17:40,000 --> 00:17:43,000 Сè што доби компресирани заедно, и кога јас прв пат шлаг овој пример до 326 00:17:43,000 --> 00:17:46,000 Мислев дека изгледаше глупаво од полето за текст, а потоа на копчето веднаш под него. 327 00:17:46,000 --> 00:17:50,000 Сакав да рампа тоа малку, па јас воведе маргините. 328 00:17:50,000 --> 00:17:55,000 Она што нема да го стори во предавањето е да се оди преку неколку десетици 329 00:17:55,000 --> 00:17:58,000 CSS особини кои постојат затоа, пак, постојат работи како големината на фонтот, 330 00:17:58,000 --> 00:18:02,000 фонт тежина, маргина, текст усогласување, а неколку десетици други, 331 00:18:02,000 --> 00:18:06,000 и ние ќе ве упати во проблем во собата 7 до различни вежби онлајн 332 00:18:06,000 --> 00:18:08,000 и препораки кои ќе ви овозможи да ги собереш овие работите. 333 00:18:08,000 --> 00:18:10,000 Но она што е навистина важно на крајот на денот 334 00:18:10,000 --> 00:18:12,000 >> е да се разбере како овие работи се применуваат. 335 00:18:12,000 --> 00:18:15,000 Повторно, ако имаме стил таг внатре, од кои 336 00:18:15,000 --> 00:18:19,000 може да оди на селектори, вид на идентификатори кои одредите 337 00:18:19,000 --> 00:18:21,000 на кого сакаш да се применуваат овие својства, 338 00:18:21,000 --> 00:18:24,000 а потоа ќе се стави на својства како клучни вредност пар 339 00:18:24,000 --> 00:18:28,000 одвоени со две точки, а потоа заврши со точка-запирка, 340 00:18:28,000 --> 00:18:32,000 или можете да рипувате сето тоа надвор и го стави во посебна CSS датотека 341 00:18:32,000 --> 00:18:35,000 при себе. 342 00:18:35,000 --> 00:18:39,000 Сите права, било какви прашања на концепти 343 00:18:39,000 --> 00:18:41,000 или големата слика на CSS? 344 00:18:41,000 --> 00:18:43,000 Можете повторно ќе видиме повеќе од тоа во pset 7, 345 00:18:43,000 --> 00:18:47,000 но ние ќе продолжиме тоа обично прилично едноставна. 346 00:18:47,000 --> 00:18:49,000 Не? Во ред. 347 00:18:49,000 --> 00:18:51,000 Тоа е време за вистински програмски јазик, 348 00:18:51,000 --> 00:18:54,000 и ние ќе се врати за да малку на CSS во форма на пример. 349 00:18:54,000 --> 00:18:58,000 PHP е всушност прекрасно достапен јазик 350 00:18:58,000 --> 00:19:02,000 по тоа што е синтаксички речиси еднакво на В 351 00:19:02,000 --> 00:19:06,000 Со други зборови, ако знаете C, знаеш во најголем дел PHP, 352 00:19:06,000 --> 00:19:08,000 најмалку синтаксички, иако постојат некои нови функции 353 00:19:08,000 --> 00:19:10,000 и некои нови концепти ние ќе мора да се погледне. 354 00:19:10,000 --> 00:19:13,000 >> Но, во најголем дел, сега дека ние транзиција од C во PHP 355 00:19:13,000 --> 00:19:16,000 повеќето од новите работи е навистина во големата слика, 356 00:19:16,000 --> 00:19:19,000 како да се користи јазик за програмата на веб што е спротивно на 357 00:19:19,000 --> 00:19:23,000 на командната линија или во трепка брзо како што го правеле досега. 358 00:19:23,000 --> 00:19:27,000 За повикување, особено со pset 7 и на финалниот проект, па натаму, 359 00:19:27,000 --> 00:19:31,000 ги искористат предностите на овој URL тука ако сакате да прочитате за формалностите на PHP. 360 00:19:31,000 --> 00:19:34,000 Тоа е всушност како бесплатен онлајн учебник ефикасно, 361 00:19:34,000 --> 00:19:37,000 и ти исто така ќе најдете дека она што е навистина убаво за PHP 362 00:19:37,000 --> 00:19:41,000 е дека постојат стотици функции кои доаѓаат со неа, 363 00:19:41,000 --> 00:19:44,000 додека во Ц ќе не мора да имаат пристап до 364 00:19:44,000 --> 00:19:47,000 повеќе функции отколку во математика библиотека, CS50 библиотека. 365 00:19:47,000 --> 00:19:51,000 Во PHP и многу современи јазици, Python и Ruby меѓу нив, 366 00:19:51,000 --> 00:19:54,000 ќе добиете пристап до толку многу повеќе функции, што значи можеш да пишувам 367 00:19:54,000 --> 00:19:57,000 многу помалку код, бидејќи можете да стои на рамениците на други луѓе 368 00:19:57,000 --> 00:19:59,000 кои веќе напишано некои работи за вас. 369 00:19:59,000 --> 00:20:03,000 >> Да го земеме еден брз турнеја на синтаксата на PHP и потоа напишете неколку примери. 370 00:20:03,000 --> 00:20:06,000 Што е убаво за PHP прво и основно 371 00:20:06,000 --> 00:20:08,000 е нема Главната функција. 372 00:20:08,000 --> 00:20:10,000 Ако сакате да напишете програма во PHP сте само на проектот пишување код, 373 00:20:10,000 --> 00:20:12,000 а вие не мора да се грижите за главната. 374 00:20:12,000 --> 00:20:14,000 Нема int. Нема враќање. 375 00:20:14,000 --> 00:20:17,000 Нема argv, argc што е потребно, кога ќе напишете програма. 376 00:20:17,000 --> 00:20:20,000 Наместо едноставно да почнете со пишување код, и тоа е делумно 377 00:20:20,000 --> 00:20:23,000 затоа што PHP е она што се нарекува толкува јазик. 378 00:20:23,000 --> 00:20:26,000 Ц е компајлирана, а тоа е компајлирана во смисла дека ќе почнете да 379 00:20:26,000 --> 00:20:29,000 со изворниот код, да го стартуваш преку ѕвекот, што е компајлер, 380 00:20:29,000 --> 00:20:33,000 и на крајот по одреден број на чекори ќе добиете објектниот код, 0-ти и 1S. 381 00:20:33,000 --> 00:20:36,000 PHP и Python и Ruby и Перл и други 382 00:20:36,000 --> 00:20:39,000 различни видови на јазиците во кои вие не ги собира. 383 00:20:39,000 --> 00:20:42,000 Вие не одат од изворниот код на 0-ти и 1S. 384 00:20:42,000 --> 00:20:45,000 Вие само се кандидира на изворниот код, и ќе се кандидира на изворниот код 385 00:20:45,000 --> 00:20:49,000 со пишување на вообичаен текстуална датотека, завршува во. PHP во овој случај 386 00:20:49,000 --> 00:20:53,000 наместо. в, и она што програмата го прави на вашиот компјутер 387 00:20:53,000 --> 00:20:57,000 е буквално толкува кодот линија по линија по линија. 388 00:20:57,000 --> 00:21:00,000 >> Со други зборови, наместо да напише програма и да ја стартувате програмата 389 00:21:00,000 --> 00:21:04,000 директно ти наместо да напише програма со датотеката завршува во. PHP. 390 00:21:04,000 --> 00:21:09,000 Потоа ќе се кандидира вистински програма наречена php.exe, ако сте на Windows, 391 00:21:09,000 --> 00:21:12,000 или само PHP ако сте на Mac OS или Linux, 392 00:21:12,000 --> 00:21:17,000 и ви обезбеди како влез во програмата PHP свој код, 393 00:21:17,000 --> 00:21:20,000 и неговата цел во животот е да ја прочитате вашата код врвот до дното, лево кон десно, 394 00:21:20,000 --> 00:21:23,000 и го она што сте го кажа да го направам. 395 00:21:23,000 --> 00:21:25,000 >> Ајде да видиме што тоа ќе значи синтаксички. 396 00:21:25,000 --> 00:21:27,000 Во PHP имаме услови. 397 00:21:27,000 --> 00:21:29,000 Овој слајд е идентична со она што го гледаше назад во недела 1 398 00:21:29,000 --> 00:21:33,000 бидејќи синтаксички услови, IFS и друго IFS и друго во PHP 399 00:21:33,000 --> 00:21:35,000 изгледа токму вака. 400 00:21:35,000 --> 00:21:38,000 Кога станува збор за рационален израз тие ќе изгледаат токму вака. 401 00:21:38,000 --> 00:21:43,000 Кога станува збор за anding работите заедно како booleans тоа ќе изгледа токму вака. 402 00:21:43,000 --> 00:21:46,000 Прекинувачи изгледаат исти, и ќе го добиете дополнителна корист во PHP 403 00:21:46,000 --> 00:21:51,000 дека прекинувачи во C може само да се префрлиш на знак или int. 404 00:21:51,000 --> 00:21:53,000 Вие не може да се префрлат на вредноста на стрингот. 405 00:21:53,000 --> 00:21:55,000 Во PHP вие всушност може да има израз 406 00:21:55,000 --> 00:21:58,000 дека е променлива чија содржина се низа, 407 00:21:58,000 --> 00:22:01,000 и всушност може да направи низа споредба во реалниот интуитивен начин, 408 00:22:01,000 --> 00:22:06,000 не покажувачот споредба, со цел да се одлучи дали да се направи случај јас или ѕ или нешто друго. 409 00:22:06,000 --> 00:22:09,000 Ќе видиме што потенцијално пред долго. 410 00:22:09,000 --> 00:22:11,000 >> Петелки премногу прекрасно се исти. 411 00:22:11,000 --> 00:22:15,000 За петелки имаат иницијализација, состојба, а некои број на надградби. 412 00:22:15,000 --> 00:22:18,000 Додека петелки, исто така, постојат во PHP. 413 00:22:18,000 --> 00:22:21,000 Направите додека петелки, исто така, постојат во PHP, 414 00:22:21,000 --> 00:22:26,000 и низи постојат во PHP, но тука е местото каде синтакса почнува да се добие малку поинаква, 415 00:22:26,000 --> 00:22:29,000 но концептите се исти, и концепти навистина се исти 416 00:22:29,000 --> 00:22:32,000 како што беа во недела 0 со нула. 417 00:22:32,000 --> 00:22:34,000 Прво и основно е $ знак. 418 00:22:34,000 --> 00:22:37,000 Ова беше дизајн одлука во PHP при секоја променлива 419 00:22:37,000 --> 00:22:41,000 во PHP со дизајн започнува со $ знакот. 420 00:22:41,000 --> 00:22:46,000 Нема повеќе X, Y, Z. Тоа е сега $ x, $ y, $ Z само затоа. 421 00:22:46,000 --> 00:22:49,000 Тоа е нешто да се има предвид, а сега на десната страна 422 00:22:49,000 --> 00:22:52,000 ова изгледа слично на низа, 423 00:22:52,000 --> 00:22:54,000 но ние сме со користење квадратни загради тука. 424 00:22:54,000 --> 00:22:57,000 Во PHP и го вклучите Javascript-, како што на крајот ќе видиме, 425 00:22:57,000 --> 00:23:01,000 да се изјаснат за низа правиш плоштад заградата и затворени квадратни заградата, 426 00:23:01,000 --> 00:23:04,000 а потоа ќе мора со запирки листа на вредности, без разлика дали ints 427 00:23:04,000 --> 00:23:09,000 или жици или знаци, она што го сакате, во внатрешноста на тој израз има. 428 00:23:09,000 --> 00:23:11,000 >> Сега, како не правиме нешто како ова во C? 429 00:23:11,000 --> 00:23:16,000 Што е синтакса за статички прогласување низа на познати броеви? 430 00:23:16,000 --> 00:23:19,000 Тоа беше кадрави загради, па мала разлика тука, но во двете PHP 431 00:23:19,000 --> 00:23:22,000 и на крајот да го вклучите Javascript тоа само го користи загради, па навистина 432 00:23:22,000 --> 00:23:25,000 само интересни детали тука е $ знак за името на променливата 433 00:23:25,000 --> 00:23:28,000 а исто така и загради, и има една чудна работа 434 00:23:28,000 --> 00:23:32,000 тоа е се испуштени, како и на левата страна на знакот =. 435 00:23:32,000 --> 00:23:36,000 Што недостасува дека ние сме биле бара за неколку недели сега? Да. 436 00:23:36,000 --> 00:23:38,000 [Нечујни студент одговор] 437 00:23:38,000 --> 00:23:41,000 Големината, така што не се споменуваат на големина на низата. 438 00:23:41,000 --> 00:23:45,000 Искрено, нема спомнување на квадратни загради на левата страна 439 00:23:45,000 --> 00:23:47,000 на знакот =, и што друго се водат за исчезнати од линијата? 440 00:23:47,000 --> 00:23:49,000 Да. >> [Нечујни студент одговор] 441 00:23:49,000 --> 00:23:52,000 Видот, па она што е интересно особено за PHP 442 00:23:52,000 --> 00:23:56,000 е дека таа не е силно отчукува јазик како C е, 443 00:23:56,000 --> 00:23:58,000 и тоа е силно отчукува во смисла дека мора да се каже знак, 444 00:23:58,000 --> 00:24:00,000 мора да се каже int, мора да се каже плови. 445 00:24:00,000 --> 00:24:03,000 >> Во секое време сакате променлива мора да се каже ѕвекот што ваков тип е. 446 00:24:03,000 --> 00:24:05,000 PHP е малку lazier. 447 00:24:05,000 --> 00:24:08,000 Тоа е лабаво отчукува во смисла дека 448 00:24:08,000 --> 00:24:11,000 ќе може да има плови и карактери и стрингови 449 00:24:11,000 --> 00:24:14,000 и ints и така натаму, но самиот јазик 450 00:24:14,000 --> 00:24:17,000 не навистина се грижат што ќе се стави во внатрешноста на променлива. 451 00:24:17,000 --> 00:24:20,000 Вие не мора да го информира однапред што тип на податоци 452 00:24:20,000 --> 00:24:22,000 се случува во променлива. 453 00:24:22,000 --> 00:24:24,000 Тоа е целосно зависи од вас, па ова е убаво 454 00:24:24,000 --> 00:24:27,000 во тоа што вие не мора да се грижите колку за податоци пишување 455 00:24:27,000 --> 00:24:29,000 и загрижувачки што вашите аргументи се и така натаму. 456 00:24:29,000 --> 00:24:32,000 Ова исто така значи крај функции во PHP се случува да бидат во можност да се вратат 457 00:24:32,000 --> 00:24:36,000 ниту една int поголемиот дел од времето, а можеби еднаш во некое време 458 00:24:36,000 --> 00:24:40,000 тие ќе се вратат bool, рационален број лажни, на пример, да означува дека нешто тргнало наопаку. 459 00:24:40,000 --> 00:24:44,000 Ова ни дава некои квит, но тоа, исто така, ќе ни прават вид на од страна на дизајнот 460 00:24:44,000 --> 00:24:47,000 малку lazier кога станува збор за податоци пишување. 461 00:24:47,000 --> 00:24:50,000 >> Што друго е таму за да ги држи во умот тука? 462 00:24:50,000 --> 00:24:54,000 Променливи изгледа сосема се допаѓа ова, па $ S = "Здраво, свет". 463 00:24:54,000 --> 00:24:57,000 Тоа е можеби inferable од претходниот пример, 464 00:24:57,000 --> 00:24:59,000 и ние имаме друг вид на јамка. 465 00:24:59,000 --> 00:25:02,000 Оваа една ние всушност ќе се види еднаш во некое време, бидејќи тоа е прилично корисна, 466 00:25:02,000 --> 00:25:04,000 на foreach изградба. 467 00:25:04,000 --> 00:25:11,000 Во овој случај, јамка foreach зема во внатрешноста на нејзината загради 3 зборовите обично, 468 00:25:11,000 --> 00:25:16,000 $ Нешто прво, што е она што низа сакаш да iterate во текот на членови на, 469 00:25:16,000 --> 00:25:19,000 тогаш буквално клучниот збор како, а потоа на крај, 470 00:25:19,000 --> 00:25:21,000 друга променлива името што можеш да одбереш. 471 00:25:21,000 --> 00:25:23,000 Тоа може да биде foo, бар, или елемент, 472 00:25:23,000 --> 00:25:26,000 и она што оваа конструкција не 473 00:25:26,000 --> 00:25:29,000 е ако $ низа содржи 10 елементи 474 00:25:29,000 --> 00:25:34,000 на секоја итерација на оваа низа жал, на секој повторување на овој циклус 475 00:25:34,000 --> 00:25:37,000 променлива наречена елемент ќе биде обновено 476 00:25:37,000 --> 00:25:40,000 да биде првиот елемент во низата, тогаш вториот елемент во низа, 477 00:25:40,000 --> 00:25:44,000 тогаш третиот елемент на низата, на тој начин obviating потребата 478 00:25:44,000 --> 00:25:46,000 да се направи малку досадни квадратни загради нотација и 479 00:25:46,000 --> 00:25:49,000 $ I, со цел да индекс на низата. 480 00:25:49,000 --> 00:25:53,000 PHP не сите на таа работа за вас и за секој повторување 481 00:25:53,000 --> 00:25:55,000 само вие рацете на следниот елемент од низата 482 00:25:55,000 --> 00:26:01,000 без тебе морале да знаат за или се грижите за своите нумеричка индекс локација. 483 00:26:01,000 --> 00:26:04,000 >> А потоа на крај, за сега, има една друга карактеристика на PHP 484 00:26:04,000 --> 00:26:08,000 тоа ќе биде многу корисно, особено кога ќе почнат програмирање на интернет, 485 00:26:08,000 --> 00:26:10,000 и дека е познат како асоцијативна низа. 486 00:26:10,000 --> 00:26:13,000 Низи што го знаеме досега од 20 секунди пред 487 00:26:13,000 --> 00:26:17,000 и во изминатите 8 недели се броево индексирани низи, 488 00:26:17,000 --> 00:26:20,000 вид на традиционалните низи каде индекси се ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, по целиот пат за нагоре. 490 00:26:23,000 --> 00:26:25,000 Асоцијативни низи се многу помоќни. 491 00:26:25,000 --> 00:26:28,000 Тие ќе ви овозможи да имаат произволен клучеви, 492 00:26:28,000 --> 00:26:31,000 произволни индекси и произволни вредности. 493 00:26:31,000 --> 00:26:34,000 Додека во традиционален низа е 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 во асоцијативна низа може да имаат индекс 495 00:26:37,000 --> 00:26:41,000 или клуч на foo чија вредност е бар. 496 00:26:41,000 --> 00:26:46,000 Тогаш може да има уште еден клучен чие име е baz и чија вредност е qux. 497 00:26:46,000 --> 00:26:49,000 >> Повторно, глупаво компјутерски науки генерички променлива имиња тука, 498 00:26:49,000 --> 00:26:55,000 но поентата е дека оваа низа не мора заградата 0 или заградата 1. 499 00:26:55,000 --> 00:26:59,000 Тоа е, наместо случува да имаат заградата foo и заградата baz. 500 00:26:59,000 --> 00:27:03,000 Ова е многу повеќе разноврсна во, дека ние сме ќе биде во можност да се дружат 501 00:27:03,000 --> 00:27:07,000 зборови со други зборови, клучеви со вредности сосема произволно, 502 00:27:07,000 --> 00:27:12,000 и ние ќе можат да добијат оние вредности назад во постојан време 503 00:27:12,000 --> 00:27:14,000 бидејќи под хаубата што асоцијативна низа 504 00:27:14,000 --> 00:27:16,000 навистина се е хаш табелата. 505 00:27:16,000 --> 00:27:20,000 Потсетиме дека хаш табелата ви овозможува да се стави во некои влез 506 00:27:20,000 --> 00:27:25,000 како се стави во зборот Дејвид ако сакате да вметнете Давида во некој вид на речник, 507 00:27:25,000 --> 00:27:27,000 а потоа ќе се вратам некои вредност обично. 508 00:27:27,000 --> 00:27:29,000 Во случај на правопис, точно или неточно. 509 00:27:29,000 --> 00:27:33,000 Дејвид или што збор е во или не е во речникот. 510 00:27:33,000 --> 00:27:36,000 Асоцијативна низа е навистина само хаш табелата, 511 00:27:36,000 --> 00:27:38,000 но тоа е многу повеќе корисник пријателски инкарнација на тоа. 512 00:27:38,000 --> 00:27:41,000 Како што ќе видиме, тоа ќе ни овозможи да направиме некои работи 513 00:27:41,000 --> 00:27:43,000 многу, многу лесно. 514 00:27:43,000 --> 00:27:45,000 >> Ајде да ги разгледаме во некои основни PHP 515 00:27:45,000 --> 00:27:47,000 примери и да видиме што можеме да направиме со овој јазик. 516 00:27:47,000 --> 00:27:51,000 Дозволете ми да оди напред и да се отвори во нашата изворниот директориум денес 517 00:27:51,000 --> 00:27:54,000 фајл наречен hello1.php. 518 00:27:54,000 --> 00:27:57,000 Оваа датотека е повеќе коментар, отколку што е вистинскиот код, 519 00:27:57,000 --> 00:28:00,000 па дозволете ми да всушност отстраните сите коментари од датотека 520 00:28:00,000 --> 00:28:05,000 и сегашноста да ти можеби наједноставниот PHP програма во право тука. 521 00:28:05,000 --> 00:28:07,000 5 линии, а некои од нив се бели простор, 522 00:28:07,000 --> 00:28:09,000 така забележите некои клучни разлики тука. 523 00:28:09,000 --> 00:28:12,000 На датотека се нарекува hello1.php. 524 00:28:12,000 --> 00:28:16,000 На првата линија, сепак, е 00:28:18,000 Слични во духот со HTML, 526 00:28:18,000 --> 00:28:21,000 дека низа од карактери кажува на компјутерот 527 00:28:21,000 --> 00:28:25,000 "Еј, компјутер, тука доаѓа програма ние сме во PHP." 528 00:28:25,000 --> 00:28:28,000 Тоа го прави сигурни дека тоа не е збунет дека тоа е некој друг јазик. 529 00:28:28,000 --> 00:28:30,000 Алинеја 2 е интересна белиот простор. 530 00:28:30,000 --> 00:28:32,000 Алинеја 3 е нашиот стар пријател printf, 531 00:28:32,000 --> 00:28:34,000 овој пат во контекст на PHP. 532 00:28:34,000 --> 00:28:37,000 PHP има своја верзија на printf што се однесува токму на истиот, 533 00:28:37,000 --> 00:28:39,000 па ова е само случува да се печати "hello, светот". 534 00:28:39,000 --> 00:28:46,000 И тогаш ова спротивната таг тука,>, значи дека тоа е за мојата PHP код. 535 00:28:46,000 --> 00:28:48,000 >> Ајде да видиме како да ја извршите оваа. 536 00:28:48,000 --> 00:28:50,000 Одам да се вратам на мојот терминален прозорец тука. 537 00:28:50,000 --> 00:28:52,000 Одам да одам во мојата PHP директориум. 538 00:28:52,000 --> 00:28:56,000 Забележете дека ние имаме еден куп на датотеки, првиот од кои едната е hello.php. 539 00:28:56,000 --> 00:29:01,000 Дозволете ми да оди напред и да ја извршите оваа, hello1.php, внесете. 540 00:29:01,000 --> 00:29:03,000 Пристапот е одбиен. Во ред. 541 00:29:03,000 --> 00:29:06,000 Како сме фиксна вакви работи во минатото? 542 00:29:06,000 --> 00:29:08,000 Што е тоа? >> [Нечујни студент одговор] 543 00:29:08,000 --> 00:29:11,000 Ние треба да читаат и пишуваат, но дозволете ми да направам ls-l. 544 00:29:11,000 --> 00:29:14,000 Запомни го тоа малку криптичната излез при hello1 545 00:29:14,000 --> 00:29:17,000 се чини дека да се чита и да се пишува по мене 546 00:29:17,000 --> 00:29:19,000 но може да се чита од сите други. 547 00:29:19,000 --> 00:29:22,000 Излегува ова всушност не е чекор во вистинската насока. 548 00:29:22,000 --> 00:29:25,000 Разликата, пак, со препознаена јазик 549 00:29:25,000 --> 00:29:27,000 е што не ја стартувате програмата директно. 550 00:29:27,000 --> 00:29:30,000 Ти наместо да работи со преведувач и рака на кодот 551 00:29:30,000 --> 00:29:33,000 дека сум напишал така што може да се протолкува тоа линија по линија. 552 00:29:33,000 --> 00:29:36,000 Во овој случај, толкувачот или програма јас всушност сакаат да се кандидира 553 00:29:36,000 --> 00:29:38,000 е буквално вика PHP. 554 00:29:38,000 --> 00:29:41,000 >> Некаде на овој хард диск на апаратот постои програма 555 00:29:41,000 --> 00:29:45,000 некој друг напиша наречен PHP или на Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Она што јас ќе одам да направите е тука јас ќе одам да всушност се кандидира PHP 557 00:29:48,000 --> 00:29:51,000 но даде како командата на кодот кој го напишав, 558 00:29:51,000 --> 00:29:54,000 а потоа јас ќе одзумирате и притиснете ентер. 559 00:29:54,000 --> 00:29:58,000 Таа работи мојата програма за мене, врвот до дното, лево кон десно. 560 00:29:58,000 --> 00:30:01,000 Дозволете ми да оди напред и да се отвори мала варијансата на ова. 561 00:30:01,000 --> 00:30:05,000 Во hello2.php забележите дека ова е премногу 562 00:30:05,000 --> 00:30:08,000 најчесто коментари, па дозволете ми да се ослободи од оние како одвраќање, 563 00:30:08,000 --> 00:30:13,000 и она што е јасно различна сега за оваа датотека? 564 00:30:13,000 --> 00:30:15,000 Има оваа нова линија, малку криптичната на врвот. 565 00:30:15,000 --> 00:30:20,000 Во алинеја 1 е #! / Bin / PHP. 566 00:30:20,000 --> 00:30:24,000 Бин е конвенција за Linux и Mac OS за бинарни датотеки, 567 00:30:24,000 --> 00:30:27,000 па / bin значи дека ова е папка која содржи еден куп на бинарни датотеки 568 00:30:27,000 --> 00:30:29,000 кој е програмиран, од кои едниот е PHP. 569 00:30:29,000 --> 00:30:32,000 На #! е наречен фирма, 570 00:30:32,000 --> 00:30:35,000 кој е брз начин да се каже тоа, и што тоа значи 571 00:30:35,000 --> 00:30:40,000 е дека кога ќе ја извршите оваа програма за сега има навестување на врвот на датотеката 572 00:30:40,000 --> 00:30:44,000 кој му кажува на компјутерот што преведувач за да го користите. 573 00:30:44,000 --> 00:30:47,000 >> Станува малку досадни, ако ти мораше да му кажете на вашиот корисници и вашите клиенти 574 00:30:47,000 --> 00:30:50,000 "Еј, ние напиша оваа програма наречена hello1.php." 575 00:30:50,000 --> 00:30:54,000 Се што треба да направите е засекогаш се кандидира PHP и тогаш името на оваа програма. 576 00:30:54,000 --> 00:30:58,000 Искрено, тоа само ќе биде поубаво да се кандидира hello1.php, 577 00:30:58,000 --> 00:31:00,000 и навистина, можеме да ако го направите следново. 578 00:31:00,000 --> 00:31:05,000 Дозволете ми да оди напред и да се направи ls-l, а известувањето во hello2 тоа е уште само да читате пишуваат 579 00:31:05,000 --> 00:31:10,000 а потоа читаат прочита, па јас се уште не може да го направите ова, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Но, воведовме оваа некогаш толку кратко последен пат, командата chmod. 581 00:31:15,000 --> 00:31:20,000 Ако јас не chmod a + x, што значи дека сите плус executability, 582 00:31:20,000 --> 00:31:26,000 а потоа hello2.php а потоа се ls-l повторно забележите што се смени. 583 00:31:26,000 --> 00:31:29,000 Еден, Linux е мене покажува името на датотеката во зелена да ја пренесе идејата 584 00:31:29,000 --> 00:31:32,000 дека тоа е извршна, но уште поважно, на левата страна 585 00:31:32,000 --> 00:31:36,000 забележите дека малку претставуваат x за извршна сега е наместен. 586 00:31:36,000 --> 00:31:42,000 Што е ова сега значи јас може да работи ./hello2.php како и обично, 587 00:31:42,000 --> 00:31:45,000 притиснете ентер, и поради фирма во самиот врв на датотеката 588 00:31:45,000 --> 00:31:48,000 тоа е знак, повторно, на Linux која вели 589 00:31:48,000 --> 00:31:51,000 користите оваа преведувач за да ја извршите оваа датотека. 590 00:31:51,000 --> 00:31:54,000 Не грижете се за принудувајќи на корисникот за да всушност го напишеш. 591 00:31:54,000 --> 00:31:57,000 >> И она што е убаво сега е тоа е вид на ирелевантни за моите клиенти или моите пријатели 592 00:31:57,000 --> 00:32:01,000 кој јазик напишав оваа програма во, така што може да се оди напред со mv 593 00:32:01,000 --> 00:32:04,000 и ја преименувате оваа работа да hello2, на пример. 594 00:32:04,000 --> 00:32:07,000 И сега, ако го направам ./hello2 595 00:32:07,000 --> 00:32:10,000 и одзумирате мојата програма продолжува да работи. 596 00:32:10,000 --> 00:32:13,000 Овие екстензии на датотеки се човековите конвенцијата што е потребно 597 00:32:13,000 --> 00:32:15,000 за нешто како ѕвекот и Направете кои бараат за нив. 598 00:32:15,000 --> 00:32:18,000 Но за PHP, јас може да се нарече ова наставката на датотеката што сакам. 599 00:32:18,000 --> 00:32:22,000 Јас би можеле да трик на светот во размислување дека сум навистина добри во Руби, 600 00:32:22,000 --> 00:32:25,000 и јас би можела да напише hello2.rb и потоа изврши тоа, 601 00:32:25,000 --> 00:32:28,000 и Voila, сега имам верзија Руби, која е комплетна лага. 602 00:32:28,000 --> 00:32:30,000 Но на датотеката екстензии се бесмислени 603 00:32:30,000 --> 00:32:35,000 ако датотеката е извршна и има оваа специјална алудираат на врвот на датотека. 604 00:32:35,000 --> 00:32:38,000 >> Сега, како настрана, дозволете ми да ви покажеме брзо верзија 3, 605 00:32:38,000 --> 00:32:40,000 кој е вид на корисен трик да знаеш. 606 00:32:40,000 --> 00:32:45,000 Во hello3 го направив нешто малку погрешно 607 00:32:45,000 --> 00:32:47,000 дека ќе ажурирање на изворниот код онлајн. 608 00:32:47,000 --> 00:32:50,000 Во верзија 3 излегува дека на повеќето Линукс компјутери 609 00:32:50,000 --> 00:32:53,000 има програма наречена env за животна средина, 610 00:32:53,000 --> 00:32:56,000 и што можете да го направите тука е ако немате идеја каде PHP 611 00:32:56,000 --> 00:33:00,000 е инсталирана на локален хард диск, затоа што навистина може да се разликуваат врз основа на компјутерот 612 00:33:00,000 --> 00:33:03,000 дека некој е користење, Плик само вели дека работи env, 613 00:33:03,000 --> 00:33:07,000 кој е на повеќето системи, и да дознаам каде PHP е. 614 00:33:07,000 --> 00:33:11,000 Само една заедничка трик, така да не мора да се грижите за изнаоѓање каде на програмата е. 615 00:33:11,000 --> 00:33:14,000 Но, ако не се грижи за да дознаете каде на програмата е и да не се грижи досега 616 00:33:14,000 --> 00:33:16,000 можете да го користите која команда. 617 00:33:16,000 --> 00:33:19,000 >> Дозволете ми да одзумирате и типот што PHP, 618 00:33:19,000 --> 00:33:23,000 и ќе забележите тоа ми кажува тоа е всушност во usr / bin / PHP. 619 00:33:23,000 --> 00:33:25,000 Тоа е вид на лага. Тоа е, исто така, во канта за отпадоци. 620 00:33:25,000 --> 00:33:27,000 Тоа е само мене покажува првиот хит. 621 00:33:27,000 --> 00:33:31,000 Ако некогаш сте се запрашале каде ѕвекот е, што ѕвекот, тоа е во usr / bin / ѕвекот, 622 00:33:31,000 --> 00:33:34,000 кој го направи, usr / bin / направи, и што значи тоа е сето ова време 623 00:33:34,000 --> 00:33:38,000 може да се пишува usr / bin / ѕвекот влезат да се кандидира ѕвекот, 624 00:33:38,000 --> 00:33:41,000 но тоа е вид на досадни да го направи тоа, па така некои папки 625 00:33:41,000 --> 00:33:44,000 како usr / bin и канта се претпоставува дека се стандардно 626 00:33:44,000 --> 00:33:50,000 па на компјутерот знае да се погледне во нив за вас. 627 00:33:50,000 --> 00:33:53,000 Било какви прашања за пишување супер, супер едноставен Здраво Светската програма 628 00:33:53,000 --> 00:33:55,000 во PHP и потоа се извршува? 629 00:33:55,000 --> 00:33:59,000 Бидејќи сега ќе почнеме да се воведе повеќе привлечни синтакса. 630 00:33:59,000 --> 00:34:01,000 Добро, тука ќе одиме. 631 00:34:01,000 --> 00:34:03,000 Овие програми видовме всушност сите од нив порано. 632 00:34:03,000 --> 00:34:07,000 >> Ако јас се отвори, на пример, ајде да направиме beer1.php, 633 00:34:07,000 --> 00:34:09,000 ние не ќе помине низ неколку верзии за тоа, но она што го направив 634 00:34:09,000 --> 00:34:13,000 беше Седнав и истури тоа или конвертирани 635 00:34:13,000 --> 00:34:15,000 мојата C код во PHP код овде. 636 00:34:15,000 --> 00:34:18,000 Повеќето од врвот на датотеката е коментарите тука. 637 00:34:18,000 --> 00:34:20,000 Излегува има една нова функција што треба нарекува readline. 638 00:34:20,000 --> 00:34:23,000 GetString, се потсетиме, од недела 0 наваму беше CS50 работа. 639 00:34:23,000 --> 00:34:27,000 PHP доаѓа со свој user-friendly функција наречена readline 640 00:34:27,000 --> 00:34:30,000 кој ги зема 1 аргумент кој го одредува брза 641 00:34:30,000 --> 00:34:33,000 што ќе посакате да ја прикажете на корисникот, и што readline не 642 00:34:33,000 --> 00:34:35,000 е го враќа она што корисникот типови внатре 643 00:34:35,000 --> 00:34:39,000 Во овој случај, јас сум прогласување на променлива наречена $ n. 644 00:34:39,000 --> 00:34:42,000 Јас сум чување во тоа повратната вредност на readline 645 00:34:42,000 --> 00:34:44,000 по предизвикувајќи на корисникот со овој стринг. 646 00:34:44,000 --> 00:34:47,000 Само да се врати, да всушност ја извршите оваа работа, дозволете ми да оди напред 647 00:34:47,000 --> 00:34:50,000 и да ја стартувате PHP beer1.php. 648 00:34:50,000 --> 00:34:53,000 Колку шишиња ќе има? Ајде само направете 2 на овој период. 649 00:34:53,000 --> 00:34:55,000 Enter. Тоа е сè. 650 00:34:55,000 --> 00:34:59,000 >> На програмата е функционално идентични со верзија Ц од пред неколку недели. 651 00:34:59,000 --> 00:35:01,000 Но, синтаксички ајде да видиме што е различно. 652 00:35:01,000 --> 00:35:05,000 Откако ќе добие int од корисникот најава дека јас го правам некои грешка проверка, 653 00:35:05,000 --> 00:35:08,000 и ако n е помалку од 1 Јас престанам и јас печатење 654 00:35:08,000 --> 00:35:11,000 на жал порака до корисникот и излез со 1. 655 00:35:11,000 --> 00:35:13,000 Тоа исто така е малку различен. 656 00:35:13,000 --> 00:35:16,000  Во C она што го правиме? Во C вративме 1. 657 00:35:16,000 --> 00:35:20,000 Во PHP ќе излезете со 1, кој искрено се мислам дека малку повеќе интуитивен 658 00:35:20,000 --> 00:35:22,000 затоа што ти си буквално излегување на програмата. 659 00:35:22,000 --> 00:35:25,000 Сите во право, а потоа надолу тука досадни песна е идентична синтаксички 660 00:35:25,000 --> 00:35:29,000 освен за променлива, па овде во линија 24 па натаму 661 00:35:29,000 --> 00:35:31,000 забележите ми за телефонска линија е речиси иста, 662 00:35:31,000 --> 00:35:34,000 но имам $ пред i и N, 663 00:35:34,000 --> 00:35:37,000 и она што е, исто така, водат за исчезнати од линија 26 што имавме во минатото 664 00:35:37,000 --> 00:35:39,000 кога прогласување на променлива i? 665 00:35:39,000 --> 00:35:41,000 Нема тип. 666 00:35:41,000 --> 00:35:43,000 Тоа не е точно во PHP да се каже int. 667 00:35:43,000 --> 00:35:45,000 Вие едноставно не треба да го направите тоа. 668 00:35:45,000 --> 00:35:48,000 Компјутер, преведувач PHP е доволно паметни за да сфатат 669 00:35:48,000 --> 00:35:51,000 дека ако се стави број во $ јас ќе го третираат 670 00:35:51,000 --> 00:35:53,000 како број за вас. 671 00:35:53,000 --> 00:35:57,000 А потоа надолу тука сме приклучок во i $, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Сето тоа е иста, и потоа надолу тука правиме "Леле, тоа е досадно" printf 673 00:36:00,000 --> 00:36:02,000 и потоа излезете (0). 674 00:36:02,000 --> 00:36:05,000 >> Повторно, готова брза тука е дека иако ние ќе поминат релативно 675 00:36:05,000 --> 00:36:09,000 малку време на PHP, секако наспроти она што го правевме на C, 676 00:36:09,000 --> 00:36:12,000 тоа е речиси ист, и така она што ние ќе направиме денес и следната недела 677 00:36:12,000 --> 00:36:14,000 и пошироко е се фокусира навистина на некои од новите идеи. 678 00:36:14,000 --> 00:36:17,000 Само да се види дека една друга работа се преведе во текот од C, 679 00:36:17,000 --> 00:36:20,000 ова е супер едноставна програма што го правевме во недела 1 680 00:36:20,000 --> 00:36:22,000 или 2 дека коцки вредност. 681 00:36:22,000 --> 00:36:25,000 Но, она што е интересно во тоа време за оваа програма е тоа што 682 00:36:25,000 --> 00:36:28,000 воведе поимот на сопствени напишани функција која ние самите напиша. 683 00:36:28,000 --> 00:36:31,000 Синтаксата во PHP е речиси иста. 684 00:36:31,000 --> 00:36:33,000 Еве го мојот програма до врвот. 685 00:36:33,000 --> 00:36:35,000 Забележите повторно отсуствува било каква идеја за главната. 686 00:36:35,000 --> 00:36:39,000 Јас на проектот пишување код, и тоа е она што се случува да се извршуваат од страна на преведувач. 687 00:36:39,000 --> 00:36:42,000 Јас испечатите x е сега 2, веројатно. 688 00:36:42,000 --> 00:36:44,000 Тогаш тврдам местење Рубикова коцка ... 689 00:36:44,000 --> 00:36:47,000 Тогаш јас го нарекувам коцка функцијата и во $ x 690 00:36:47,000 --> 00:36:50,000 и додели на повратната вредност до $ x. 691 00:36:50,000 --> 00:36:53,000 Тогаш тврдам дека тоа е коцки, а потоа го велам, кој се надевам дека 692 00:36:53,000 --> 00:36:55,000 ќе кажам x е сега 8. 693 00:36:55,000 --> 00:36:59,000 Синтаксата за функција во PHP е некогаш толку малку поинаква. 694 00:36:59,000 --> 00:37:01,000 Повторно недостасува е враќање тип. 695 00:37:01,000 --> 00:37:05,000 Повторно недостасува е враќање тип, а исто така недостасува е она што друг вид? 696 00:37:05,000 --> 00:37:07,000 [Нечујни студент одговор] 697 00:37:07,000 --> 00:37:10,000 Па, добро, тоа е добро. Да се ​​вратам на тоа во една секунда. 698 00:37:10,000 --> 00:37:12,000 >> Ние немаме, на пример, int тука. 699 00:37:12,000 --> 00:37:15,000 Ние не, на пример, се int тука затоа, пак, во PHP 700 00:37:15,000 --> 00:37:18,000 вие едноставно не треба да и не треба да го направат тоа, 701 00:37:18,000 --> 00:37:20,000 туку има овој нов збор се нарекува функција. 702 00:37:20,000 --> 00:37:23,000 Во PHP тоа е речиси малку појасно, бидејќи кога ќе сакате некоја функција 703 00:37:23,000 --> 00:37:26,000 вие буквално велат функција, ќе го даде името, а потоа со запирки листа 704 00:37:26,000 --> 00:37:28,000 ако било кој од своите аргументи. 705 00:37:28,000 --> 00:37:32,000 Нема потреба да се каже празнина или нешто слично, а потоа враќање е иста, 706 00:37:32,000 --> 00:37:35,000 $ A * $ a * $ a. 707 00:37:35,000 --> 00:37:38,000 Што е исто така недостасува? Sammy посочи ова тука. 708 00:37:38,000 --> 00:37:43,000 На врвот на датотеката комплетно отсутни во PHP, исто така, е прототип. 709 00:37:43,000 --> 00:37:45,000 Тоа исто така е од страна на дизајнот. 710 00:37:45,000 --> 00:37:48,000 Јазици и толкувачи како PHP се попаметни од C некогаш беше 711 00:37:48,000 --> 00:37:50,000 во компајлери како ѕвекот. 712 00:37:50,000 --> 00:37:53,000 >> Потсетиме дека ѕвекот, ако не го кажам дека коцка постои, 713 00:37:53,000 --> 00:37:56,000 ако не се каже дека printf постои како со прототип 714 00:37:56,000 --> 00:38:00,000 или со # include, добро, тоа требаше да се развикам и дури и не компајлирате вашиот код. 715 00:38:00,000 --> 00:38:03,000 PHP и повеќе модерни јазици се многу попаметни кога станува збор за ова. 716 00:38:03,000 --> 00:38:07,000 Тие ќе го земе врз себе да се чита преку сите ваши код 717 00:38:07,000 --> 00:38:11,000 а потоа се развикам само ако најде коцка никаде. 718 00:38:11,000 --> 00:38:15,000 Тоа не е важно дали коцката е на дното или на врвот или дури и во некои посебен фајл. 719 00:38:15,000 --> 00:38:18,000 PHP и слични јазици се сега доволно паметни да гледам напред 720 00:38:18,000 --> 00:38:26,000 во сè пред deeming дека како што имаат направено грешка. 721 00:38:26,000 --> 00:38:28,000 Каде што ни остави? 722 00:38:28,000 --> 00:38:32,000 >> Да направиме еден последен пример тука во услови, 723 00:38:32,000 --> 00:38:35,000 и ако се отвори conditions2.php известување премногу 724 00:38:35,000 --> 00:38:37,000 синтакса тука е речиси иста. 725 00:38:37,000 --> 00:38:40,000 Јас сум со користење readline наместо GetString, но таа линија е иста како и досега, 726 00:38:40,000 --> 00:38:42,000 "Би сакал цел број молам." 727 00:38:42,000 --> 00:38:45,000 Јас тогаш имаат ако состојба, на друго, ако, а потоа друго, 728 00:38:45,000 --> 00:38:48,000 но функционално оваа програма е, исто така, идентични со она што го правевме недели, 729 00:38:48,000 --> 00:38:51,000 па ако јас ја извршите оваа работа, PHP на conditions2, 730 00:38:51,000 --> 00:38:54,000 и јас го даде бројот, како 23 - 731 00:38:54,000 --> 00:38:57,000 Јас зедов позитивен број. Ако јас ја даде -1 Јас зедов негативен број. 732 00:38:57,000 --> 00:39:00,000 Ако јас ја даде 0 Јас навистина бере 0. 733 00:39:00,000 --> 00:39:02,000 Па кој се грижи за сето ова? 734 00:39:02,000 --> 00:39:06,000 Па, еден од забава вид на вежби тука 735 00:39:06,000 --> 00:39:10,000 за мене барем беше да се врати и да видиме колку брзо би можел да се спроведе pset 5, 736 00:39:10,000 --> 00:39:12,000 на спелувањето грешки pset. 737 00:39:12,000 --> 00:39:15,000 Потсетиме дека имаше оваа датотека наречена speller.c, 738 00:39:15,000 --> 00:39:17,000 и таму беше фајл наречен dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Она што јас го бев вид на потрошени неколку минути и јас конвертира кодот Ц 740 00:39:20,000 --> 00:39:23,000 во PHP код, и ние не ќе потроши многу време на правопис 741 00:39:23,000 --> 00:39:26,000 бидејќи исто како и во pset 5 ти навистина не треба да 742 00:39:26,000 --> 00:39:29,000 поминуваат многу време на правопис себе, бидејќи вашето внимание беше на речникот. 743 00:39:29,000 --> 00:39:32,000 >> Доволно е да се каже дека ако се чита преку правопис, 744 00:39:32,000 --> 00:39:35,000 оваа датотека тука, тоа е доста еднакво на код C 745 00:39:35,000 --> 00:39:37,000 ние ви даде за pset 5. 746 00:39:37,000 --> 00:39:39,000 Јас сум само додава некои $ места. 747 00:39:39,000 --> 00:39:43,000 Се променив одредени имиња на функции, ако тие не постојат во PHP. 748 00:39:43,000 --> 00:39:45,000 Има една дополнителна работа тука, preg_match, 749 00:39:45,000 --> 00:39:48,000 што е малку познавач начин за правење на нешто, но ние ќе се вратам на тоа на крајот. 750 00:39:48,000 --> 00:39:51,000 Но, во краток, правопис е речиси идентична, а ако се погледне на самото дно 751 00:39:51,000 --> 00:39:54,000 она што на крајот плука е тука, 752 00:39:54,000 --> 00:39:57,000 зборови погрешно напишани зборови во речникот, зборовите во текстот. 753 00:39:57,000 --> 00:40:00,000 Добро, па она што е интересно сега е следново. 754 00:40:00,000 --> 00:40:05,000 На врвот од моите датотека јас сум бара dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Исто како Ц # вклучуваат PHP има посебна функција наречена бараат 756 00:40:09,000 --> 00:40:14,000 дека доста го прави истото, се бара фајл наречен dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Како можам да се обратите за спроведување pset 5? 758 00:40:18,000 --> 00:40:21,000 Дозволете ми да оди напред и да се отвори датотеката тука. 759 00:40:21,000 --> 00:40:24,000 Дозволете ми да потрае малку референца тука. 760 00:40:24,000 --> 00:40:29,000 И дозволете ми да се создаде новата датотека и да почне повикувајќи овој dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Дозволете ми да го стави во друга папка за да можеме да го направите тоа во живо. 762 00:40:31,000 --> 00:40:33,000 И сега јас ќе зумирате внатре 763 00:40:33,000 --> 00:40:37,000 Одам да се започне мојот датотеката PHP со отворен заградата PHP затворена заграда. 764 00:40:37,000 --> 00:40:40,000 А потоа тука имаше неколку функции што е потребно да се спроведе за pset 5, 765 00:40:40,000 --> 00:40:42,000 па дозволете ми да започне со спроведувањето на некои од оние, 766 00:40:42,000 --> 00:40:47,000 така функција чек, кој мораше да земе збор во како аргумент. 767 00:40:47,000 --> 00:40:49,000 Ние ќе го направи тоа и да се вратат со него во моментот. 768 00:40:49,000 --> 00:40:53,000 >> Имаше функција оптоварување, што се во она што како аргумент? 769 00:40:53,000 --> 00:40:56,000 Речник, па на датотеката што всушност сакаше да се вчита. 770 00:40:56,000 --> 00:41:00,000 Имаше функција големина, што не превземал никакви аргументи 771 00:41:00,000 --> 00:41:04,000 и имаше функција она што беше на другиот? 772 00:41:04,000 --> 00:41:06,000 Бриши, кои не превземал никакви аргументи или. 773 00:41:06,000 --> 00:41:10,000 Овие се 4 функции, кои ќе треба да сега се спроведе во PHP, 774 00:41:10,000 --> 00:41:13,000 и она што јас ќе одам да направите е да се оди напред и да го направите тоа. 775 00:41:13,000 --> 00:41:16,000 А многу од вас користат хаш табелата во pset 5, 776 00:41:16,000 --> 00:41:21,000 па дозволете ми да оди напред и да се создаде хаш табелата во PHP. 777 00:41:21,000 --> 00:41:23,000 Готово. 778 00:41:23,000 --> 00:41:25,000 Тоа ми дава хаш табелата. Па, зошто? 779 00:41:25,000 --> 00:41:30,000 Еден, променливата се вика $ маса, само за да апелирам до идејата на хаш табелата. 780 00:41:30,000 --> 00:41:34,000 На загради, иако, да се потсетиме, што претставува? 781 00:41:34,000 --> 00:41:37,000 Низа, но во PHP низи не треба да се броево индексирани. 782 00:41:37,000 --> 00:41:41,000 Тие, исто така може да биде асоцијативни низи, 783 00:41:41,000 --> 00:41:44,000 што значи дека може да има произволен клучеви и вредности. 784 00:41:44,000 --> 00:41:49,000 >> Слично како во 5 pset, оние од вас кои не хаш табелата имплементации 785 00:41:49,000 --> 00:41:53,000 најверојатно вметнува зборот и потоа се додава дека во еден синџир на поврзани листи, 786 00:41:53,000 --> 00:41:56,000 или се чуваат на вредноста на вистинската некаде или нешто во таа насока. 787 00:41:56,000 --> 00:41:59,000 Ти некако се сети на фактот дека зборот беше таму. 788 00:41:59,000 --> 00:42:01,000 За сега тоа се случува да ми биде хаш табелата, 789 00:42:01,000 --> 00:42:06,000 па сега да се обратите за спроведување на проверка на функција 790 00:42:06,000 --> 00:42:09,000 Јас само треба да се погледне внатре во тоа хаш табелата 791 00:42:09,000 --> 00:42:11,000 и види дали некој збор е таму. 792 00:42:11,000 --> 00:42:15,000 Она што јас ќе одам да направите е да одам да се каже ако- 793 00:42:15,000 --> 00:42:20,000 да речеме isset, што е PHP функцијата која буквално само значи е клуч во собата, 794 00:42:20,000 --> 00:42:24,000 па isset ($ маса [$ збор] 795 00:42:24,000 --> 00:42:29,000 и ако е така враќање вистина. 796 00:42:29,000 --> 00:42:32,000 Тоа е тоа. Тоа е pset 5 во PHP. 797 00:42:32,000 --> 00:42:34,000 Па, во праведност, во ред. 798 00:42:34,000 --> 00:42:37,000 Друго врати false, па тоа не е таму. 799 00:42:37,000 --> 00:42:39,000 Што навистина се случува овде? 800 00:42:39,000 --> 00:42:42,000 Па, ако на маса или хаш табелата тука поопшто- 801 00:42:42,000 --> 00:42:46,000 е асоцијативна низа тоа значи дека може да индексира во неа 802 00:42:46,000 --> 00:42:50,000 со еден збор како "збор", и ќе мора да се вратат некои вредност. 803 00:42:50,000 --> 00:42:52,000 >> Ние сме вид на добивање на еден чекор понапред од нас самите. 804 00:42:52,000 --> 00:42:56,000 Тоа ќе биде вид на убаво ако ние всушност натоварени на датотеката прво, 805 00:42:56,000 --> 00:42:58,000 па товарот не е толку едноставна, но дозволете ми да оди напред и да разбивам 806 00:42:58,000 --> 00:43:00,000  навистина брзо спроведување на товарот. 807 00:43:00,000 --> 00:43:07,000 Дозволете ми да оди напред и да каже зборови добива датотека речникот. 808 00:43:07,000 --> 00:43:10,000 На датотека функција во PHP отвора датотека 809 00:43:10,000 --> 00:43:12,000 и се враќа за да ви низа на сите зборови во таа датотека, 810 00:43:12,000 --> 00:43:14,000 само да ги рацете кон вас. 811 00:43:14,000 --> 00:43:16,000 Тоа беше голема болка исто така, не е тоа? 812 00:43:16,000 --> 00:43:21,000 Сега foreach, ова е нашата нова конструкција, foreach ($ зборови како $ зборот). 813 00:43:21,000 --> 00:43:25,000 Овој циклус се случува да се започне процесирањето преку низа зборови 814 00:43:25,000 --> 00:43:30,000 и додели на $ збор променлива секој збор во датотеката 815 00:43:30,000 --> 00:43:32,000 од првиот до вториот на третиот до четвртиот по целиот пат 816 00:43:32,000 --> 00:43:35,000 па јас не треба да се прават досадни [i] нотација и слично. 817 00:43:35,000 --> 00:43:38,000 И она што јас едноставно ќе направи за секоја од овие зборови 818 00:43:38,000 --> 00:43:43,000 е чувајте го на мојата маса од индексирање во табелата 819 00:43:43,000 --> 00:43:47,000 а потоа прави точно, бидејќи е да се запамети 820 00:43:47,000 --> 00:43:50,000 дека зборот е во мојот речник сите што навистина треба да направите 821 00:43:50,000 --> 00:43:55,000 е вид на флип малку и да кажам овој збор во мојот хаш табелата е таму, тоа е вистина. 822 00:43:55,000 --> 00:43:58,000 И ако тоа не е таму, јас не мора да експлицитно се стави лажни, 823 00:43:58,000 --> 00:44:01,000 инаку јас ќе треба да се стави лажни за сите можни зборови во универзумот. 824 00:44:01,000 --> 00:44:05,000 >> Доволно е за мене само за да го поставите на индексот вредност 825 00:44:05,000 --> 00:44:09,000 на true ако некој збор е, всушност, во мојата хаш табелата. 826 00:44:09,000 --> 00:44:12,000 Сега, јас сум сечење неколку агли тука дека јас ќе бран моите раце во за сега, 827 00:44:12,000 --> 00:44:15,000 но сега товарот функција е направено. 828 00:44:15,000 --> 00:44:18,000 Јас вчита сите зборови од датотека во низа. 829 00:44:18,000 --> 00:44:21,000 Јас iterate во текот на овој низа, и за секој збор во низа 830 00:44:21,000 --> 00:44:24,000 Јас го приклучиш во мојот хаш табелата со 1 линија код. 831 00:44:24,000 --> 00:44:26,000 Ова е забава. Знаеш како може да се имплементираат големината сега? 832 00:44:26,000 --> 00:44:28,000 Па, големината е секогаш прилично лесно, во праведност. 833 00:44:28,000 --> 00:44:32,000 Тука ние само може да се вратат пребројувањето на табелата. 834 00:44:32,000 --> 00:44:34,000 Тоа е прилично лесна, брои бројот на нештата во табелата. 835 00:44:34,000 --> 00:44:36,000 Тоа е всушност вид на не најефикасен. 836 00:44:36,000 --> 00:44:39,000 Јас веројатно ќе треба да имаат променлива наречена големина за да можеме да го направи тоа 837 00:44:39,000 --> 00:44:41,000 во постојан време, но тоа е прилично лесно. 838 00:44:41,000 --> 00:44:45,000 О, и тогаш се исклучи, ако навистина сакаме да биде анален тука 839 00:44:45,000 --> 00:44:47,000 можеме да кажеме дека е како ќе се исклучи нешто. 840 00:44:47,000 --> 00:44:49,000 Вие само го поставите променлива еднаква на празна низа, 841 00:44:49,000 --> 00:44:51,000 и го добива ослободи од сето она што беше таму. 842 00:44:51,000 --> 00:44:53,000 Нема потреба да се јавите бесплатно. 843 00:44:53,000 --> 00:44:56,000 >> Повторно, јас сум намалување на некои ќошиња, а јас се извинувам за доделување проблем сет 5 844 00:44:56,000 --> 00:45:00,000 можеби во C, но ако ние сега одиме напред и да ја извршите оваа, 845 00:45:00,000 --> 00:45:02,000 Одам да всушност работи на верзија која ја напишав во однапред 846 00:45:02,000 --> 00:45:05,000 само така што јас не направи синтаксички грешки она. 847 00:45:05,000 --> 00:45:08,000 Дозволете ми да оди напред и да ја стартувате правопис. Користењето е иста. 848 00:45:08,000 --> 00:45:12,000 Тука е речникот датотека која само го содржи зборот foo. 849 00:45:12,000 --> 00:45:15,000 Еве еден текст фајл кој само содржи foo бар. 850 00:45:15,000 --> 00:45:19,000 Да проверка на правописот ова, па правопис, со користење на овој речник датотека на овој текст фајл. 851 00:45:19,000 --> 00:45:21,000 Има една погрешно напишани збор, бар, и Voila. 852 00:45:21,000 --> 00:45:23,000 Направено со pset 5. 853 00:45:23,000 --> 00:45:30,000 Да го земеме еден 5-минутната пауза тука, а ние ќе се врати и повеќе на PHP. 854 00:45:30,000 --> 00:45:32,000 Сите во право, ние сме назад. 855 00:45:32,000 --> 00:45:34,000 Да ми го-мразам за некое време. 856 00:45:34,000 --> 00:45:37,000 Ајде сега всушност се види дали ова не е позитивен 857 00:45:37,000 --> 00:45:39,000 всушност спроведување на оваа работа во PHP. 858 00:45:39,000 --> 00:45:43,000 Готово, го зеде 45 секунди да се имплементира. 859 00:45:43,000 --> 00:45:45,000 >> Но, ајде да одиме напред и сега се кандидира работи. 860 00:45:45,000 --> 00:45:49,000 Дозволете ми да оди напред и да ја стартувате верзија C 861 00:45:49,000 --> 00:45:52,000 на правопис, а ние ќе се пушта и на еден од најголемите датотеки, 862 00:45:52,000 --> 00:45:54,000 која е Кралот Џејмс Библијата. 863 00:45:54,000 --> 00:45:57,000 И дека тука е-ајде да одиме во нашиот C папка, 864 00:45:57,000 --> 00:46:01,000 правопис на Кралот Џејмс 5. 865 00:46:01,000 --> 00:46:03,000 А многу погрешно напишани зборови. 866 00:46:03,000 --> 00:46:06,000 Океј, па тоа е излез најверојатно доби дури и ако Часовите се малку различни, 867 00:46:06,000 --> 00:46:09,000 ако имаш сето работи правилно, и така времето во вкупно проверка на правописот 868 00:46:09,000 --> 00:46:13,000 Кралот Џејмс Библијата е 0,38 секунди, па прилично добар користење на тоа имплементација. 869 00:46:13,000 --> 00:46:16,000 Сега дозволете ми да одат во верзија PHP, кој ние едноставно напиша. 870 00:46:16,000 --> 00:46:18,000 Дозволете ми да се кандидира правопис на кралот Џејмс. 871 00:46:18,000 --> 00:46:21,000 Whoops, го игнорираат тоа грешка. Јас сум во ред директориум. 872 00:46:21,000 --> 00:46:24,000 Правопис на Кралот Џејмс 5. 873 00:46:46,000 --> 00:46:48,000 Речиси завршена. 874 00:46:48,000 --> 00:46:51,000 >> Океј, остроумен набљудувач ќе сфатите дека беше повеќе од 3 секунди таму. 875 00:46:51,000 --> 00:46:54,000 Тоа е вистинска трчање време. 876 00:46:54,000 --> 00:46:58,000 Излегува дека е потребно време да плукаат многу текст од 877 00:46:58,000 --> 00:47:00,000 поради визуелниот прашања, но скратам приказната, 878 00:47:00,000 --> 00:47:04,000 тоа беше 3,15 секунди на машината време, процесорот време, 879 00:47:04,000 --> 00:47:07,000 наспроти она што беше тоа пред еден момент? 880 00:47:07,000 --> 00:47:09,000 Како 0,3. 881 00:47:09,000 --> 00:47:11,000 Мислам, тоа е редот на големина побавно, па каде е тоа 882 00:47:11,000 --> 00:47:14,000 смешно забавување доаѓаат од? 883 00:47:14,000 --> 00:47:17,000 Па, како што беше случај со повеќето било дизајн одлука што е направен 884 00:47:17,000 --> 00:47:21,000 во класата во текот на изминатите 9 недели има речиси секогаш оваа Губитокот. 885 00:47:21,000 --> 00:47:24,000 Понекогаш помеѓу само просторот, понекогаш меѓу просторот и времето, 886 00:47:24,000 --> 00:47:27,000 простор, време и развојни напори, и навистина тука, иако 887 00:47:27,000 --> 00:47:31,000 ние спаси огромна сума на време, можеби потенцијално 10-20-30 часа 888 00:47:31,000 --> 00:47:34,000 на развојот на време за спроведување на проверка на правопис 889 00:47:34,000 --> 00:47:36,000 со камшикување тоа во само 45 секунди со овој јазик 890 00:47:36,000 --> 00:47:40,000 цената што ја плаќаат е дека тоа е наредба на големината побавно како резултат на тоа, 891 00:47:40,000 --> 00:47:43,000 и ова е обично случај со повеќето било толкува јазик, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Перл или други при 893 00:47:46,000 --> 00:47:49,000 ако си оди за да ја извршите преку толкувач и да го прочита вашиот код 894 00:47:49,000 --> 00:47:52,000 линија по линија, од врвот до дното, лево кон десно, 895 00:47:52,000 --> 00:47:55,000 дека посредник ќе потрае некое време на свој, 896 00:47:55,000 --> 00:47:59,000 и она што го чувствуваш тука во 3 секунди за разлика од 0,3 секунди 897 00:47:59,000 --> 00:48:02,000 е фактот дека постои овој посредник кој има буквално толкување нашиот код 898 00:48:02,000 --> 00:48:05,000 линија по линија, и не дај Боже ако си во внатрешноста на јамка 899 00:48:05,000 --> 00:48:08,000 со огромен фајл кој ги содржи стотици илјади зборови. 900 00:48:08,000 --> 00:48:11,000 >> Тоа надземни се случува да додадете и да додадете и да додадете и додаде. 901 00:48:11,000 --> 00:48:16,000 За алатка вака тоа не е веројатно најдобрата јазик да се користи за спроведување 902 00:48:16,000 --> 00:48:20,000 проверува правописот ако непосредност е од интерес за вашите корисници и за вас. 903 00:48:20,000 --> 00:48:23,000 Но луксузни имаме во моментот е ако 904 00:48:23,000 --> 00:48:27,000 користи јазикот како PHP или многу толкува јазици 905 00:48:27,000 --> 00:48:30,000 во контекст на веб, за тоа прашање, ќе имаат корист 906 00:48:30,000 --> 00:48:34,000 дека на интернет е многу побавен отколку повеќето компјутери. 907 00:48:34,000 --> 00:48:38,000 Имате GHz процесор во вашиот компјутер, 2 GHz, можеби дури и повеќе, овие денови. 908 00:48:38,000 --> 00:48:41,000 Но, реалноста е на интернет постои висок износ на латенцијата 909 00:48:41,000 --> 00:48:45,000 при што за интернет пребарувач да се зборува со некој сервер, иако видовме минатата недела 910 00:48:45,000 --> 00:48:47,000 дека тоа е прилично брзо, половина милисекунда или така, 911 00:48:47,000 --> 00:48:51,000 дека премногу додава нагоре, и ако сте симнување работи како слика 912 00:48:51,000 --> 00:48:54,000 или слика Фејсбук или добивање на инстант пораки преку Фејсбук разговор, 913 00:48:54,000 --> 00:48:57,000 Gchat или слично, сите овие двупосочен пати 914 00:48:57,000 --> 00:49:00,000 помеѓу прелистувачот и серверот почеток за да додадете нагоре, 915 00:49:00,000 --> 00:49:03,000 што го прави вашиот особено изборот на јазик во многу случаи 916 00:49:03,000 --> 00:49:07,000 не сите дека релевантните, па ти си во ред со помош на малку побавно јазик 917 00:49:07,000 --> 00:49:10,000 како PHP или Пајтон или Руби 918 00:49:10,000 --> 00:49:13,000 но за кои постојат огромни квит сум за вас и вашите колеги 919 00:49:13,000 --> 00:49:17,000 и вашите пријатели, бидејќи може да се спроведе работите толку, толку многу побрзо. 920 00:49:17,000 --> 00:49:20,000 И згора на тоа, имаш многу помал ризик од одредени безбедносни пропусти. 921 00:49:20,000 --> 00:49:22,000 Нема покажувачи во PHP. 922 00:49:22,000 --> 00:49:25,000 Нема секунда грешки кои можете лесно може да предизвика 923 00:49:25,000 --> 00:49:27,000 на ист начин можете да во C. 924 00:49:27,000 --> 00:49:29,000 Со C сте супер во близина на хардвер. 925 00:49:29,000 --> 00:49:33,000 Со PHP и слични јазици си вид на повисоко ниво, така да се каже, 926 00:49:33,000 --> 00:49:37,000 со многу одбрани помеѓу вас и она што всушност се случува 927 00:49:37,000 --> 00:49:39,000 внатрешноста на машината, и тоа е само Губитокот. 928 00:49:39,000 --> 00:49:42,000 >> Имаме добивано и до точка на се има овие повеќе современи, високо ниво јазици 929 00:49:42,000 --> 00:49:47,000 како PHP, бидејќи на научените лекции во јазици како PHP во C. 930 00:49:47,000 --> 00:49:50,000 Но, ако не го разбираат она што се случува под хауба сето ова време 931 00:49:50,000 --> 00:49:53,000 сигурно не може да се направи вистинскиот дизајн одлуки, 932 00:49:53,000 --> 00:49:56,000 и секако кога станува збор за работа во место како што се Фејсбук или Google 933 00:49:56,000 --> 00:49:59,000 или било која од овие места, кои се повеќе се игра со големи множества податоци 934 00:49:59,000 --> 00:50:01,000 дури и ако се вратиш назад и не premed и се работи со некои MD 935 00:50:01,000 --> 00:50:04,000 на некои големи податоци вклучување на пациентите и лекарите 936 00:50:04,000 --> 00:50:08,000 и како користење на правото алатки е многу привлечна 937 00:50:08,000 --> 00:50:11,000 затоа што во спротивно вашата анализа на некои податоци може да потрае секунди, 938 00:50:11,000 --> 00:50:14,000 или тоа буквално може да потрае часа. 939 00:50:14,000 --> 00:50:17,000 Ова е само еден пример, да не ве фрустрираат со колку повеќе напор 940 00:50:17,000 --> 00:50:21,000 тоа беше во C но да ви помогне да ги цениме дека кога ќе го имплементираат нешто во C 941 00:50:21,000 --> 00:50:24,000 навистина се разбере, или во теорија, навистина се разбере 942 00:50:24,000 --> 00:50:28,000 како што е или треба да се работи, и имаш речиси целосна контрола 943 00:50:28,000 --> 00:50:31,000 над она што се случува под хауба, и со овие повисоко ниво јазици 944 00:50:31,000 --> 00:50:34,000 ќе мора да се откаже од поголема контрола на луѓе кои ги измислиле 945 00:50:34,000 --> 00:50:37,000 и се предмет повеќе на нивниот дизајн одлуки од твое. 946 00:50:37,000 --> 00:50:41,000 Но ако се земе здраво за готово дека ефикасноста 947 00:50:41,000 --> 00:50:44,000 не е толку важно на Интернет, бидејќи на овие други прашања, 948 00:50:44,000 --> 00:50:47,000 само мрежа брзини се малку побавно од процесорот брзини, сепак, 949 00:50:47,000 --> 00:50:50,000 па ние да ги сортирате на да си дозволат да го користите малку побавно јазик 950 00:50:50,000 --> 00:50:55,000 ако квит сме ние може да се развие работи 10 пати побрзо или дури и повеќе. 951 00:50:55,000 --> 00:50:57,000 >> Ајде да видиме како можеме да започнат со користење на оваа. 952 00:50:57,000 --> 00:51:00,000 Дозволете ми да одат во папката 953 00:51:00,000 --> 00:51:03,000 меѓу примери денес се нарекува frosh.ims, 954 00:51:03,000 --> 00:51:06,000 и ова е всушност лично мотивирани од фактот дека многу првото нешто 955 00:51:06,000 --> 00:51:10,000 Напишав за веб години по преземањето CS50 и CS51 956 00:51:10,000 --> 00:51:14,000 е веб-сајт за Frosh инстант пораки програма, Новак интрамурален спорт, 957 00:51:14,000 --> 00:51:16,000 кој во тоа време тоа беше доволно години дека во времето 958 00:51:16,000 --> 00:51:19,000 немаше сајт за програмата, иако имаше интернет, 959 00:51:19,000 --> 00:51:22,000 и наместо тоа имаше Проктор во Wigglesworth при што ако си сакал 960 00:51:22,000 --> 00:51:26,000 да се регистрирате за одбојка или фудбал или што и да би ги пополните парче хартија. 961 00:51:26,000 --> 00:51:28,000 Тогаш ќе одиме низ дворот. 962 00:51:28,000 --> 00:51:31,000 Тогаш ќе затропа на нивната врата и слајд во нивната врата или рака на Проктор 963 00:51:31,000 --> 00:51:34,000 парче хартија со вашето име на неа, без разлика дали или не сакате да биде капитен на тимот, 964 00:51:34,000 --> 00:51:37,000 она спорт си сакал да се направи, и што dorm сте биле внатре 965 00:51:37,000 --> 00:51:39,000 Тоа е вид на старата школа начин на вршење на работите, а тоа беше одличен 966 00:51:39,000 --> 00:51:41,000 можност да се автоматизира многу на овој процес. 967 00:51:41,000 --> 00:51:43,000 Вие само одете на веб страната. Можете да напишете нешто внатре 968 00:51:43,000 --> 00:51:46,000 Ќе добиете е-мејл потврда, и бум, ќе завршиш. 969 00:51:46,000 --> 00:51:49,000 >> Ова беше многу првото нешто што го направив, иако во јазик наречен бисер, 970 00:51:49,000 --> 00:51:52,000 но тоа е релативно лесно да се направи во PHP, и ова е вид на претставник 971 00:51:52,000 --> 00:51:55,000 од проблемите можете да почнете решавање, кога можете да се изразите себеси 972 00:51:55,000 --> 00:51:58,000 програмски и не мора да се потпираат на нешта како Google сајтови 973 00:51:58,000 --> 00:52:01,000 или Excel или алатки кои се предадени за вас. 974 00:52:01,000 --> 00:52:03,000 Вие момци сега имаат способност да се прават работите се допаѓа ова. 975 00:52:03,000 --> 00:52:06,000 Ова е супер грда верзија на форма, 976 00:52:06,000 --> 00:52:09,000 но ајде да ја користите за почетокот на разговорот при што ова е 977 00:52:09,000 --> 00:52:12,000 околу она форма изгледаше како години за нас 978 00:52:12,000 --> 00:52:14,000 да им овозможи на луѓето на интернет да се регистрирате за Frosh инстант пораки. 979 00:52:14,000 --> 00:52:18,000 Прашавме за името, полето за тоа дали или не тие сакаа да биде капитен, 980 00:52:18,000 --> 00:52:21,000 машки или женски, а потоа што dorm тие беа во, 981 00:52:21,000 --> 00:52:23,000 а потоа тие ќе поднесете овој образец. 982 00:52:23,000 --> 00:52:27,000 Ајде прво да погледнеме под хаубата на HTML кој претставува оваа веб страница. 983 00:52:27,000 --> 00:52:31,000 Дозволете ми да одат во froshims0, 984 00:52:31,000 --> 00:52:35,000 и како настрана, за pset 7 земам здраво за готово 985 00:52:35,000 --> 00:52:37,000 на директориуми и директориуми, кои сум ги оставате работите внатре 986 00:52:37,000 --> 00:52:40,000 Ние ќе ви прошетка низ точно каде работи треба да оди во апаратот, 987 00:52:40,000 --> 00:52:43,000 која МО команди што треба да се кандидира, па не се грижи за сите 988 00:52:43,000 --> 00:52:46,000 глупави детали синхронизирање во од се-Go тука. 989 00:52:46,000 --> 00:52:49,000 >> Добро, тука е froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Дозволете ми да дојдете долу, и што е љубопитен тука, 991 00:52:52,000 --> 00:52:56,000 ова е PHP датотеката, но она што е во него, јасно? 992 00:52:56,000 --> 00:52:59,000 Тоа е многу скапо на HTML, и навистина, потеклото на PHP 993 00:52:59,000 --> 00:53:02,000 навистина беа за да се биде веб-центрични јазик. 994 00:53:02,000 --> 00:53:04,000 Пред малку ја користи за спроведување на пиво пример, 995 00:53:04,000 --> 00:53:07,000 условите пример, здраво пример, и тоа е добро. 996 00:53:07,000 --> 00:53:11,000 Можете да го користите PHP како јазик за скриптирање 997 00:53:11,000 --> 00:53:15,000 каде што сценариото е навистина само номенклатурата дадена за брз и валкан програма 998 00:53:15,000 --> 00:53:19,000 или нешто што ќе пишувам во испишана или поопшто толкува јазик. 999 00:53:19,000 --> 00:53:22,000 PHP е супер корисни за тоа, бидејќи сте виделе колку брзо 1000 00:53:22,000 --> 00:53:24,000 релативно можеме да разбивам програми во PHP. 1001 00:53:24,000 --> 00:53:27,000 Но, тоа е навистина дизајниран да се користи за веб, 1002 00:53:27,000 --> 00:53:31,000 и наменета за веб, во смисла дека забележите овде горе на врвот на датотеката 1003 00:53:31,000 --> 00:53:34,000 Јас се започне со 00:53:38,000 Тогаш имам еден куп непотребни коментари, готово, но тогаш јас затвори PHP на владата. 1005 00:53:38,000 --> 00:53:41,000 Но, тогаш јас капка во HTML режим. 1006 00:53:41,000 --> 00:53:45,000 >> Она што е интересно за PHP е иако на датотеката завршува со. Php 1007 00:53:45,000 --> 00:53:48,000 тоа е обично со цел да се ко-мешаа со HTML, 1008 00:53:48,000 --> 00:53:50,000 некои кодот PHP, некои HTML. 1009 00:53:50,000 --> 00:53:53,000 И ќе видиме на крајот дека ние може да почне да се закачам оние освен 1010 00:53:53,000 --> 00:53:56,000 и ги одржуваме нашите HTML одвоени од нашите PHP целосно, 1011 00:53:56,000 --> 00:53:59,000 но потеклото на PHP навистина требаше да ви даде оваа флексибилност, 1012 00:53:59,000 --> 00:54:02,000 дека ако сакате некои HTML само да го пишувате, и дека ќе биде 1013 00:54:02,000 --> 00:54:04,000 плукаат идентично на прелистувачот. 1014 00:54:04,000 --> 00:54:07,000 Но, ако ви треба некои програмски техника, 1015 00:54:07,000 --> 00:54:12,000 некои програмски код, исто така можете да го стави во иста точната датотека, како што наскоро ќе видиме. 1016 00:54:12,000 --> 00:54:14,000 Еве го мојот HTML. 1017 00:54:14,000 --> 00:54:16,000 Имам насловот на овој за Frosh инстант пораки. 1018 00:54:16,000 --> 00:54:20,000 Имам телото таг кој има некои CSS за да центар што е во средината, 1019 00:54:20,000 --> 00:54:23,000 а потоа надолу тука имам форма која очигледно се случува да се достават 1020 00:54:23,000 --> 00:54:27,000 на нов фајл наречен register0.php, па ќе видиме дека во еден момент. 1021 00:54:27,000 --> 00:54:31,000 Тоа е со користење на методот наречен пост, кој ќе се врати како добро. 1022 00:54:31,000 --> 00:54:34,000 Потоа имам некоја форма влезови, една што се вика име, чиј тип е текст, 1023 00:54:34,000 --> 00:54:37,000 оној чие име е капетан, чиј тип е квадратчето 1024 00:54:37,000 --> 00:54:40,000 и ова, не сме го виделе порано, но тоа го прави токму она што го кажува. 1025 00:54:40,000 --> 00:54:42,000 Вие ќе добиете наога наместо на полето за текст. 1026 00:54:42,000 --> 00:54:46,000 Овде имаш копче, кој е еден од оние кружни копчиња 1027 00:54:46,000 --> 00:54:48,000 дека можете да изберете овој или оној. 1028 00:54:48,000 --> 00:54:52,000 >> Забележите тоа е намерно дека дадов и радио копчиња името на полот. 1029 00:54:52,000 --> 00:54:55,000 Ова е како да се добие взаемно исклучување при што мора да кликнете 1030 00:54:55,000 --> 00:54:58,000 или овој или оној, и со кликнување на други 1031 00:54:58,000 --> 00:55:01,000 тоа unchecks другите, па мора да им се даде истото име 1032 00:55:01,000 --> 00:55:03,000 ако сакате да бидат меѓусебно се исклучуваат како што. 1033 00:55:03,000 --> 00:55:07,000 А потоа за dorm, јас не мислам дека ние го видел ова сеуште, но тоа е изберете мени, опаѓачкото мени. 1034 00:55:07,000 --> 00:55:09,000 Ознака за тоа е изберете. 1035 00:55:09,000 --> 00:55:11,000 Тогаш даде на опаѓачкото мени името, 1036 00:55:11,000 --> 00:55:13,000 а потоа имате еден куп од овие опции. 1037 00:55:13,000 --> 00:55:16,000 Првиот, само за естетика, е празен стринг. 1038 00:55:16,000 --> 00:55:20,000 Сакав само паѓачкото да биде празно по дифолт, 1039 00:55:20,000 --> 00:55:22,000 и потоа, тука е Apley, Canaday, Grays, и така натаму. 1040 00:55:22,000 --> 00:55:24,000 И ќе забележите дека дихотомијата тука. 1041 00:55:24,000 --> 00:55:27,000 Опција во паѓачкото има вредност, 1042 00:55:27,000 --> 00:55:30,000 но тогаш тоа има човечки-пријателски име, кое во овој пример 1043 00:55:30,000 --> 00:55:33,000 е идентична, но ако навистина сака да биде анален ние би можеле да имаат 1044 00:55:33,000 --> 00:55:36,000 вредноста на овој паѓачкото само да биде кратка верзија, 1045 00:55:36,000 --> 00:55:39,000 Grays, но ние навистина може да се каже Grays сала на човекот го гледа, 1046 00:55:39,000 --> 00:55:43,000 но тоа не е сè што интересни, па јас само го чуваат едноставни и направени се идентични. 1047 00:55:43,000 --> 00:55:46,000 Потоа надолу кон дното имаме Копчето Испрати 1048 00:55:46,000 --> 00:55:49,000 што сме виделе порано, но забележиш јас само да го даде друг збор. 1049 00:55:49,000 --> 00:55:53,000 Наместо CS50 пребарување дадов на етикетата "Регистрирај се". 1050 00:55:53,000 --> 00:55:56,000 >> Крајниот резултат е оваа веб страна тука, и повторно, 1051 00:55:56,000 --> 00:56:00,000 каде што ова се доставува до? 1052 00:56:00,000 --> 00:56:04,000 Станува доставени до некои датотеки, вредноста на акцијата атрибут, 1053 00:56:04,000 --> 00:56:07,000 кој беше register0.php. 1054 00:56:07,000 --> 00:56:09,000 Ајде да видиме што всушност се случува овде. 1055 00:56:09,000 --> 00:56:13,000 Дозволете ми да оди напред и да ги пополните оваа форма, велат Давид, 1056 00:56:13,000 --> 00:56:16,000 машки, Метјуз, и тогаш ќе речам дека се регистрирате. 1057 00:56:16,000 --> 00:56:18,000 Дозволете ми да одзумирате и кликнете регистрирате. 1058 00:56:18,000 --> 00:56:22,000 Океј, па вид на бескорисни, но ајде да видиме што всушност се случува. 1059 00:56:22,000 --> 00:56:26,000 Забележете дека рачно е променет да биде register0.php. 1060 00:56:26,000 --> 00:56:34,000 Што е чудно отсутни од URL-то, иако, иако ние едноставно поднесе пријава? 1061 00:56:34,000 --> 00:56:37,000 [Нечујни студент одговор] 1062 00:56:37,000 --> 00:56:39,000 Океј, тоа е само Хром е лесен овие денови. 1063 00:56:39,000 --> 00:56:42,000 Тоа е всушност таму. Тие само го сокрие да се зачува простор. 1064 00:56:42,000 --> 00:56:44,000 Но, добра мисла и добра мисла. 1065 00:56:44,000 --> 00:56:46,000 Кон другиот крај на URL-то, сепак, она што недостасува? Да. 1066 00:56:46,000 --> 00:56:48,000 [Студентски] На барањето. 1067 00:56:48,000 --> 00:56:51,000 На барањето, па се потсетиме на нашите едноставно пребарување на Google примери. 1068 00:56:51,000 --> 00:56:54,000 Штом ќе кликнете на копчето URL-то 1069 00:56:54,000 --> 00:57:00,000 ме одведе на Google, но потоа имаше? q = компјутерски науки или што имав внесе внатре 1070 00:57:00,000 --> 00:57:04,000 Тоа е затоа што се користат GET методата со пребарување пример. 1071 00:57:04,000 --> 00:57:06,000 >> Овој пат ние сме користење на она што метод наместо неа? 1072 00:57:06,000 --> 00:57:10,000 Ја објавите, и еден од непосредните разлики 1073 00:57:10,000 --> 00:57:14,000 помеѓу GET и POST е дека пост не стави внесување на корисникот во URL-то. 1074 00:57:14,000 --> 00:57:16,000 Тоа го крие. Таа се уште го праќа. 1075 00:57:16,000 --> 00:57:19,000 Всушност, она што го гледате во прелистувачот тука, како што ќе се открие во еден момент 1076 00:57:19,000 --> 00:57:22,000 од страна гледајќи во register0, е јас сум само гледањето на содржината 1077 00:57:22,000 --> 00:57:25,000 на низата, кои беа поднесени од прелистувачот на серверот. 1078 00:57:25,000 --> 00:57:29,000 Но URL не имаат?, Нема никакви клучни зборови 1079 00:57:29,000 --> 00:57:31,000 или вредности во него, и зошто е тоа така? 1080 00:57:31,000 --> 00:57:35,000 Па, пост ви овозможува да уште доставува податоци од форма на серверот, 1081 00:57:35,000 --> 00:57:38,000 но тоа не го стави во URL-то, па каков вид на информации е пост 1082 00:57:38,000 --> 00:57:41,000 особено погоден за можеби кога сте се бара од корисникот да 1083 00:57:41,000 --> 00:57:44,000 напишете влез форма? 1084 00:57:44,000 --> 00:57:48,000 Нешто како лозинка, нешто како што друго? 1085 00:57:48,000 --> 00:57:50,000 Броеви на кредитни картички. 1086 00:57:50,000 --> 00:57:53,000 Нешто што е благо чувствителни најверојатно не сакаат да заврши во URL-то 1087 00:57:53,000 --> 00:57:56,000 ако само затоа што тоа значи дека вашиот цимер или член на семејството може само да трол преку 1088 00:57:56,000 --> 00:57:59,000 вашата интернет историјата, а потоа буквално видите вашите лозинки, 1089 00:57:59,000 --> 00:58:02,000 буквално го видите вашиот броеви на кредитни картички, бидејќи повеќето пребарувачи 1090 00:58:02,000 --> 00:58:05,000 се сеќавам во историјата она адреси сте биле во, 1091 00:58:05,000 --> 00:58:09,000 па ако само затоа што тоа би било лоша идеја. 1092 00:58:09,000 --> 00:58:11,000 Користејќи пост крие дека детали од корисникот. 1093 00:58:11,000 --> 00:58:14,000 >> Исто така, како да испратите слика на Фејсбук? 1094 00:58:14,000 --> 00:58:17,000 Па, само 2 механизми што навистина може да се користи, 1095 00:58:17,000 --> 00:58:21,000 иако има неколку други повеќе arcane оние, е да се добие и пост. 1096 00:58:21,000 --> 00:58:26,000 Како ви се веројатно испратите слика преку URL-то? 1097 00:58:26,000 --> 00:58:28,000 Ти всушност може да го направи тоа. 1098 00:58:28,000 --> 00:58:30,000 Можете да ги JPEG или bitmap или GIF и можете да го застапува во хексадецимален 1099 00:58:30,000 --> 00:58:32,000 или нешто што се нарекува база 64. 1100 00:58:32,000 --> 00:58:35,000 Наместо на база 16 користите база 64, што во суштина изгледа како 1101 00:58:35,000 --> 00:58:38,000 ASCII карактери, а вие всушност може да испратите слика преку рачно 1102 00:58:38,000 --> 00:58:41,000 по знак прашалник, но постојат генерално големина граници. 1103 00:58:41,000 --> 00:58:44,000 Повеќето прелистувачи сила адреси да биде не повеќе од 1000 карактери, 1104 00:58:44,000 --> 00:58:47,000 можеби 2.000 карактери или слично, па не можете да испратите 1105 00:58:47,000 --> 00:58:50,000 10 MB Фејсбук слика. 1106 00:58:50,000 --> 00:58:54,000 За да користите пост, како и, па за сега се става параметрите во URL-то, 1107 00:58:54,000 --> 00:58:57,000 што е убаво и корисно понекогаш, но за нешто чувствителни или голема 1108 00:58:57,000 --> 00:58:59,000 пост е начин да се оди. 1109 00:58:59,000 --> 00:59:02,000 Што register0 всушност прави тука? 1110 00:59:02,000 --> 00:59:05,000 Па, ако ми се отвори register0 забележите дека ова е супер едноставен страница, 1111 00:59:05,000 --> 00:59:09,000 но тоа е демонстрација на фактот дека можам да ко-мешаат, за подобро или за полошо, 1112 00:59:09,000 --> 00:59:12,000 HTML со PHP. 1113 00:59:12,000 --> 00:59:15,000 Целата оваа датотека, освен за коментари на врвот, се HTML 1114 00:59:15,000 --> 00:59:19,000 освен за овој човек овде. 1115 00:59:19,000 --> 00:59:22,000 >> Забележите во средината на мојата PHP код, 1116 00:59:22,000 --> 00:59:26,000 во средината на мојот HTML, Имам вид на привремено 1117 00:59:26,000 --> 00:59:28,000 влезе PHP на владата. 1118 00:59:28,000 --> 00:59:31,000 Јас го повикувам посебна функција наречена печатење r. 1119 00:59:31,000 --> 00:59:34,000 Тоа значи печати рекурзивен, и она што го прави тоа е рекурзивно отпечатоци 1120 00:59:34,000 --> 00:59:38,000 што променлива го страна, запирка, излезот PHP на владата. 1121 00:59:38,000 --> 00:59:40,000 И пред таг ви дава пред-форматиран текст, 1122 00:59:40,000 --> 00:59:43,000 моно простор текстот, така што секој простор вие всушност ја видите. 1123 00:59:43,000 --> 00:59:46,000 Тоа не исчезне. Што е пост? 1124 00:59:46,000 --> 00:59:48,000 Па, она што е интересно и релевантни за PHP 1125 00:59:48,000 --> 00:59:52,000 е дека секогаш кога ќе поднесете форма со користење GET или POST 1126 00:59:52,000 --> 00:59:56,000 нешто што е доставен до вас од страна на прелистувачот 1127 00:59:56,000 --> 01:00:00,000 PHP е самата фигури што овие клучни вредност парови се, 1128 01:00:00,000 --> 01:00:02,000 фигури ако има еднаков знаци, фигури ако има знак прашалник. 1129 01:00:02,000 --> 01:00:07,000 Тоа го прави на сите напорна работа за вас, а потоа ги дава асоцијативна низа 1130 01:00:07,000 --> 01:00:10,000 содржат сето она што корисникот внесе во форма. 1131 01:00:10,000 --> 01:00:12,000 Па, она полиња се оваа форма имаат? 1132 01:00:12,000 --> 01:00:14,000 >> Таа имаше 4 полиња. 1133 01:00:14,000 --> 01:00:16,000 Една од нив беше во полето за текст наречен име. 1134 01:00:16,000 --> 01:00:18,000 Една од нив беше наога наречен капетан. 1135 01:00:18,000 --> 01:00:22,000 Една од нив беше копчето наречен пол, 1136 01:00:22,000 --> 01:00:24,000 и еден беше опаѓачкото мени нарекува дом, 1137 01:00:24,000 --> 01:00:27,000 така забележите кога ќе печати рекурзивно 1138 01:00:27,000 --> 01:00:29,000 содржината на оваа специјална променлива. 1139 01:00:29,000 --> 01:00:34,000 Ова е специјален глобалната променлива наречена буквално $ _POST, во сите настапи. 1140 01:00:34,000 --> 01:00:39,000 Ова е специјален глобалната променлива дека PHP само создава за вас 1141 01:00:39,000 --> 01:00:42,000 и рацете да ви, така што можете да пристапите сè 1142 01:00:42,000 --> 01:00:45,000 кој бил пратен преку форма од страна на корисникот. 1143 01:00:45,000 --> 01:00:48,000 И со повикување на печатење r на него-не би го направил тоа во една нормална апликација. 1144 01:00:48,000 --> 01:00:50,000 Ние го правиме ова за да ја видите во внатрешноста на оваа променлива, 1145 01:00:50,000 --> 01:00:53,000 и она што е во него, добро, 4 копчиња, 1146 01:00:53,000 --> 01:00:56,000 4 HTTP параметри, така да се каже, 1147 01:00:56,000 --> 01:00:59,000 име, капетан, пол, dorm, а потоа и вредности кои на корисникот 1148 01:00:59,000 --> 01:01:01,000 внесе во со еден исклучок. 1149 01:01:01,000 --> 01:01:03,000 Јас не тип D-А-В-I-Д. 1150 01:01:03,000 --> 01:01:05,000 Јас проверив кутијата, иако, за мажи, кои очигледно ги достави вредност 1151 01:01:05,000 --> 01:01:07,000 на само м да биде содржаен. 1152 01:01:07,000 --> 01:01:10,000 >> Кога јас избрани Метјуз тоа е вредноста што беа избрани, 1153 01:01:10,000 --> 01:01:12,000 и ова е малку глупаво, но тоа е конвенцијата. 1154 01:01:12,000 --> 01:01:17,000 Кога ги проверив кутијата, вредност на на "за", доби поднесени за полето. 1155 01:01:17,000 --> 01:01:21,000 Ако не бев го проверуваат, нема вредност ќе се испратени она. 1156 01:01:21,000 --> 01:01:26,000 Ова е само ни даваат увид во она што е внатре на оваа специјална глобалната променлива, 1157 01:01:26,000 --> 01:01:29,000 и тоа е толку посебен што се вика супер глобалната променлива. 1158 01:01:29,000 --> 01:01:33,000 Таа постои насекаде за вас во вашиот код, така што вие всушност може да го пристап. 1159 01:01:33,000 --> 01:01:36,000 Ова не е толку огромна, па ајде всушност употреба на супер глобалната 1160 01:01:36,000 --> 01:01:38,000 а всушност се обидуваат да се регистрирате некого. 1161 01:01:38,000 --> 01:01:41,000 Во froshims1 Одам да се направи една промена. 1162 01:01:41,000 --> 01:01:44,000 Јас сум менување на акција да биде register1.php, 1163 01:01:44,000 --> 01:01:46,000 и јас го правам една друга работа. 1164 01:01:46,000 --> 01:01:48,000 Бев вид на срам од квалитетот на мојата веб страница има. 1165 01:01:48,000 --> 01:01:52,000 Тоа е прилично одвратен, искрено, така излегува 1166 01:01:52,000 --> 01:01:56,000 дека можете да го користите многу лесно на интернет 1167 01:01:56,000 --> 01:01:59,000 JavaScript код на други луѓе, на други луѓе CSS 1168 01:01:59,000 --> 01:02:02,000 дека сум напишал и отворени извори и ставена на располагање како библиотека, 1169 01:02:02,000 --> 01:02:06,000 така да се каже, и за пример, еве јас сум со користење на слободно располагање библиотека, 1170 01:02:06,000 --> 01:02:08,000 еден куп на код кој некој друг го напишал. 1171 01:02:08,000 --> 01:02:11,000 >> Твитер се случи да ја напишам оваа кодот, а тоа е наречен bootstrap библиотека, 1172 01:02:11,000 --> 01:02:15,000 и тоа е само еден куп на CSS стилски листови, еден куп. CSS фајлови 1173 01:02:15,000 --> 01:02:19,000 дека некој друг пишува и сфатиле како да се добие сè убаво и убава 1174 01:02:19,000 --> 01:02:22,000 така што луѓето како нас може да се грижи малку помалку за естетика и се фокусира многу повеќе 1175 01:02:22,000 --> 01:02:24,000 на логика и вистински програмирање. 1176 01:02:24,000 --> 01:02:30,000 Со врски во со таа ознака, која е иста ознака Јас се користат да се сеќава за styles3.css порано, 1177 01:02:30,000 --> 01:02:34,000 Јас сега имаат пристап до фајл наречен bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Мин само значи дека тие си ја minified и тие ги добиле ослободи од сите бел простор и така натаму 1179 01:02:37,000 --> 01:02:40,000 само за да бидете сигурни дека тие не се ми испраќа повеќе бајти отколку што всушност треба. 1180 01:02:40,000 --> 01:02:45,000 Но, таму е целиот куп на CSS, па ако јас сега се отвори верзија 1 од Frosh инстант пораки 1181 01:02:45,000 --> 01:02:49,000 забележите дека мојата датотека е дефинитивно поубав. 1182 01:02:49,000 --> 01:02:54,000 Сега тоа е сепак само црно и бело, но забележуваат дека со само користење на нивниот стил на состојба 1183 01:02:54,000 --> 01:02:58,000 и користење на одредени карактеристики на тоа на мојата форма не е неверојатно, 1184 01:02:58,000 --> 01:03:01,000 но тоа е дефинитивно почиста отколку што беше порано, и проектор не го прави тоа правдата. 1185 01:03:01,000 --> 01:03:05,000 Има малку сиви линии околу копчињата и околу полето за текст токму тука, 1186 01:03:05,000 --> 01:03:07,000 но тоа е дефинитивно почиста отколку што беше порано. 1187 01:03:07,000 --> 01:03:09,000 >> Сега, во праведност, јас не треба да ги променам моите Селектирај малку. 1188 01:03:09,000 --> 01:03:12,000 Ова е верзија 1, и ќе забележите дека јас сум користел неколку нови ознаки, 1189 01:03:12,000 --> 01:03:17,000 и искрено, немав идеја како да го направите тоа додека не ја прочитав документација 1190 01:03:17,000 --> 01:03:20,000 за подигање библиотека Твитер, и тие ми кажаа, ако сакате да ја користите нашата библиотека 1191 01:03:20,000 --> 01:03:23,000 користете fieldset елемент во внатрешноста на вашиот облик, 1192 01:03:23,000 --> 01:03:27,000 стави зборот што сакаме да покажеме веднаш до полето внатрешноста на етикетата ознака, 1193 01:03:27,000 --> 01:03:30,000 тогаш даде вашиот влез името, пред само како, 1194 01:03:30,000 --> 01:03:34,000 а потоа за квадратчето не само што ќе ја заврши во етикетата елемент, 1195 01:03:34,000 --> 01:03:36,000 го користите нешто што се нарекува класа, па не сме виделе ова, пред, 1196 01:03:36,000 --> 01:03:39,000 но ќе го видиме во една од шорцеви pset 7. 1197 01:03:39,000 --> 01:03:43,000 А класа во CSS ти овозможува да направи нешто многу слично на проект, 1198 01:03:43,000 --> 01:03:46,000 но пред кога имавме проект со симболот # 1199 01:03:46,000 --> 01:03:48,000 тоа беше за една и елемент само еден. 1200 01:03:48,000 --> 01:03:51,000 Што е убаво за една класа е дека повеќе елементи можат да имаат иста класа 1201 01:03:51,000 --> 01:03:54,000 или истиот CSS работи применува на него. 1202 01:03:54,000 --> 01:03:57,000 >> Но, повторно, повеќе на оние во краток, а остатокот од ова е само копирајте го и ставете 1203 01:03:57,000 --> 01:04:00,000 од нивната документација каде што јас додадов етикета тука и таму. 1204 01:04:00,000 --> 01:04:03,000 И на крајот, бидејќи јас сум вклучен линкот ознака на врвот, 1205 01:04:03,000 --> 01:04:06,000 сè изгледа поубава автоматски 1206 01:04:06,000 --> 01:04:10,000 со едноставно имаат означени до мојата страница на начин кој 1207 01:04:10,000 --> 01:04:12,000 Твитер се очекува, и има толку многу различни начини 1208 01:04:12,000 --> 01:04:14,000 на тоа, и ова е навистина многу соодветно. 1209 01:04:14,000 --> 01:04:17,000 Во овој момент во семестар, како што ќе видите во спец pset 7, 1210 01:04:17,000 --> 01:04:20,000 Googling наоколу, до читање на библиотеки, користење на другите луѓе CSS 1211 01:04:20,000 --> 01:04:23,000 и JavaScript за решавање на помошни проблеми 1212 01:04:23,000 --> 01:04:26,000 на проблемот сет сам по себе е секако охрабрени и е начинот на кој 1213 01:04:26,000 --> 01:04:29,000 Веб е изграден, овие денови, што стои на рамениците на други луѓе 1214 01:04:29,000 --> 01:04:32,000 така што навистина може да се фокусира на нови и интересни проблеми. 1215 01:04:32,000 --> 01:04:34,000 Но, ајде сега се фокусираат на, повторно, логиката. 1216 01:04:34,000 --> 01:04:38,000 >> Тоа беше брз непотребен пат на естетиката само за да ви го покаже правецот во кој можете да отидете. 1217 01:04:38,000 --> 01:04:40,000 Одам да се вратиш назад на погрда една сега за сега само затоа што 1218 01:04:40,000 --> 01:04:44,000 нема одвлекување на вниманието со Твитер работи, и дозволете ми да оди напред и да се отворат 1219 01:04:44,000 --> 01:04:51,000 froshims2, која, пак, се разликува само во акција, register2.php, 1220 01:04:51,000 --> 01:04:55,000 и ајде да ги разгледаме во она што ефектот е тука. 1221 01:04:55,000 --> 01:04:57,000 Дозволете ми да оди напред и да напишете Давид. 1222 01:04:57,000 --> 01:04:59,000 Јас нема да биде капитен на овој период. 1223 01:04:59,000 --> 01:05:01,000 Јас ќе кажам машки, Метјуз, регистар. 1224 01:05:01,000 --> 01:05:05,000 По ѓаволите. Океј, тоа е еден шраф на мојот дел. 1225 01:05:05,000 --> 01:05:07,000 Стојат од страна. 1226 01:05:07,000 --> 01:05:17,000 Register2, линија 22, ако е празно или-Жал ми е. 1227 01:05:17,000 --> 01:05:19,000 Ајде да ја превчитате. 1228 01:05:19,000 --> 01:05:22,000 Океј, по поднесување на оваа форма што едноставно се случи? 1229 01:05:22,000 --> 01:05:25,000 Јас ја внеле во Давид, проверени машки, кликна Метјуз, регистар. 1230 01:05:25,000 --> 01:05:27,000 Сте се регистрирале. (Па, навистина не.) 1231 01:05:27,000 --> 01:05:32,000 Ова е јасно чекор подалеку од само печатење на содржината на некои променлива, 1232 01:05:32,000 --> 01:05:34,000 но она што е оваа датотека всушност прават? 1233 01:05:34,000 --> 01:05:37,000 Во register2.php 1234 01:05:37,000 --> 01:05:40,000 забележите дека имам некои нов код. 1235 01:05:40,000 --> 01:05:44,000 Внатрешноста на моето тело таг имам суштина, ако друг изградба, 1236 01:05:44,000 --> 01:05:47,000 но бидејќи јас сум ко-мешаат со некои HTML 1237 01:05:47,000 --> 01:05:51,000 Морам да влегуваат и излегуваат PHP на владата и назад, па ајде да видиме што јас го правам. 1238 01:05:51,000 --> 01:05:55,000 >> Во првата линија, тука сакам да кажам дека ако тоа е случај 1239 01:05:55,000 --> 01:06:00,000 дека пост супер глобалната е празна клучот на името, 1240 01:06:00,000 --> 01:06:04,000 Значи со други зборови, ако корисникот не ми даде вредност за името во форма, 1241 01:06:04,000 --> 01:06:07,000 тогаш празна ќе се врати точно, бидејќи вредноста е празна. 1242 01:06:07,000 --> 01:06:11,000 Или-забележите вертикални решетки-ако полот е празна 1243 01:06:11,000 --> 01:06:15,000 во внатрешноста на оваа специјална супер глобалната, која, пак, претставува содржината на образецот, 1244 01:06:15,000 --> 01:06:19,000 или dorm е празен, тогаш јас ќе одам да оди напред и да се развикам на корисникот. 1245 01:06:19,000 --> 01:06:22,000 Како? Па, забележиш јас одам да се каже дека мора да се обезбеди вашето име, пол, и dorm. 1246 01:06:22,000 --> 01:06:24,000 Да, всушност, предизвика таа грешка. 1247 01:06:24,000 --> 01:06:27,000 Дозволете ми да се вратам во мојата форма. Дозволете ми да ја превчитате да го исчистите. 1248 01:06:27,000 --> 01:06:30,000 И јас сум само ќе им даде Давида, и тие не треба да знаат каде што живеам. 1249 01:06:30,000 --> 01:06:33,000 Регистрирате. Очигледно јас не треба да им каже каде што живеам. 1250 01:06:33,000 --> 01:06:35,000 Мора да се обезбеди вашето име, пол и dorm. Оди назад. 1251 01:06:35,000 --> 01:06:39,000 >> И можев да кликнете да се врати во таа форма, но зошто е тоа така? 1252 01:06:39,000 --> 01:06:43,000 Па, во тој случај името не беше празна, но родот е и дом беше, 1253 01:06:43,000 --> 01:06:47,000 па целата оваа израз оценува за вистина, и иако синтаксата е малку нови, 1254 01:06:47,000 --> 01:06:51,000 повторно, влегуваме во PHP режим, познат ако изјава, 1255 01:06:51,000 --> 01:06:54,000 но новиот дел овде е само оваа дебелото црево, а јас зезнав со изоставување заграда 1256 01:06:54,000 --> 01:06:57,000 од несреќа, но коментар на дебелото црево, а тоа значи 1257 01:06:57,000 --> 01:07:00,000 иако ние сме излегување PHP на владата се 1258 01:07:00,000 --> 01:07:03,000 што следува се треба да плукаат дословно на прелистувачот 1259 01:07:03,000 --> 01:07:07,000 додека не го видите на друго блок, како и ние овде, 1260 01:07:07,000 --> 01:07:10,000 во кој случај наместо да плукаат ова 1261 01:07:10,000 --> 01:07:13,000 додека не го видите ENDIF, па така некои малку нови синтакса 1262 01:07:13,000 --> 01:07:16,000 што ми дозволува да се префрлате помеѓу HTML и PHP. 1263 01:07:16,000 --> 01:07:19,000 Можеме да ја исчистиме оваа до крај, но сега за сега, 1264 01:07:19,000 --> 01:07:22,000 тоа е вид на една огромна начин на грешка проверка на формата. 1265 01:07:22,000 --> 01:07:25,000 >> Сега, јас велам дека не сте навистина се регистрирани, бидејќи очигледно ние го направивме ништо друго освен на податоците, 1266 01:07:25,000 --> 01:07:28,000 па ајде всушност се обидуваат да направат нешто кул. 1267 01:07:28,000 --> 01:07:33,000 Во froshims3 единствената разлика е јас ќе одам да ги достават до register3, 1268 01:07:33,000 --> 01:07:35,000 па HTML таму е иста. 1269 01:07:35,000 --> 01:07:38,000 Во register3 забележите ова. 1270 01:07:38,000 --> 01:07:40,000 Ова е еден вид на секси. 1271 01:07:40,000 --> 01:07:44,000 На врвот Јас сум со користење на бара изјава, па ова е како # include. 1272 01:07:44,000 --> 01:07:46,000 Овој пат тоа не е stdio.h или нешто слично. 1273 01:07:46,000 --> 01:07:50,000 Тоа е библиотеката PHP, и ова се нарекува PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Како не знам да го вклучите токму оваа Цитираниот текст? 1275 01:07:53,000 --> 01:07:56,000 Јас го прочита во документацијата, па кога ми рекоа стави ова на врвот на датотеката 1276 01:07:56,000 --> 01:08:00,000 ако сакате да користите специјална библиотека наречена PHPMailer дека го прави она што го кажува. 1277 01:08:00,000 --> 01:08:03,000 Тоа ви овозможува да испратите е-мејл преку PHP. 1278 01:08:03,000 --> 01:08:05,000 Сега ајде да дојдете долу понатаму. 1279 01:08:05,000 --> 01:08:08,000 >> Забележете да започне сум во PHP режим цело време, 1280 01:08:08,000 --> 01:08:11,000 па сега забележите овде долу по увоз на таа библиотека, 1281 01:08:11,000 --> 01:08:13,000  така да се каже, јас го правам некои сигурносни проверки. 1282 01:08:13,000 --> 01:08:16,000 Ако тоа е случај дека името не е празна 1283 01:08:16,000 --> 01:08:19,000 и пол не е празен-забележите удивителни- 1284 01:08:19,000 --> 01:08:24,000 и dorm не е празен, тогаш на корисникот е логично пополнети форма, барем доволно. 1285 01:08:24,000 --> 01:08:28,000 Не ми е гајле ако тие се капетанот или не. Јас само треба нивното име, пол, и dorm. 1286 01:08:28,000 --> 01:08:31,000 Ако тие се пополнети оние надвор, така што ниту еден од тие области се празни 1287 01:08:31,000 --> 01:08:33,000 ова е малку нови синтакса. 1288 01:08:33,000 --> 01:08:36,000 PHP, како настрана, е објектно ориентирано програмирање јазик 1289 01:08:36,000 --> 01:08:39,000 што некои од вас момци може да се сети од оклопни транспортери или слично. 1290 01:08:39,000 --> 01:08:42,000 За сега, ако непознат, само знам дека за да ја користите оваа библиотека 1291 01:08:42,000 --> 01:08:45,000 ќе мора да напише една линија од код вака со користење на нова клучен збор, 1292 01:08:45,000 --> 01:08:47,000 буквално нов збор се нарекува ново. 1293 01:08:47,000 --> 01:08:50,000 Но надвор од тоа, имаме некои познати синтакса. 1294 01:08:50,000 --> 01:08:54,000 Тоа е стрелка оператор, кој е сличен на она што се користи за structs во контекст на покажувачи. 1295 01:08:54,000 --> 01:08:57,000 За денес PHP не треба покажувачи, 1296 01:08:57,000 --> 01:09:01,000 но знам за сега дека внатрешноста на пошта променлива 1297 01:09:01,000 --> 01:09:05,000 е во суштина вид на покажувачот на посебна библиотека 1298 01:09:05,000 --> 01:09:08,000 дека некој друг го напишал, и ако сакате да пристапите до одредена функционалност 1299 01:09:08,000 --> 01:09:12,000 внатре во тоа библиотека јас, како во C, користете ги стрелките на операторот, 1300 01:09:12,000 --> 01:09:14,000 иако тие не се всушност совети. 1301 01:09:14,000 --> 01:09:16,000 Тоа е вид на сопствена верзија на PHP него. 1302 01:09:16,000 --> 01:09:20,000 Ова значи одат во библиотека и повик на IsSMTP функција. 1303 01:09:20,000 --> 01:09:23,000 SMTP, се потсетиме, од нашите воини на мрежата се однесува на е-маил, 1304 01:09:23,000 --> 01:09:28,000 и тоа само значи употреба на сервер за електронска пошта за овој Frosh инстант пораки регистрација. 1305 01:09:28,000 --> 01:09:30,000 >> Што домаќин сакам да ги користите? 1306 01:09:30,000 --> 01:09:34,000 Па, Харвард, ако на Google наоколу, има е-маил сервер наречен smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Ако си игра заедно дома или живеете на Comcast мрежа 1308 01:09:37,000 --> 01:09:40,000 тоа би можело да биде нешто како smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Таа целосно зависи од тоа каде живеете и кој е вашиот интернет провајдер е. 1310 01:09:43,000 --> 01:09:47,000 После тоа, ќе одам да поставам мојата од адреса произволно да биде jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Јас сум потоа ќе се постави за да се обрати за да биде jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Единствениот начин знаев дека овие функции беа повикани SetFrom и AddAddress 1313 01:09:55,000 --> 01:09:57,000 е, повторно, Јас го прочитав документација. 1314 01:09:57,000 --> 01:09:59,000 Ова не е вид на магично позната на сите програмери. 1315 01:09:59,000 --> 01:10:02,000 Тогаш јас во собата предмет на "регистрација". 1316 01:10:02,000 --> 01:10:07,000 И сега оваа линија е малку грди, бидејќи она што го прави точка операторот значи во PHP? 1317 01:10:07,000 --> 01:10:09,000 Некој знае? 1318 01:10:09,000 --> 01:10:11,000 Concatenate. 1319 01:10:11,000 --> 01:10:14,000 Во C е болка во вратот да concatenate 2 жици заедно. 1320 01:10:14,000 --> 01:10:17,000 Мора да се справи со Примерок или realloc или сите нешта 1321 01:10:17,000 --> 01:10:20,000 само да се прошири должината на стрингот. 1322 01:10:20,000 --> 01:10:22,000 Во PHP, во JavaScript и други јазици 1323 01:10:22,000 --> 01:10:24,000 обично може да го направите ова со еден лик. 1324 01:10:24,000 --> 01:10:28,000 Во овој случај, точка значи искористам оваа низа тука 1325 01:10:28,000 --> 01:10:30,000 и додадете на тоа што оваа низа. 1326 01:10:30,000 --> 01:10:32,000 >> О, и патем, додадете на тоа што оваа низа, 1327 01:10:32,000 --> 01:10:34,000 кој се случува да биде променлива внатре во тоа супер глобален. 1328 01:10:34,000 --> 01:10:37,000 Потоа додадете на тоа нова линија, па сите овие точки само значи 1329 01:10:37,000 --> 01:10:39,000 задржи правење на поголеми и поголеми и поголеми стринг, 1330 01:10:39,000 --> 01:10:43,000 а вие не мора да се грижи воопшто за Примерок или слично на јазик, како таков, 1331 01:10:43,000 --> 01:10:46,000 и има други начини да го направите ова, но ова е еден од најбрзиот 1332 01:10:46,000 --> 01:10:48,000 начини да го нокаутирам. 1333 01:10:48,000 --> 01:10:50,000 Што е тоа го прават? 1334 01:10:50,000 --> 01:10:55,000 Тоа е креирање е-мејл тело што се случува да се каже Име: Капетан: Пол: dorm: 1335 01:10:55,000 --> 01:10:58,000 сите на посебни линии, а потоа на крај, 1336 01:10:58,000 --> 01:11:00,000 една линија код, и јас одам да го игнорираат овој сега за сега. 1337 01:11:00,000 --> 01:11:02,000 Ако == лажни само значи дека ако нешто не беше во ред, 1338 01:11:02,000 --> 01:11:04,000 но магија се случува овде. 1339 01:11:04,000 --> 01:11:08,000 Пошта испрати значи испрати оваа порака. 1340 01:11:08,000 --> 01:11:10,000 Ајде да видиме што нето резултатот е. 1341 01:11:10,000 --> 01:11:13,000 На дното на датотеката, забележи тоа се случува да се каже дека се регистрирани навистина 1342 01:11:13,000 --> 01:11:15,000 ако добијам толку далеку. 1343 01:11:15,000 --> 01:11:18,000 Ако, сепак, корисникот завртки нагоре, забележите дека почнавме овој 1344 01:11:18,000 --> 01:11:21,000 ако состојбата се тука, ако тоа не е празна и не е празен 1345 01:11:21,000 --> 01:11:24,000 и не го испразните ние испрати по пошта. 1346 01:11:24,000 --> 01:11:27,000 Инаку ние ќе испрати оваа линија код, 1347 01:11:27,000 --> 01:11:30,000 кои ќе имаат ефект, како што ќе видите во pset 7, на пренасочување на корисникот 1348 01:11:30,000 --> 01:11:35,000 назад од каде што дошле, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Прстите поминува, инаку ова ќе биде најмногу разочарувачки демо денес. 1350 01:11:38,000 --> 01:11:40,000 Еве ќе одиме. 1351 01:11:40,000 --> 01:11:42,000 Дозволете ми да се отвори мојот е-мејл сандаче за jharvard во Gmail. 1352 01:11:42,000 --> 01:11:44,000 Не внесувачот на Е токму сега. Во ред. 1353 01:11:44,000 --> 01:11:53,000 Сега дозволете ми да се отвори froshims3, која е трет и последен пример ние ќе се погледне тука. 1354 01:11:53,000 --> 01:11:55,000 Океј, тука ќе одиме. 1355 01:11:55,000 --> 01:12:00,000 Нејт, тој ќе биде капитен, машки, од, да речеме, Apley. 1356 01:12:00,000 --> 01:12:04,000 Регистрирате. Океј, сте се регистрирале навистина. 1357 01:12:04,000 --> 01:12:07,000 Сега, ако јас дојдете во текот на мојата е-маил, о, Боже. 1358 01:12:07,000 --> 01:12:09,000 Имам само динамички испрати е-маил на интернет. 1359 01:12:09,000 --> 01:12:11,000 >> Да ги оставиме за тоа белешка. 1360 01:12:11,000 --> 01:12:16,000 А видео е претстојната за предавање ние пропушти. Се гледаме следната недела. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]