1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Vítejte na Sekce pro tento týden. 3 00:00:08,440 --> 00:00:10,040 Nejsem Andi. 4 00:00:10,040 --> 00:00:14,590 Andi se roznemohl tento den, a já Byly druh volal v poslední chvíli 5 00:00:14,590 --> 00:00:15,700 převzít. 6 00:00:15,700 --> 00:00:20,920 Je to chřipková sezóna, takže se ujistěte, že jste zůstávají čisté, mytí rukou, 7 00:00:20,920 --> 00:00:24,800 a jíst zdravě, aby Ty taky, nejsou upoutaný na lůžko. 8 00:00:24,800 --> 00:00:26,870 >> Ale bez dalšího ado, pojďme začít. 9 00:00:26,870 --> 00:00:29,970 Dnes budeme mluvit o PHP trochu bit-- jak 10 00:00:29,970 --> 00:00:33,900 PHP se vztahuje k HTML, jak ji se týká CSS, a některé z rouna 11 00:00:33,900 --> 00:00:36,100 věci jsi udělal na poslední úkol. 12 00:00:36,100 --> 00:00:37,930 Budeme mluvit Něco málo o SQL 13 00:00:37,930 --> 00:00:41,360 a jak můžete pracovat s databázemi, což je docela klíčovou složkou P 14 00:00:41,360 --> 00:00:43,650 set 8-- P set 7. 15 00:00:43,650 --> 00:00:44,480 P set 7. 16 00:00:44,480 --> 00:00:48,400 >> A pak budeme mluvit trochu bit o tom, jak řadiče zobrazení fungují 17 00:00:48,400 --> 00:00:54,640 a proč to je filozofie za některé Moderní webové stránky a odlišná konstrukce. 18 00:00:54,640 --> 00:00:58,760 Docela hodně mnoho typů aplikací a aplikace, které by mohlo loď 19 00:00:58,760 --> 00:01:01,120 jsou pomocí tohoto modelu, pohled rámec regulátor, 20 00:01:01,120 --> 00:01:02,890 že budete používat P set 7, takže budu 21 00:01:02,890 --> 00:01:05,220 trochu pohovořit o tom, proč že to stát 22 00:01:05,220 --> 00:01:07,970 oblíbený, proč je to důležité a pěkné. 23 00:01:07,970 --> 00:01:12,052 A pak budu konečně přejít na některé tipy o řešení P set 7. 24 00:01:12,052 --> 00:01:13,760 A pokud budeme mít čas zbude na konci, 25 00:01:13,760 --> 00:01:17,320 vlastně můžeme udělat nějaké na tom pracovat společně. 26 00:01:17,320 --> 00:01:20,380 >> Takže, PHP. 27 00:01:20,380 --> 00:01:23,790 Ve skutečnosti, možná jste si všimli tohle-- jste opravdu neměl ponořit do to-- 28 00:01:23,790 --> 00:01:27,880 ale P sada 6 měl nějaký PHP kód, který se děje. 29 00:01:27,880 --> 00:01:34,710 A protože PHP je C-like jazyk, PHP, na rozdíl od HTML a CSS, 30 00:01:34,710 --> 00:01:39,030 je programovací jazyk, vzhledem k tomu, HTML a CSS jsou statické. 31 00:01:39,030 --> 00:01:44,050 Jsou značkovací jazyky, které se zabývají se stylem a vizuální rozvržení. 32 00:01:44,050 --> 00:01:46,230 PHP je real deal. 33 00:01:46,230 --> 00:01:51,590 >> PHP má smyčky, má conditions-- všechny ty věci, které je zábavné o C. 34 00:01:51,590 --> 00:01:56,190 To má několik věcí, které jsou trochu trochu lepší než C, který uvidíme, 35 00:01:56,190 --> 00:01:59,760 ale myslím, že nejjednodušší způsob, jak mluvit o PHP je jen do toho ponořit. 36 00:01:59,760 --> 00:02:04,087 Takže já jdu doprava do IDE v tomto bodě. 37 00:02:04,087 --> 00:02:06,170 První věc, kterou jdeme udělat, je skutečně vypadat 38 00:02:06,170 --> 00:02:10,169 trochu na některé z PHP kód, který byl v P set 6. 39 00:02:10,169 --> 00:02:13,600 Takže způsob, jakým děláme that-- před, tak, že jsme se systémem 40 00:02:13,600 --> 00:02:18,550 server pro spotřebiče bylo to, že budeme muset type-- 41 00:02:18,550 --> 00:02:21,750 buď použít implementace nebo implementaci personálu 42 00:02:21,750 --> 00:02:27,059 z server.c tím, že jde do adresáře a běží server.c buď bez 43 00:02:27,059 --> 00:02:30,100 arguments-- takže stačí zavolat jej na místní hostitel, což je to, co jste pravděpodobně 44 00:02:30,100 --> 00:02:31,849 dělal většinu time-- a pak ji krmení 45 00:02:31,849 --> 00:02:35,380 directory-- s pro použití jako kořeni 46 00:02:35,380 --> 00:02:38,310 Pokud internetová stránka by spustit, v podstatě. 47 00:02:38,310 --> 00:02:42,180 >> Tento týden pro P set 7, as velký jako náš kód pro server.c 48 00:02:42,180 --> 00:02:47,580 je, že tam jsou lidé, kteří mají již napsal tyto jemné věci znovu na CS50 49 00:02:47,580 --> 00:02:49,630 že mají trochu více funkcí, 50 00:02:49,630 --> 00:02:52,920 server program, který je schopen vypořádat se s trochu více 51 00:02:52,920 --> 00:02:56,350 ze složitosti, že budeme viz v obou P set 7 a P set 8. 52 00:02:56,350 --> 00:03:01,410 A to tak, že začnete se zřizuje Server je pouhým zadáním, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> A předtím, než začnete dělat něco, se chcete ujistit, 54 00:03:03,960 --> 00:03:06,070 že Apache 50 není již běží jako je 55 00:03:06,070 --> 00:03:08,130 na mém stroji, které jsem udělal to vyzkoušet. 56 00:03:08,130 --> 00:03:10,320 A to tak, že volá apache50. 57 00:03:10,320 --> 00:03:14,070 Zastavit, a uvidíte, že se to zastavit webový server, pokud se můžete podívat zde 58 00:03:14,070 --> 00:03:16,340 v dolní části okna terminálu. 59 00:03:16,340 --> 00:03:21,090 A pak už jen začít, my jsme Zavolám, "apache50 začít." 60 00:03:21,090 --> 00:03:23,150 A pak půjdeme krmit to adresář. 61 00:03:23,150 --> 00:03:26,950 >> A teď, protože chceme se podívat na některé z P set 6 kód 62 00:03:26,950 --> 00:03:32,850 že jsme měli zaveden, jsem vlastně kopírovat trochu P 63 00:03:32,850 --> 00:03:37,090 set 6 Kód do vlastního adresáře, které můžete vidět na levé straně tam. 64 00:03:37,090 --> 00:03:40,170 Říká se tomu "SECTION8" velkými písmeny 65 00:03:40,170 --> 00:03:44,510 protože já jsem jen tak nadšený bude živě přenášeno dnes. 66 00:03:44,510 --> 00:03:47,330 >> Takže když jsme se spustit tento, by měl všichni docela efektivně pracovat. 67 00:03:47,330 --> 00:03:52,350 Říká, OK, ale naše stránky jsou nyní k dispozici na adrese IDE, 68 00:03:52,350 --> 00:03:57,710 v podstatě, což je to, co jste používali přesně tak, jak to bylo v P set 7-- P set 6. 69 00:03:57,710 --> 00:04:00,899 Všechny mé indexy jsou jedním index dnes. 70 00:04:00,899 --> 00:04:02,940 Takže můžeme jít k tomu adresa, pokud budete pamatovat, 71 00:04:02,940 --> 00:04:05,710 pouhým kliknutím tento malý tlačítko v pravém horním rohu. 72 00:04:05,710 --> 00:04:14,200 >> A budete vyvolat tento kód, který se stalo, když jste šel do hello.php. 73 00:04:14,200 --> 00:04:18,000 A to, co kód je navržen tak, udělat, je, když jste zadali v názvu 74 00:04:18,000 --> 00:04:20,550 here-- když řeknete Sam protože to je moje name-- 75 00:04:20,550 --> 00:04:23,620 a já klikněte na pozdravit, když jsme se vydali na další stránku, 76 00:04:23,620 --> 00:04:25,270 tento název měl být zobrazen. 77 00:04:25,270 --> 00:04:28,550 Bylo by řekl: "Ahoj, Sam" nebo "Dobrý den," co si jen vzpomenete 78 00:04:28,550 --> 00:04:32,470 dát do toho, i když jsme se vydali do zcela nové webové stránky. 79 00:04:32,470 --> 00:04:36,610 >> A to je ten druh věcí, že PHP může udělat pro vás. 80 00:04:36,610 --> 00:04:42,840 PHP je schopna předat data mezi dvěma webových stránek. 81 00:04:42,840 --> 00:04:44,390 To je úplně jiný stránky. 82 00:04:44,390 --> 00:04:46,990 Uvidíte titul je "ahoj" sem. 83 00:04:46,990 --> 00:04:49,080 Ve skutečnosti, že mají stejný název, ale já 84 00:04:49,080 --> 00:04:52,560 slibují, že jsou jiný webový Stránky, když se podíváme na zdroje. 85 00:04:52,560 --> 00:04:55,890 A můžete předat data, která je zapíší do tohoto textového pole, 86 00:04:55,890 --> 00:04:59,830 ji předloží k další Stránka, která se právě zavolal, 87 00:04:59,830 --> 00:05:02,490 a pak se, že data je schopen tam být ve své současné podobě. 88 00:05:02,490 --> 00:05:04,810 >> Nyní jsme dosud nebyl realizován to sami, což 89 00:05:04,810 --> 00:05:08,710 je to, co budeme dělat právě teď sort dostat chuť na to, jak PHP funguje, 90 00:05:08,710 --> 00:05:15,070 ale klíčové myšlenkou je, že můžete PHP-- nějak myslet na to jako funkce. 91 00:05:15,070 --> 00:05:18,570 Něco, co PHP může nechat vás to je to může trvat parametry 92 00:05:18,570 --> 00:05:24,710 že zadáte do HTML stránky pomocí PHP a forem, 93 00:05:24,710 --> 00:05:29,960 a že může procházet ty, které jsou parametry na další stránku, která načte nahoru. 94 00:05:29,960 --> 00:05:35,110 >> V tomto případě, my naložení do této stránka s tlačítkem "pozdravit". 95 00:05:35,110 --> 00:05:38,960 Ale teď, jsem vlastně vypouští některé z tohoto kodexu 96 00:05:38,960 --> 00:05:44,850 v hello.php, který byl spuštěn , která byla skutečně zobrazení "Hello, 97 00:05:44,850 --> 00:05:49,680 svět "nebo" ahoj, Sam ", nebo "Dobrý den," co bylo jen vstup. 98 00:05:49,680 --> 00:05:53,620 Takže teď, my jsme dělat to, v podstatě. 99 00:05:53,620 --> 00:05:56,570 Chystáme se obnovit, že a také přidat nějaké další funkce, 100 00:05:56,570 --> 00:06:00,210 udělat trochu víc s tím, viz co PHP je opravdu schopen. 101 00:06:00,210 --> 00:06:04,870 >> Takže nejprve, pojďme mluvit o Tento soubor, hello.php. 102 00:06:04,870 --> 00:06:07,440 Takže když jsme se přiblížit v málo bit-- a teď jsem 103 00:06:07,440 --> 00:06:10,520 nějak se snaží posouvat všechny jak around-- tam jdeme. 104 00:06:10,520 --> 00:06:14,220 Uvidíte, že se jmenuje hello.php, ale syntaxe to 105 00:06:14,220 --> 00:06:16,880 vypadá jako soubor HTML. 106 00:06:16,880 --> 00:06:20,380 To je proto, že Skutečná PHP v tomto souboru 107 00:06:20,380 --> 00:06:25,220 vše je přilepená mezi nimi otazník-stříška bloky. 108 00:06:25,220 --> 00:06:28,610 Všechno tady je považován za PHP kód. 109 00:06:28,610 --> 00:06:32,040 >> A všimněte si, že když jsem udělal poznámku, 110 00:06:32,040 --> 00:06:35,320 uvidíte známé dvou lomítka. 111 00:06:35,320 --> 00:06:38,440 A pokud jste si vzpomínám, v HTML, když jsem zadejte komentář, 112 00:06:38,440 --> 00:06:42,540 vypadá to něco blíže k to, což je komentář v HTML. 113 00:06:42,540 --> 00:06:46,570 Takže opravdu všechno mezi tyto dvě lomené závorky 114 00:06:46,570 --> 00:06:50,060 Nyní je PHP kód, který se odráží v tom, 115 00:06:50,060 --> 00:06:53,270 že tento malý komentář symbolu se obrátil na poznámku. 116 00:06:53,270 --> 00:06:58,420 >> Takže pokaždé, když psát PHP kód, dokonce i v případě, že to není HTML kód mimo něj, 117 00:06:58,420 --> 00:07:02,720 vždycky to bude uzavřeny v těchto hranatých závorkách 118 00:07:02,720 --> 00:07:04,080 s otazníky. 119 00:07:04,080 --> 00:07:08,260 Můžete nějak přemýšlet o tom, jak se to všechno to-- kódu, který běžel ve svých programech C 120 00:07:08,260 --> 00:07:13,950 byl uzavřen v int main, prázdnotě, složená závorka, konec kudrnaté prohlášení závorka. 121 00:07:13,950 --> 00:07:17,100 A uvidíte složené závorky v PHP, taky, ale je to druh 122 00:07:17,100 --> 00:07:20,490 jako hlavní metodu PHP. 123 00:07:20,490 --> 00:07:25,630 >> Takže teď, jak to uděláme něco v PHP? 124 00:07:25,630 --> 00:07:29,190 Nyní, PHP je programovací Jazyk, který je velmi C-like, 125 00:07:29,190 --> 00:07:30,970 ale působí na webu. 126 00:07:30,970 --> 00:07:33,270 Takže jedna věc, která budete immediately-- jeden 127 00:07:33,270 --> 00:07:38,130 z prvních věcí, kterou opravdu s C byl tisknete věci ven, že jo? 128 00:07:38,130 --> 00:07:42,290 Takže v C jsme udělali s funkcí printf. 129 00:07:42,290 --> 00:07:46,430 Dali jsme to řetězec, Pravděpodobně s novou linkou, 130 00:07:46,430 --> 00:07:49,850 a pak jsme ukončen to se středníkem. 131 00:07:49,850 --> 00:07:53,790 >> Takže tak, že budeme dělat, že v PHP-- protože to není úplně printf. 132 00:07:53,790 --> 00:07:55,940 Je to trochu odlišnou syntaxí. 133 00:07:55,940 --> 00:08:02,580 Mimochodem, že tiskneme věci v PHP je říkáme, "echo ahoj" 134 00:08:02,580 --> 00:08:04,180 nebo "echo" jakékoli slovo. 135 00:08:04,180 --> 00:08:09,830 A to má za následek, dělá printf s řetězcem "Dobrý den." 136 00:08:09,830 --> 00:08:11,990 A přidává novou řadu na to. 137 00:08:11,990 --> 00:08:16,000 >> Takže pojďme teď dělat sure-- Budu oddálit opět trochu bit-- 138 00:08:16,000 --> 00:08:18,250 pojďme se ujistěte, že že je tento kód pracuje 139 00:08:18,250 --> 00:08:21,030 protože tam by mohlo velmi dobře být chyba v tomto kódu 140 00:08:21,030 --> 00:08:22,880 že budeme muset řešit. 141 00:08:22,880 --> 00:08:25,860 Takže server je již spuštěna. 142 00:08:25,860 --> 00:08:30,630 Takže když jsme se posunout zpátky na dno, Jo, je server stále běží. 143 00:08:30,630 --> 00:08:34,510 Takže když jsme se jen klepněte na toto téma trochu vpravo here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- bychom měli get-- skvěle. 145 00:08:37,620 --> 00:08:39,930 >> Stále se mající obeznámen "Pozdravuj" dialog, 146 00:08:39,930 --> 00:08:45,750 ale když jsem zadejte "Ahoj," uvidíme, že text "ahoj" byl vskutku 147 00:08:45,750 --> 00:08:50,080 vytisknout, která je přesně tak, jak jsme očekávali, protože echo v PHP 148 00:08:50,080 --> 00:08:53,190 je stejně jako prohlášení printf. 149 00:08:53,190 --> 00:09:01,410 Takže zpátky do kódu, jak v P sada 6 udělal distribuce kódu máte k dispozici 150 00:09:01,410 --> 00:09:05,920 aby to tak, že by PHP Výstup věc, která vás 151 00:09:05,920 --> 00:09:07,920 zadali na předchozí obrazovce? 152 00:09:07,920 --> 00:09:10,350 >> A tak nějak přezkoumat proč se to stane, my jsme 153 00:09:10,350 --> 00:09:15,510 jít do index.html, který je původní soubor, soubor, který 154 00:09:15,510 --> 00:09:18,710 se objeví na obrazovce s tlačítkem "pozdravit". 155 00:09:18,710 --> 00:09:20,950 Všimněte si, že je tu všechny klasické věci 156 00:09:20,950 --> 00:09:26,910 jsme si zvykli očekávat od takového HTML jak tyto věci, tyto značky uzavřený 157 00:09:26,910 --> 00:09:31,080 v lomených závorkách, jako PHP ale bez otazníky, 158 00:09:31,080 --> 00:09:34,650 což znamená zvláštní věc do formátu HTML. 159 00:09:34,650 --> 00:09:36,895 Máme titul, což je "ahoj." 160 00:09:36,895 --> 00:09:41,010 A všimněte si, že jak jsme viděli, titul je "ahoj" v obou případech. 161 00:09:41,010 --> 00:09:43,260 Změňme tohle na "říkají" Právě proto jsme 162 00:09:43,260 --> 00:09:48,170 mohou odlišit, kde jsme. 163 00:09:48,170 --> 00:09:49,600 >> Ale my máme tělo. 164 00:09:49,600 --> 00:09:52,690 A pak zajímavý kousek se bit, který se objeví v HTML, 165 00:09:52,690 --> 00:09:54,530 je tato forma element. 166 00:09:54,530 --> 00:09:56,370 A tak máme formulář. 167 00:09:56,370 --> 00:09:58,330 A to je klíč. 168 00:09:58,330 --> 00:10:00,530 To je, jak pracujeme s PHP. 169 00:10:00,530 --> 00:10:05,790 Akce parametr forma říká, že hello.php 170 00:10:05,790 --> 00:10:09,310 je to, co budeme posílat Hodnoty v této podobě se. 171 00:10:09,310 --> 00:10:13,830 To je místo, kde jsme kolem parametry, abych tak řekl. 172 00:10:13,830 --> 00:10:18,680 >> Všimněte si, další věc zde je to, že metoda je "se". 173 00:10:18,680 --> 00:10:24,450 Existují dva primární Metody, které budou 174 00:10:24,450 --> 00:10:28,750 být pomocí PHP k předání dat mezi websites-- webových stránek, 175 00:10:28,750 --> 00:10:30,500 rather-- v tomto úkolu. 176 00:10:30,500 --> 00:10:34,070 A tyto metody jsou "dostat" a "příspěvek." 177 00:10:34,070 --> 00:10:37,010 Tam jsou některé jemné Rozdíly mezi get a poštou 178 00:10:37,010 --> 00:10:40,520 že budeme mít my into-- se "dostat" do, chcete-li. 179 00:10:40,520 --> 00:10:44,030 >> Ale pro všechny záměry a účely, get a pošta 180 00:10:44,030 --> 00:10:47,120 jsou oba jen způsoby, předáte parametry 181 00:10:47,120 --> 00:10:49,500 s lehce různých provedeních. 182 00:10:49,500 --> 00:10:53,500 Pro tuto chvíli, budeme používat dostat, protože dostat to, co bylo původně použito 183 00:10:53,500 --> 00:10:57,340 v souboru PHP P nastavena 6. 184 00:10:57,340 --> 00:11:00,850 A vlastně, když jsme jít a dívat se Než jsme se upravovat něco jiného, 185 00:11:00,850 --> 00:11:03,090 Já jsem chtěl říct ahoj to-- Jak se jmenujete? 186 00:11:03,090 --> 00:11:03,812 >> Diváků: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Ach, bože. 188 00:11:04,770 --> 00:11:05,600 Nevím, jak se píše, že. 189 00:11:05,600 --> 00:11:06,766 Mohl byste hláskovat to pro mě? 190 00:11:06,766 --> 00:11:08,710 Diváků: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> Diváků: Jo. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Perfect. 194 00:11:10,960 --> 00:11:11,210 DOBŘE. 195 00:11:11,210 --> 00:11:12,751 Myslím, že jsem věděl, jak se píše, že. 196 00:11:12,751 --> 00:11:13,510 Omlouvám se za to. 197 00:11:13,510 --> 00:11:16,560 Řekneme-li však "Řekni ahoj," to není že to nebude zobrazovat na obrazovce 198 00:11:16,560 --> 00:11:18,476 ale jelikož jsme upravili kód trochu. 199 00:11:18,476 --> 00:11:21,290 Ale pokud se nám "Pozdrav" - OK, tak "ahoj" je tady. 200 00:11:21,290 --> 00:11:24,137 Ale vezmeme-li se blíže podívejte se na samotné URL, 201 00:11:24,137 --> 00:11:26,220 uvidíme, že to skončí s hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Takže, to je způsob komunikující na následující webové stránce 204 00:11:37,180 --> 00:11:39,240 parametry, které jsme prošli. 205 00:11:39,240 --> 00:11:40,870 Řekli jsme name = Elliot. 206 00:11:40,870 --> 00:11:46,290 A to je to, jak nakonec P set 6 přistupovat proměnné, které jsme prošli v 207 00:11:46,290 --> 00:11:47,520 prostřednictvím formuláře. 208 00:11:47,520 --> 00:11:51,470 A to je něco, je typické pro požadavek GET. 209 00:11:51,470 --> 00:11:57,480 Požadavek GET dělá parametry známý v URL webu. 210 00:11:57,480 --> 00:12:01,190 >> A budete připomenout, taky, v P set 6, která vás 211 00:12:01,190 --> 00:12:04,450 musel napsat funkci že se zabýval tím, 212 00:12:04,450 --> 00:12:09,700 že tento dotaz řetězce může existovat po souboru. 213 00:12:09,700 --> 00:12:14,684 Tam by mohlo být otazník následovaný by v podstatě libovolný počet znaků. 214 00:12:14,684 --> 00:12:16,350 A to je přesně to, co se tady děje. 215 00:12:16,350 --> 00:12:21,280 A důvod, proč byste měli analyzovat, že v realizaci server.c v P 216 00:12:21,280 --> 00:12:27,570 set 6 je tak, že byste mohli říct, PHP kód, který Name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Potřeboval jste být schopni analyzovat, že z adresy URL 218 00:12:30,460 --> 00:12:35,900 tak, aby soubor PHP dotyčný věděl, co to se zabýval. 219 00:12:35,900 --> 00:12:39,350 >> Tak doufejme, že to dává motivace server.c 220 00:12:39,350 --> 00:12:43,900 teď, když jsme pohybující se na mimo C do PHP. 221 00:12:43,900 --> 00:12:48,240 Takže pojďme se zaměřit na skutečně přístupem do co prošel žádosti Získejte nyní 222 00:12:48,240 --> 00:12:48,880 v tomto bodě. 223 00:12:48,880 --> 00:12:50,157 Chystám se zachránit to. 224 00:12:50,157 --> 00:12:51,240 My jsme nic nemění. 225 00:12:51,240 --> 00:12:56,080 Vypadá to, že máme vstupní pole. 226 00:12:56,080 --> 00:12:58,550 >> Jsme nastavit některé vlastnosti, jak můžeme udělat HTML. 227 00:12:58,550 --> 00:12:59,550 Jedná se o jednoduché věci. 228 00:12:59,550 --> 00:13:00,580 Nepotřebujeme to. 229 00:13:00,580 --> 00:13:03,750 Ale máme autocomplete off, který v podstatě says-- víte, 230 00:13:03,750 --> 00:13:05,710 když napíšete něco do webu, někdy 231 00:13:05,710 --> 00:13:07,355 se snaží naplnit, že pro vás. 232 00:13:07,355 --> 00:13:08,230 Takže je to pěkná věc. 233 00:13:08,230 --> 00:13:11,700 Chceme jej vypnout pro tento účel. 234 00:13:11,700 --> 00:13:13,970 To bylo rozhodnutí o CS50. 235 00:13:13,970 --> 00:13:15,640 Takže můžeme smazat, že pokud bychom chtěli. 236 00:13:15,640 --> 00:13:19,510 >> Autofocus jen hole kurzor ve tvaru při začátku. 237 00:13:19,510 --> 00:13:21,060 Opět platí, že není příliš důležitý. 238 00:13:21,060 --> 00:13:26,220 >> Ale name = "jméno" - to je trochu složitější, protože jeho jméno a jméno. 239 00:13:26,220 --> 00:13:28,730 Ale mohli bychom změnili to k něčemu jinému. 240 00:13:28,730 --> 00:13:30,563 A ve skutečnosti, to je Co budeme dělat teď. 241 00:13:30,563 --> 00:13:34,830 Řekneme "osoba", který je něco jako jména 242 00:13:34,830 --> 00:13:36,790 v případě, že osoba je definována jejich jména. 243 00:13:36,790 --> 00:13:41,480 >> Takže pojďme uzavřít toto, znovu se naše webové stránky 244 00:13:41,480 --> 00:13:46,110 protože náš server stále běží Apache 50, a budeme říkat, haló, tady je 245 00:13:46,110 --> 00:13:47,200 Elliot znovu. 246 00:13:47,200 --> 00:13:48,460 Proč ne? 247 00:13:48,460 --> 00:13:49,220 Ahoj. 248 00:13:49,220 --> 00:13:52,880 A pokud půjdeme tady, uvidíme pak místo jména = Elliot, 249 00:13:52,880 --> 00:13:55,200 se říká, že člověk = Elliot. 250 00:13:55,200 --> 00:14:00,060 A to je přímým důsledkem skutečnosti, že jsme právě změnili name = "člověka." 251 00:14:00,060 --> 00:14:06,840 >> Takže ve vstupním prvku Formulář HTML, název pole 252 00:14:06,840 --> 00:14:10,590 je identifikátor pro parametr, který je předávaný. 253 00:14:10,590 --> 00:14:14,250 Je to jako, když budete vytvářet funkce "add", které se ve dvou celých čísel 254 00:14:14,250 --> 00:14:16,670 a jste řekl, int a a b int. 255 00:14:16,670 --> 00:14:22,680 To by byl název a, a pokud jste chtěli jiný formulář, který 256 00:14:22,680 --> 00:14:27,800 můžeme udělat jen tím, kopírování a vkládání, pak bychom měli název b. 257 00:14:27,800 --> 00:14:31,030 >> Takže teď budeme mít dva parametry , které jsou při průchodu 258 00:14:31,030 --> 00:14:36,970 dostat se do další website-- další webové stránky, hello.php. 259 00:14:36,970 --> 00:14:39,770 A můžeme skutečně vidět že znovu, pokud chceme. 260 00:14:39,770 --> 00:14:44,830 To je nejjednodušší způsob, jak se vypořádat s webový kód v IDE, v podstatě. 261 00:14:44,830 --> 00:14:47,940 Spustíte server, dostat to běh, a pak pokaždé, když 262 00:14:47,940 --> 00:14:50,649 provést některé změny, jen v blízkosti tento soubor jen pro jistotu. 263 00:14:50,649 --> 00:14:52,440 Stisknutím tlačítka Zpět je trochu ošidné 264 00:14:52,440 --> 00:14:55,800 protože by to mohlo načíst dřívější verze, není nejaktuálnější jedné. 265 00:14:55,800 --> 00:14:59,200 >> A pak stačí kliknout na vaše opět tlačítko, pop vpravo up-- oh, 266 00:14:59,200 --> 00:15:00,510 a teď tam jsou dvě formy. 267 00:15:00,510 --> 00:15:10,440 A tak, když napíšeme jednu věc do každého one-- "jason Hirshhorn," pro instance-- 268 00:15:10,440 --> 00:15:11,590 řekneme ahoj. 269 00:15:11,590 --> 00:15:12,840 Díváme se na naše parametrů. 270 00:15:12,840 --> 00:15:18,910 Vypadá to, že máme, as Očekává se, a = Jason a b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 který představuje dva parametry že prošel této funkci. 272 00:15:23,760 --> 00:15:27,900 >> Takže teď pojďme skutečně dostat do kterým se provádí tuto funkci, že jsme 273 00:15:27,900 --> 00:15:30,840 měl v P set 6. 274 00:15:30,840 --> 00:15:32,490 Takže teď jsme jen ozvěnou ahoj. 275 00:15:32,490 --> 00:15:34,310 A to není moc užitečné. 276 00:15:34,310 --> 00:15:38,530 Chceme echo nějaké proměnné který byl předán k nám. 277 00:15:38,530 --> 00:15:40,320 A víme, název této proměnné. 278 00:15:40,320 --> 00:15:41,770 Máme a my jsme b. 279 00:15:41,770 --> 00:15:43,500 Tak jsme si mohli vybrat echo ani jednoho. 280 00:15:43,500 --> 00:15:45,470 >> Ale jak se k němu dostaneme? 281 00:15:45,470 --> 00:15:48,820 No, existuje určitá globální proměnné v PHP. 282 00:15:48,820 --> 00:15:51,240 A já budu psát je v komentářích zde. 283 00:15:51,240 --> 00:15:59,910 Dva nejdůležitější jsou get a příspěvek pro naše účely právě teď. 284 00:15:59,910 --> 00:16:05,350 Jedná se o pole nebo, Technicky, slovníky 285 00:16:05,350 --> 00:16:10,540 kde naši proměnné, které jsme postup do dalšího webové stránky Live. 286 00:16:10,540 --> 00:16:14,520 A brzy uvidíme, jak je používat. 287 00:16:14,520 --> 00:16:19,720 >> Další krátká poznámka o PHP kód a některé specifika to-- v C, 288 00:16:19,720 --> 00:16:23,260 deklarovat proměnnou nebo použití proměnných, 289 00:16:23,260 --> 00:16:24,570 nejprve museli vyhlásit. 290 00:16:24,570 --> 00:16:30,860 A to, co jste měli dělat, když jste prohlášen za nimi byl říci, int a nebo char b. 291 00:16:30,860 --> 00:16:35,630 Vy jste měli deklarovat typy těchto proměnné před vytvořením je. 292 00:16:35,630 --> 00:16:38,800 PHP-- nemusíte dělat nic z toho. 293 00:16:38,800 --> 00:16:42,522 PHP nežádá typ proměnné. 294 00:16:42,522 --> 00:16:44,480 A způsob, jakým vás Vytvoření proměnná-- poněkud 295 00:16:44,480 --> 00:16:49,930 než říkat int, char, string-- který je opravdu char *, jak jsme víš-- 296 00:16:49,930 --> 00:16:52,180 spíše než dělat všechno že, protože všechno 297 00:16:52,180 --> 00:16:54,620 je stejného typu, bez typu, můžeme jen 298 00:16:54,620 --> 00:16:59,210 použijte jeden znak, který je znak dolaru. 299 00:16:59,210 --> 00:17:03,700 A uvidíte, že už je praskání up, malé automatické dokončování věcí. 300 00:17:03,700 --> 00:17:11,380 A říká, že _GET a _POST Jsou dvě možnosti, které mají k dispozici I 301 00:17:11,380 --> 00:17:11,900 ke mě. 302 00:17:11,900 --> 00:17:16,430 Některé z těchto dalších věcí jsou ostatní globální proměnné v PHP 303 00:17:16,430 --> 00:17:18,430 že budete používat více než průběh P set 7. 304 00:17:18,430 --> 00:17:20,569 Pro tuto chvíli budeme zaměřit se na get a post. 305 00:17:20,569 --> 00:17:22,910 Ale to je užitečný věc, která dělá IDE 306 00:17:22,910 --> 00:17:24,980 kde kdysi jste napsali v tomto znak dolaru, 307 00:17:24,980 --> 00:17:28,760 bude to začít vyplňování globálních proměnných nebo proměnné, které jste již definovány. 308 00:17:28,760 --> 00:17:34,360 >> Takže pokud jste chtěli definovat proměnná s názvem "string," 309 00:17:34,360 --> 00:17:38,290 můžete jen nastavit ji na hodnotu "ahoj." 310 00:17:38,290 --> 00:17:40,100 A je to v podstatě tak jednoduché, jak to. 311 00:17:40,100 --> 00:17:44,720 A pak bychom mohli udělat, něco jako "echo $ string." 312 00:17:44,720 --> 00:17:48,524 IDE je třeba házet Chyby, když dělám něco špatně, 313 00:17:48,524 --> 00:17:50,190 takže doufejme, že dělám všechno správně. 314 00:17:50,190 --> 00:17:52,060 Ale chyby vždy nastanou. 315 00:17:52,060 --> 00:17:56,670 >> Další ošemetná věc, o PHP je, že to není sestaven. 316 00:17:56,670 --> 00:18:00,640 Takže s C programy, měli byste dělat denní rutina of-- v podstatě, 317 00:18:00,640 --> 00:18:02,710 byste provádět úpravy na váš kód, měli byste jej uložit, 318 00:18:02,710 --> 00:18:04,460 a pak by se vám aby to, kde byl make 319 00:18:04,460 --> 00:18:08,830 krokem, který volal kompilátor, zvonit, aby váš kód, tento text 320 00:18:08,830 --> 00:18:10,570 souboru, do spustitelného souboru. 321 00:18:10,570 --> 00:18:15,550 PHP je C-jako, ale je to popraven v reálném čase prostřednictvím webového prohlížeče. 322 00:18:15,550 --> 00:18:17,640 Takže není způsob, jak zjistit. 323 00:18:17,640 --> 00:18:19,790 >> Udělat by se hodit těm, užitečné chyby, ne? 324 00:18:19,790 --> 00:18:22,190 Bylo by to jako, vy nepřiznal tuto proměnnou 325 00:18:22,190 --> 00:18:23,320 předtím, než jste se pokusili použít. 326 00:18:23,320 --> 00:18:29,120 Udělal jsi všechno to špatné stuff-- segfault, segfault, všichni ten druh zábavy krát 327 00:18:29,120 --> 00:18:31,000 která přišla s make. 328 00:18:31,000 --> 00:18:33,920 PHP je dvousečný meč protože nebudete mít ty chyby, 329 00:18:33,920 --> 00:18:37,770 ale to také znamená, že nebudete vědět, opravdu to, co je s programem špatného vaší 330 00:18:37,770 --> 00:18:39,840 pokud jste právě běží, a to nefunguje. 331 00:18:39,840 --> 00:18:45,130 Ale debugger by měl poukázat na to Někteří snad užitečné maličkosti 332 00:18:45,130 --> 00:18:47,950 syntakticky, které můžete opravit. 333 00:18:47,950 --> 00:18:52,850 >> Takže teď, když projdeme to-- říkají, pojďme ukončit to. 334 00:18:52,850 --> 00:18:54,522 Znovu otevřít. 335 00:18:54,522 --> 00:18:55,480 A jsme zpátky sem. 336 00:18:55,480 --> 00:18:57,210 Takže máme proměnnou a variabilní b. 337 00:18:57,210 --> 00:18:58,626 A tohle nebude nakonec záležet. 338 00:18:58,626 --> 00:19:01,850 Zavoláme jim h a g bez konkrétního důvodu. 339 00:19:01,850 --> 00:19:03,120 >> A my říkáme ahoj. 340 00:19:03,120 --> 00:19:07,480 Teď to vypadá jako naše řetězce "ahoj" je opravdu tisk. 341 00:19:07,480 --> 00:19:10,460 Vytvořili jsme proměnnou s názvem "string", nastavte ji na hodnotu "ahoj." 342 00:19:10,460 --> 00:19:15,520 Všimněte si, že jsme neměli dělat malloc nebo si pole znaků. 343 00:19:15,520 --> 00:19:19,110 >> V PHP, protože proměnných jsou bez typu, řetězec 344 00:19:19,110 --> 00:19:22,230 je stejné jako pro char všechny záměry a účely. 345 00:19:22,230 --> 00:19:23,570 To by mohlo být "hi". 346 00:19:23,570 --> 00:19:26,340 To může být právě znak k. 347 00:19:26,340 --> 00:19:29,290 To může být číslo 1. 348 00:19:29,290 --> 00:19:30,300 A to není jedno. 349 00:19:30,300 --> 00:19:33,560 PHP se nestará o typ vaší proměnné. 350 00:19:33,560 --> 00:19:34,390 Nebo to dělá péči. 351 00:19:34,390 --> 00:19:36,240 To se stará, když se pokusíte a dělat věci s ním, 352 00:19:36,240 --> 00:19:38,790 ale to není jedno, v krok prohlášení. 353 00:19:38,790 --> 00:19:46,960 >> A stejně jako je to možné v C, můžete prohlásit struny na zásobníku, jako je tento 354 00:19:46,960 --> 00:19:51,130 když říká, "svazek", je trochu bit potenciálního nesprávného pojmenování, kdy 355 00:19:51,130 --> 00:19:52,230 mluvíme o PHP. 356 00:19:52,230 --> 00:19:54,020 Ale my nemusíme obávat, že. 357 00:19:54,020 --> 00:19:55,936 Tak jsme dostali náš řetězec "Ahoj," a my echo řetězec. 358 00:19:55,936 --> 00:19:58,880 Takže teď jsme diskutovali proměnné. 359 00:19:58,880 --> 00:20:06,060 Takže teď musíme si promluvit o Get a zakládat a provádět konečnou věc, která se 360 00:20:06,060 --> 00:20:12,660 potřeboval opravdu dostat to zpátky nahoru na funkčnosti P nastavení 6. 361 00:20:12,660 --> 00:20:14,990 Takže teď jsme odrážet řetězec, ale my 362 00:20:14,990 --> 00:20:17,080 přece mají tyto proměnné dostat a post. 363 00:20:17,080 --> 00:20:19,430 A protože jsme s použitím Tato metoda si, že 364 00:20:19,430 --> 00:20:24,810 Zdá se přirozené, že naše proměnná máme zájem, i B, 365 00:20:24,810 --> 00:20:29,870 se bude nacházet v matici nebo slovník, technicky dostat. 366 00:20:29,870 --> 00:20:33,510 >> Takže když jsme se založit si takhle s groups-- I lisované vstoupit 367 00:20:33,510 --> 00:20:36,770 a to nelíbilo to-- ale tady máme dostat. 368 00:20:36,770 --> 00:20:38,000 A tak se již existuje. 369 00:20:38,000 --> 00:20:41,380 Takže můžeme začít již na přístup některé prvky Get. 370 00:20:41,380 --> 00:20:45,000 Pokud se nám to dostat, tato syntaxe pro pole v PHP je velmi C-podobně. 371 00:20:45,000 --> 00:20:47,900 Máme dvě hranaté závorky. 372 00:20:47,900 --> 00:20:53,440 >> Takže když říkáme, dostat do normální pole, mohli bychom získat přístup 373 00:20:53,440 --> 00:20:55,600 index nultý, první index. 374 00:20:55,600 --> 00:20:56,840 PHP je nula index. 375 00:20:56,840 --> 00:21:00,550 Dalo by se říci nula, jedna, two-- věci, jako je toto. 376 00:21:00,550 --> 00:21:03,420 A já jsem říkal, že dostat je technicky slovník. 377 00:21:03,420 --> 00:21:08,290 Takže to, co dělá PHP je pod kapotou, což je trochu hezčí než C, 378 00:21:08,290 --> 00:21:12,760 Je to již dává vám některé slovník funkčnost, která 379 00:21:12,760 --> 00:21:16,240 je opravdu hash tabulky, nebo se snaží, údajně. 380 00:21:16,240 --> 00:21:19,360 Nebo, technicky to by mohlo být zkusit také. 381 00:21:19,360 --> 00:21:25,500 Ale PHP realizuje hash tabulky, která tvoří účinnou slovník. 382 00:21:25,500 --> 00:21:28,400 >> A tak víme, jméno z naší proměnné, že jo? 383 00:21:28,400 --> 00:21:32,440 Je předávaný v řetězec dotazu PHP. 384 00:21:32,440 --> 00:21:37,290 Máme = H a B = g, kde a a b jsou názvy proměnných. 385 00:21:37,290 --> 00:21:41,580 Takže způsob, jak můžeme přístup k hodnota, která odpovídá klíči 386 00:21:41,580 --> 00:21:45,055 v našem slovníku je Jen tím, že říká _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Takže teď máme _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 A pokud bychom stačí vyměnit uvnitř náš echo, když jsme echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 a uvidíme, jestli debuggeru hází všechny chyby týkající se tohle-- 391 00:22:02,410 --> 00:22:05,620 budeme šetřit, že a zavřít to. 392 00:22:05,620 --> 00:22:07,130 Otevři to. 393 00:22:07,130 --> 00:22:10,390 Takže jsme jen to právo teď, takže b by nezáleží. 394 00:22:10,390 --> 00:22:12,980 "ji" a "ho" - "hučení." "ji" a "hukot." 395 00:22:12,980 --> 00:22:14,810 To zní dobře. 396 00:22:14,810 --> 00:22:18,040 >> A to vytisknout "ji", který je blázen. 397 00:22:18,040 --> 00:22:21,920 Ale to je přesně to, co se děje v P set 6. 398 00:22:21,920 --> 00:22:27,240 V podstatě, co P set 6 Byl doing-- echo ahoj, 399 00:22:27,240 --> 00:22:31,580 name-- kde to mělo název proměnné a to jen 400 00:22:31,580 --> 00:22:35,520 vás žádá, abyste zadat v daném kousku textu. 401 00:22:35,520 --> 00:22:37,380 Tam byl také některé Doplňkový kód, kde 402 00:22:37,380 --> 00:22:40,550 to zahrnovalo v případě prohlášení, které můžeme udělat právě teď. 403 00:22:40,550 --> 00:22:50,120 >> Dá se říci, pokud existuje, který je funkce v PHP, 404 00:22:50,120 --> 00:22:55,110 _GET S podtržítkem, "name" - který je v podstatě říká, 405 00:22:55,110 --> 00:22:58,760 "v případě, že název byl vyplněn", protože jsme mohli jen klikl na tlačítko 406 00:22:58,760 --> 00:23:02,580 odeslat formulář bez psaním do tohoto pole. 407 00:23:02,580 --> 00:23:07,760 A my zabalit, že v našich přátelské složené závorky. 408 00:23:07,760 --> 00:23:09,175 Můžeme mít prohlášení jiného. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 A to je vše v úhlu PHP držák, otazník, úhelník, 411 00:23:18,820 --> 00:23:20,040 chcete-li. 412 00:23:20,040 --> 00:23:21,750 >> A teď uvidíme, jestli to funguje. 413 00:23:21,750 --> 00:23:26,300 Pořád čeká na to, aby ladění a svinstvo na mě, v podstatě, 414 00:23:26,300 --> 00:23:28,410 ale to má ještě ne. 415 00:23:28,410 --> 00:23:30,830 Možná, že to bude teď proto, že jsem mluvil o. 416 00:23:30,830 --> 00:23:31,330 Jo. 417 00:23:31,330 --> 00:23:32,510 To dělalo, ve skutečnosti. 418 00:23:32,510 --> 00:23:34,610 Takže, nic se objevil. 419 00:23:34,610 --> 00:23:38,750 To proto, že něco špatného že jsem napsal v PHP kódu. 420 00:23:38,750 --> 00:23:42,844 A jsem se zmínil o ladění je složitější, protože v PHP, my 421 00:23:42,844 --> 00:23:45,260 ani zkompilovat předem a kompilátor nebyl rád, 422 00:23:45,260 --> 00:23:46,710 Zde je místo, kde se vaše chyby jsou. 423 00:23:46,710 --> 00:23:49,690 >> Ale co můžeme dělat je-- se lidé pamatovat 424 00:23:49,690 --> 00:23:57,010 jak se dívat na jiné sítě požaduje, aby PHP-- nebo že internetové stránky 425 00:23:57,010 --> 00:23:57,620 poslat? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Dělal toto přednáška jednou nebo dvakrát. 427 00:24:00,290 --> 00:24:05,830 Pamatuješ si, kde jsme jít najít různé dluhy a 200 OKS, 428 00:24:05,830 --> 00:24:09,780 všechny tyto kódy, které jsou odesílány přes HTTP z webové stránky na webovou stránku? 429 00:24:09,780 --> 00:24:12,514 Pamatuje si někdo, kde jsme se jít na to? 430 00:24:12,514 --> 00:24:13,787 >> Diváků: Zdroj stránky. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: zdrojové stránky. 432 00:24:14,870 --> 00:24:15,890 Přesně. 433 00:24:15,890 --> 00:24:19,230 Pokud půjdete do Page Source-- perfektní. 434 00:24:19,230 --> 00:24:21,630 Takže Zdroj stránky vytáhne inspektor. 435 00:24:21,630 --> 00:24:23,140 >> A já jsem s použitím Safari. 436 00:24:23,140 --> 00:24:25,790 Mnoho z vás zřejmě bude používat Chrome nebo Firefox. 437 00:24:25,790 --> 00:24:27,750 Ale jak dlouho, jak jste v každém moderním browser-- 438 00:24:27,750 --> 00:24:29,500 a nebojte se řídit spolu, pokud chcete. 439 00:24:29,500 --> 00:24:32,560 Můžete zadat tento kód, nebo Stačí se podívat dovnitř P set 6 440 00:24:32,560 --> 00:24:35,820 adresář pro nějaké podobné věci. 441 00:24:35,820 --> 00:24:41,020 hello.php je to, co jsme V současné době pracuje na emulaci. 442 00:24:41,020 --> 00:24:42,476 >> Takže tam jsou různé karet. 443 00:24:42,476 --> 00:24:43,850 Můžeme se podívat na všechny zdroje. 444 00:24:43,850 --> 00:24:45,810 Můžeme vidět zdrojový kód. 445 00:24:45,810 --> 00:24:49,900 Takže to vypadá, že ne dostat přes tělo do konce roku. 446 00:24:49,900 --> 00:24:54,890 To zjistila chybu v PHP, a to zastavil načítání celou webovou stránku. 447 00:24:54,890 --> 00:24:58,320 Nemáme ani konec tag pro HTML nebo tak něco. 448 00:24:58,320 --> 00:25:07,189 >> A pokud se podíváme na síti, můžeme vidět, že nás někdo poslal žádost. 449 00:25:07,189 --> 00:25:07,980 To je doména. 450 00:25:07,980 --> 00:25:09,270 Jedná se o adresu. 451 00:25:09,270 --> 00:25:10,070 Je to dokument. 452 00:25:10,070 --> 00:25:14,310 Jsme pomocí metody GET. 453 00:25:14,310 --> 00:25:15,760 >> A je to červené. 454 00:25:15,760 --> 00:25:19,030 Nebo to byla červená, když jsem nebyl vybrán. 455 00:25:19,030 --> 00:25:22,680 Jak mohu zrušit výběr, že? 456 00:25:22,680 --> 00:25:23,980 No, to byla červená. 457 00:25:23,980 --> 00:25:25,201 Dovolte mi, abych osvěžit. 458 00:25:25,201 --> 00:25:25,700 Je to tady. 459 00:25:25,700 --> 00:25:26,640 Teď je to červené. 460 00:25:26,640 --> 00:25:30,530 >> Takže je to červené, což znamená, to propadlo, což je špatné. 461 00:25:30,530 --> 00:25:32,280 Takže pojďme prozkoumat, proč se to nepodaří. 462 00:25:32,280 --> 00:25:37,070 Takže všechno, že Page zdroj může v podstatě říct, je vaše věc 463 00:25:37,070 --> 00:25:38,720 nepracoval, kterou jsme již vidět. 464 00:25:38,720 --> 00:25:42,100 Takže v ideálním případě by být ještě užitečný nástroj. 465 00:25:42,100 --> 00:25:45,710 A tam jsou některé rozšíření prohlížeče který vám umožní ladit PHP, 466 00:25:45,710 --> 00:25:50,490 ale my nebudeme psát tuny PHP, 467 00:25:50,490 --> 00:25:53,190 takže je to asi prostě nejlepší prohlédnout kódu 468 00:25:53,190 --> 00:25:56,760 opatrně a jen ujistit, že to nedělá nic jiného. 469 00:25:56,760 --> 00:26:03,876 >> Tak uvidíme, jestli formát tohoto if je místo, kde je problém. 470 00:26:03,876 --> 00:26:07,420 Chci nahrát, že zpátky sem. 471 00:26:07,420 --> 00:26:09,830 Dobrý den Ahoj. 472 00:26:09,830 --> 00:26:11,350 Takže je tu problém tam. 473 00:26:11,350 --> 00:26:15,130 >> Takže pro správnou syntaxi PHP, PHP se děje 474 00:26:15,130 --> 00:26:17,369 být C-jako v tom, že uvidíte smyčky. 475 00:26:17,369 --> 00:26:18,410 If Uvidíte. 476 00:26:18,410 --> 00:26:20,920 Uvidíte všechny tyto přátele že jste se seznámili 477 00:26:20,920 --> 00:26:24,820 se v průběhu tohoto CS50 semestru. 478 00:26:24,820 --> 00:26:29,960 Ale nejlepší způsob, jak přijít na to, jak se dělat něco, co je v PHP na stránce věnované ji 479 00:26:29,960 --> 00:26:33,170 nebo se podívat na některé příklady PHP kódu protože víte, funkčnost. 480 00:26:33,170 --> 00:26:35,080 >> Víte, co se dá co dělat s programem. 481 00:26:35,080 --> 00:26:35,976 Můžete smyčky. 482 00:26:35,976 --> 00:26:37,600 Můžete smyčka tolikrát, kolikrát chcete. 483 00:26:37,600 --> 00:26:39,433 Můžete smyčky ve všech druhy různých způsobů. 484 00:26:39,433 --> 00:26:40,700 Můžete si vytvořit funkce. 485 00:26:40,700 --> 00:26:43,241 Můžete vytvářet funkce, které volat další funkce, funkce 486 00:26:43,241 --> 00:26:44,150 které se nazývají. 487 00:26:44,150 --> 00:26:45,733 A budete mít názvy pro tyto pojmy. 488 00:26:45,733 --> 00:26:49,860 Máš rekurze, smyčky, pokud se další kontrolní toky. 489 00:26:49,860 --> 00:26:51,300 A tak Google je váš nejlepší přítel. 490 00:26:51,300 --> 00:26:53,540 Dokonce říká, "PHP-li prohlášení "a tam bude 491 00:26:53,540 --> 00:26:57,740 být tun míst s Odpovědi na jiných lidí 492 00:26:57,740 --> 00:27:02,090 který jsem měl podobné dotazy na vás, kteří jsou právě začínáte s PHP 493 00:27:02,090 --> 00:27:03,820 a jsou zvědaví syntaxe věci. 494 00:27:03,820 --> 00:27:08,480 >> Protože máme ten luxus, že jsou schopni podívat se na kód v P sadě 6, 495 00:27:08,480 --> 00:27:14,980 jsme vlastně vytáhněte ji a uvidíte, že OK, tady je něco zajímavého. 496 00:27:14,980 --> 00:27:18,070 Takže tohle je to, co to vlastně Vypadal jako v P set 6. 497 00:27:18,070 --> 00:27:20,340 Takže když jdeme přes to, můžeme vidět, že máme 498 00:27:20,340 --> 00:27:27,150 dostal několik z nich málo Bity otazník PHP-podobně. 499 00:27:27,150 --> 00:27:29,050 >> A nejsou složené závorky. 500 00:27:29,050 --> 00:27:30,250 Tam jsou dvojtečky. 501 00:27:30,250 --> 00:27:32,340 A tam jsou kudrnaté šle v PHP, ale toto 502 00:27:32,340 --> 00:27:38,700 je formát a způsob, jak dělat PHP, který pracuje dobře s HTML 503 00:27:38,700 --> 00:27:43,830 protože, jak uvidíte, že jsme zavření off těchto PHP bits-- elses 504 00:27:43,830 --> 00:27:49,770 a IFS a všechny that-- a poté jsme interspersing HTML uvnitř nich 505 00:27:49,770 --> 00:27:54,640 zatímco ještě v návaznosti na řízení toku stanoveny PHP. 506 00:27:54,640 --> 00:27:58,480 >> Takže jsem prostě jít rychlá procházka to 507 00:27:58,480 --> 00:28:01,740 protože je to hodně stejný koncepty, které jsme dělali předtím. 508 00:28:01,740 --> 00:28:07,280 Máme-li není prázdný, závorky, _GET_GET ["name"]. 509 00:28:07,280 --> 00:28:08,500 To je všechno stejné věci. 510 00:28:08,500 --> 00:28:15,430 Jsme pomocí _GET slovník, který PHP posílá na žádost forem, 511 00:28:15,430 --> 00:28:20,720 proto, že je parametry akce, a způsob je získat. 512 00:28:20,720 --> 00:28:22,110 A pak, že končí to. 513 00:28:22,110 --> 00:28:27,420 Tlustého střeva je signifier to prostě dělat v případě, že if vyhodnotí na true. 514 00:28:27,420 --> 00:28:29,490 Je to jako složená závorka. 515 00:28:29,490 --> 00:28:33,320 A ve skutečnosti, to je složená závorka v jiných jazycích, jako je Python, 516 00:28:33,320 --> 00:28:37,070 které můžete, pokud jste právě narazíte tomu, že pro konečné projekt. 517 00:28:37,070 --> 00:28:40,170 >> A pak se tento řádek, ahoj. 518 00:28:40,170 --> 00:28:41,510 Pak máme takový divný věci. 519 00:28:41,510 --> 00:28:43,190 Máme více konzol. 520 00:28:43,190 --> 00:28:46,140 Neexistuje žádný HTTP there-- nebo PHP, je mi líto. 521 00:28:46,140 --> 00:28:47,250 Ale je tu rovnítko. 522 00:28:47,250 --> 00:28:50,625 A pak máme funkci, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 To je něco jako více pokročilá verze echo. 525 00:28:58,040 --> 00:29:01,450 Stejně jako jsme echo jako způsob vytisknout věci v PHP. 526 00:29:01,450 --> 00:29:03,890 To je funkce, která je definovány v PHP, který 527 00:29:03,890 --> 00:29:08,160 se bude zabývat některými více ošklivé znaky a hodnoty bytů 528 00:29:08,160 --> 00:29:09,540 že byste mohli projít. 529 00:29:09,540 --> 00:29:11,070 Je vždy nejbezpečnější používat. 530 00:29:11,070 --> 00:29:14,930 Ale echo bude dělat svou práci Jen v pořádku, pokud nejsme 531 00:29:14,930 --> 00:29:17,620 jednání s ničím příliš ošklivé. 532 00:29:17,620 --> 00:29:20,340 >> A tak to má stejný účinek v podstatě, 533 00:29:20,340 --> 00:29:26,360 tohle mezi otázce značky je hodnocena PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars vrátí pěkný HTML tištěný hodnota _GET_GET ["jméno"], tj. 535 00:29:34,490 --> 00:29:36,010 co jsme zadali ve formuláři. 536 00:29:36,010 --> 00:29:40,025 A pak to bude pozdravit, čárka prostoru, a pak to. 537 00:29:40,025 --> 00:29:42,910 Celá věc mezi lomené závorky 538 00:29:42,910 --> 00:29:47,390 budou nahrazeny bez ohledu htmlspecialchars vyhlásí. 539 00:29:47,390 --> 00:29:49,390 Tak to je v podstatě podobné na to, co děláme. 540 00:29:49,390 --> 00:29:54,760 A máme prohlášení k jinému, který je hello world, který dává smysl. 541 00:29:54,760 --> 00:29:58,070 Takže teď se vraťme se k odběru kód a vidět exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Řekl I existuje, což není věc, kterou jsme chtěli dělat. 543 00:30:02,200 --> 00:30:05,370 Chtěli jsme říct ne prázdná. 544 00:30:05,370 --> 00:30:10,020 >> A tak by to mělo fungovat trochu trochu lepší, není prázdný _GET_GET ["name"]. 545 00:30:10,020 --> 00:30:12,710 A to složená závorka se shoduje s složená závorka. 546 00:30:12,710 --> 00:30:15,210 Máme naše složené závorky zde. 547 00:30:15,210 --> 00:30:17,790 echo ahoj _GET ["name"]. 548 00:30:17,790 --> 00:30:19,912 Uvidíme, jestli to funguje trochu lépe. 549 00:30:19,912 --> 00:30:21,350 Jsme stále běží náš server. 550 00:30:21,350 --> 00:30:23,910 Dobrý den, Jason. 551 00:30:23,910 --> 00:30:24,780 Dobrý den, Jason. 552 00:30:24,780 --> 00:30:25,810 A fungovalo to tentokrát. 553 00:30:25,810 --> 00:30:29,860 A tak to je důkaz že můžete opravdu 554 00:30:29,860 --> 00:30:35,180 použijte složené závorky, které jste znají a milují v PHP kódu v HTML. 555 00:30:35,180 --> 00:30:41,100 Kód PHP podmínky Jste v pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 poskytuje další způsob dělat to samé. 557 00:30:44,760 --> 00:30:49,220 >> Takže teď máme ve své moci. 558 00:30:49,220 --> 00:30:55,740 Máme funkci implementovat PHP kód, který jsme viděli v pset 6 559 00:30:55,740 --> 00:30:57,390 sami, v podstatě. 560 00:30:57,390 --> 00:31:01,350 Než jsem se jít dál, jaké jsou některé z otázky, které máte v tomto okamžiku? 561 00:31:01,350 --> 00:31:02,066 Ano [neslyšitelný]. 562 00:31:02,066 --> 00:31:06,512 >> Diváků: Takže ve znění pset6, při spuštění, je tu prostor. 563 00:31:06,512 --> 00:31:09,330 A vidím, kde je prostor za čárkou. [Neslyšitelných] začátek 564 00:31:09,330 --> 00:31:10,700 otevřený držák. 565 00:31:10,700 --> 00:31:15,420 Jak začlenit prostor, ve jak jste napsal své vlastní kódy? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: To je dobrá otázka. 567 00:31:17,910 --> 00:31:21,650 A tak pojďme na to přišel. 568 00:31:21,650 --> 00:31:24,450 Tak to je opravdu dobrá otázka a ten, který jsem nepovažoval. 569 00:31:24,450 --> 00:31:25,950 Ale pojďme to udělat společně. 570 00:31:25,950 --> 00:31:30,280 >> Tak v první řadě, co Já dělám s ozvěnou 571 00:31:30,280 --> 00:31:33,690 je, když jsme prostě echo ahoj, ahoj to výstupy. 572 00:31:33,690 --> 00:31:41,310 Pokud bychom echo teď to dostat se na samostatný linka, pojďme prozkoumat, co se stane. 573 00:31:41,310 --> 00:31:43,740 Tak jsme to klikněte. 574 00:31:43,740 --> 00:31:45,220 Udržet říkáme, ahoj Jason. 575 00:31:45,220 --> 00:31:48,690 Takže znovu, nemáme tento prostor. 576 00:31:48,690 --> 00:31:53,090 >> A to proto, že v PHP, kdy jsme echo, 577 00:31:53,090 --> 00:31:55,820 bez ohledu na to, kolik spaces-- Ne, ne V- 578 00:31:55,820 --> 00:32:01,770 bez ohledu na to, kolik místa jsme se dát do here-- kdybychom teď naložit, že znovu, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Jo, vidím, všem těm, prostory dostal snědli. 581 00:32:05,770 --> 00:32:08,020 A to je něco, ozvěna funkce dělá. 582 00:32:08,020 --> 00:32:11,110 >> Takže se starat o že prostor, a to je 583 00:32:11,110 --> 00:32:14,960 jeden z důvodů, Proč nechcete používat echo 584 00:32:14,960 --> 00:32:18,200 a použít htmlspecialchars místo. 585 00:32:18,200 --> 00:32:22,140 Jsem zvědavá, co by se stalo, kdyby jsme to udělali 586 00:32:22,140 --> 00:32:26,700 kde jsme uzavřený prostor v řetězci. 587 00:32:26,700 --> 00:32:29,720 Nejsem si jistý, co upřímně se stane, když to udělám. 588 00:32:29,720 --> 00:32:30,790 >> Takže to je jeden způsob. 589 00:32:30,790 --> 00:32:32,210 To je jeden způsob, jak se postarat o to. 590 00:32:32,210 --> 00:32:34,840 Pokud zabalit prostor v řetězec, pak prostor 591 00:32:34,840 --> 00:32:36,920 bude výstup pěkně ECHO. 592 00:32:36,920 --> 00:32:41,930 Nejbezpečnější věc udělat, je dělat htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 To je vždycky sázka na jistotu. 594 00:32:43,800 --> 00:32:47,050 Ale teď máme způsob, jak dělat to s echo-li to nezbytné. 595 00:32:47,050 --> 00:32:50,700 A podobným způsobem, můžeme echo nových tratích, všechny druh 596 00:32:50,700 --> 00:32:53,550 věcí, že jste obeznámeni dělat v PHP. 597 00:32:53,550 --> 00:32:57,460 >> Kdokoli jiný, jaké jsou nic víc otázky, které ostatní lidé mají 598 00:32:57,460 --> 00:33:01,090 v tomto bodě o PHP? 599 00:33:01,090 --> 00:33:04,620 Pokud se lidé ukázala trochu pozdě, Jsem rád, aby zůstali po trochou 600 00:33:04,620 --> 00:33:06,420 a mluvit o některých začátku. 601 00:33:06,420 --> 00:33:10,380 A to je také všechno livestreamed, a archivovány, který je blázen. 602 00:33:10,380 --> 00:33:13,960 >> Každopádně, takže teď pojďme udělat nějaké pokročilejší věci s PHP. 603 00:33:13,960 --> 00:33:18,790 A jedna z prvních věcí, byly zavedeny v C bylo pro smyčky. 604 00:33:18,790 --> 00:33:24,060 A PHP má silnější pro smyčka volal smyčky foreach. 605 00:33:24,060 --> 00:33:37,940 A vypadá to, že tohle-- pro každý blank jako prázdné, složených závorkách, dělat věci. 606 00:33:37,940 --> 00:33:41,500 Tak to je v podstatě zkratka. 607 00:33:41,500 --> 00:33:45,380 >> Víte, pro smyčkou jako syntaktický konstrukce 608 00:33:45,380 --> 00:33:50,590 byl navržen v C a v sestavě jazyk a podobné věci. 609 00:33:50,590 --> 00:33:56,300 Vymyslel v C, přesně, jako zkratka pro mnoho typů smyček 610 00:33:56,300 --> 00:33:57,750 že lidé by vidět. 611 00:33:57,750 --> 00:34:01,230 Jako když jsi psal smyčku, tam byl často inicializační krok 612 00:34:01,230 --> 00:34:04,700 provedený přímo na začátek, Stav, kdy by se smyčka stop-- 613 00:34:04,700 --> 00:34:07,030 a to je vlastnost to je jen v cyklu while, 614 00:34:07,030 --> 00:34:10,040 nebo že když má přesně jen, že feature-- a poté 615 00:34:10,040 --> 00:34:12,320 inkrementace krok na konci. 616 00:34:12,320 --> 00:34:16,489 A tak byste často najít sami psaní kódu jako následující. 617 00:34:16,489 --> 00:34:19,780 Chystám se vymazat něco z toho. 618 00:34:19,780 --> 00:34:23,850 >> Ale pokud budeme iterace znaky v poli, 619 00:34:23,850 --> 00:34:26,960 Například, jako bysme získal řadu znaků. 620 00:34:26,960 --> 00:34:29,400 Omlouvám se, že přivézt C. Já vím, jste myslel, že jsi udělal. 621 00:34:29,400 --> 00:34:31,900 Ale je to pouze za účelem učení PHP, slibuju. 622 00:34:31,900 --> 00:34:38,880 Takže pokud máš char str délky 8, a pojďme 623 00:34:38,880 --> 00:34:46,760 říkají, že to říká Hellooo s koncové null. 624 00:34:46,760 --> 00:34:48,270 Skvělé, takže to je naše řetězec. 625 00:34:48,270 --> 00:34:51,469 >> A pak jsme měli na smyčku. 626 00:34:51,469 --> 00:34:53,730 Máme int i = 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 A chceme ukončit při stř ze i rovná není rovno null, 629 00:35:09,110 --> 00:35:11,590 proto, že jsme se ukončit, pokud se rovná null. 630 00:35:11,590 --> 00:35:19,170 A pak budeme dělat i ++ na sebe bod v pro smyčce. 631 00:35:19,170 --> 00:35:30,480 Dělat něco s str ï. 632 00:35:30,480 --> 00:35:34,950 >> Takže základní vzorec byl, jsme měli toto pole, které jsme 633 00:35:34,950 --> 00:35:37,910 chtěl zacházet jako samostatné prvky. 634 00:35:37,910 --> 00:35:45,170 Ale to, co jsme museli udělat, je, že jsme museli v podstatě vytvořit samostatný celé číslo 635 00:35:45,170 --> 00:35:50,530 proměnnou, která se počítá se každé když jsme šli přes smyčku. 636 00:35:50,530 --> 00:35:55,240 A pak budeme muset pak volat strstr [i] když to, co jsme skutečně chtěli dělat 637 00:35:55,240 --> 00:35:57,280 je prostě jít charakter znakem, že jo? 638 00:35:57,280 --> 00:36:00,185 Nechceme, aby zvýšit integer a pak použít toto číslo 639 00:36:00,185 --> 00:36:02,780 přistupovat každý znak jednotlivě. 640 00:36:02,780 --> 00:36:04,410 Opravdu chceme znak po znaku. 641 00:36:04,410 --> 00:36:08,600 >> A tak pro každou inteligentně odhaduje, že pro nás. 642 00:36:08,600 --> 00:36:11,875 Máme-li pole, který můžeme prohlásit v PHP 643 00:36:11,875 --> 00:36:15,900 jako jen--, pokud budeme mít proměnnou volal, nazvěme to pole. 644 00:36:15,900 --> 00:36:19,840 Zázraky bez psaní, je to stejně jako jakoukoli jinou proměnnou. 645 00:36:19,840 --> 00:36:20,730 Je to jen pole. 646 00:36:20,730 --> 00:36:26,890 A máme trochu [neslyšitelný] jako 1, 2, 3, jen jakýsi inicializována pole. 647 00:36:26,890 --> 00:36:29,680 To je v pořádku, to není jako můj foreach. 648 00:36:29,680 --> 00:36:33,120 >> Ale pokud se to vlastně foreach-- Jsem napsal, že trochu špatně. 649 00:36:33,120 --> 00:36:34,840 Existují dělat smyčky foreach dvěma způsoby. 650 00:36:34,840 --> 00:36:37,400 Tam je in syntaxe a jako syntax. 651 00:36:37,400 --> 00:36:40,580 A budeme dělat v prvním syntaxi, ne jako. 652 00:36:40,580 --> 00:36:41,780 To je moje chyba. 653 00:36:41,780 --> 00:36:53,785 >> Takže foreach num v poli, echo num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 A PHP se křičel na me z nějakého důvodu. 656 00:36:59,500 --> 00:37:03,520 Je to hledání neočekávané v v něčem, 657 00:37:03,520 --> 00:37:05,820 což je trochu na obtíž. 658 00:37:05,820 --> 00:37:09,105 Ale my přijít proč tomu tak je za chvíli. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Takže se mi to. 661 00:37:13,610 --> 00:37:15,040 Zkusme pomocí as. 662 00:37:15,040 --> 00:37:17,310 To upřednostňuje jako syntaxe je zdá. 663 00:37:17,310 --> 00:37:22,550 Tak to udělejme foreach pole jako num. 664 00:37:22,550 --> 00:37:24,520 >> Tak trochu vysvětlení o tom, co se právě stalo 665 00:37:24,520 --> 00:37:30,670 je, jak je syntax saying-- dobře jako první, Pojďme se podívat na to, co to vytiskne. 666 00:37:30,670 --> 00:37:32,260 Tak jsme otevřít náš IDE. 667 00:37:32,260 --> 00:37:33,110 Jdeme sem. 668 00:37:33,110 --> 00:37:35,845 My říkáme, Hello Jason. 669 00:37:35,845 --> 00:37:41,390 A to dělalo 123, které byly obsah matice, který jsme vytvořili na vrchol. 670 00:37:41,390 --> 00:37:45,500 >> Takže potápění do této smyčky foreach, máme variabilní nazývá pole 671 00:37:45,500 --> 00:37:47,470 což je řada tří čísel. 672 00:37:47,470 --> 00:37:52,120 A pak děláme foreach pole jako num, echo num. 673 00:37:52,120 --> 00:37:54,990 A to je víc, intuitivní než u prořezat. 674 00:37:54,990 --> 00:38:02,380 Říkáme, zpracování každého z věci v poli jako num, 675 00:38:02,380 --> 00:38:05,180 Chci, abys mi dal num. 676 00:38:05,180 --> 00:38:06,640 A to je přesně to, co dělá. 677 00:38:06,640 --> 00:38:12,000 >> PHP počítá, že když říkáte foreach pole, 678 00:38:12,000 --> 00:38:16,080 a máte co do činění s řadou, co budete chtít iteraci 679 00:38:16,080 --> 00:38:19,950 jsou znaky v tomto poli, je ints v tomto poli, 680 00:38:19,950 --> 00:38:21,920 je elementy v tomto poli. 681 00:38:21,920 --> 00:38:26,110 A to, že umožňuje ukládat tyto proměnné jako num, 682 00:38:26,110 --> 00:38:29,360 a pak už jen výstup num hned spíše než říkat, 683 00:38:29,360 --> 00:38:34,090 Mám proměnnou s názvem i, a pak chci, aby výstup strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> A tak, že nám umožňuje dělat skvělé věci. 685 00:38:39,130 --> 00:38:43,330 Stejně jako v podstatě nemáme vytvářet tyto proměnné, jako bych je a dělat vše, 686 00:38:43,330 --> 00:38:45,090 tato inkrementace věci na konci. 687 00:38:45,090 --> 00:38:48,290 PHP se stará o všechno pro vás. 688 00:38:48,290 --> 00:38:54,470 >> Takže teď pojďme mluvit o foreach as to platí o naší _GET slovníku. 689 00:38:54,470 --> 00:38:57,170 Takže budeme komentovat na to rychle. 690 00:38:57,170 --> 00:39:02,030 Takže máme _GET pole. 691 00:39:02,030 --> 00:39:04,361 Máme tuto proměnnou. 692 00:39:04,361 --> 00:39:05,610 A je to tu nějaké věci v něm. 693 00:39:05,610 --> 00:39:10,275 >> Právě teď, máme jen jednu proměnnou předávaný k ní, což je název. 694 00:39:10,275 --> 00:39:13,420 Ale pokud budeme stisknete klávesu Enter, nyní můžeme mít dvě proměnné. 695 00:39:13,420 --> 00:39:17,910 Můžeme mít jméno a věk, například, pokud se chceme dostat věku a také 696 00:39:17,910 --> 00:39:20,960 jméno osoby, kupodivu. 697 00:39:20,960 --> 00:39:25,690 >> Takže teď _GET se chystá být slovník s dvěma prvky, 698 00:39:25,690 --> 00:39:27,980 dva páry hodnot klíče. 699 00:39:27,980 --> 00:39:33,490 A první key-- Jdu napsat tento jeden na tabuli příliš. 700 00:39:33,490 --> 00:39:37,136 Máme slovník je _GET. 701 00:39:37,136 --> 00:39:39,520 Je nám líto, že je to je trochu těžké vidět. 702 00:39:39,520 --> 00:39:46,690 Ale v našem slovníku máme název, který se bude něco 703 00:39:46,690 --> 00:39:47,680 že jsme vzhledem. 704 00:39:47,680 --> 00:39:53,040 A budeme mít věk, který je také bude něco, co jsme daný. 705 00:39:53,040 --> 00:39:56,020 A to je souhrnem našeho slovníku. 706 00:39:56,020 --> 00:39:57,730 >> Tak to má dva elementy v tom. 707 00:39:57,730 --> 00:40:01,310 A tak proto, že foreach smyčky jsou chytré, my 708 00:40:01,310 --> 00:40:04,900 Možná si myslíte, a správně by si mohl myslet, že foreach 709 00:40:04,900 --> 00:40:08,080 Můžete iterovat tento slovník, vytištění 710 00:40:08,080 --> 00:40:10,850 Uvedené hodnoty jménem a věkem. 711 00:40:10,850 --> 00:40:14,510 >> Takže pojďme se ve skutečnosti dělat jen to. 712 00:40:14,510 --> 00:40:17,520 Pojďme postavit smyčky foreach. 713 00:40:17,520 --> 00:40:23,351 A budeme dělat za _GET jako. 714 00:40:23,351 --> 00:40:24,850 A budeme dělat následující. 715 00:40:24,850 --> 00:40:34,186 Tak uvidíme, co se stane, když jsme typu jen slovo, a pak řekl echo slovo. 716 00:40:34,186 --> 00:40:40,540 Jsme také bude odrážet nový řádek jen aby to trochu jasnější, 717 00:40:40,540 --> 00:40:41,260 co se děje. 718 00:40:41,260 --> 00:40:42,890 >> Takže pojďme se podívat. 719 00:40:42,890 --> 00:40:44,390 Není to mi dává žádné chyby. 720 00:40:44,390 --> 00:40:46,810 A budeme zavírat to. 721 00:40:46,810 --> 00:40:51,020 Na našich webových stránkách, budete dělat hodně, že v průběhu roku pset7. 722 00:40:51,020 --> 00:40:53,890 Takže říkáme, jmenuju se Sam. 723 00:40:53,890 --> 00:40:58,560 Můj věk je 45. 724 00:40:58,560 --> 00:41:01,060 Není. 725 00:41:01,060 --> 00:41:05,640 Ale to vytiskne, jak se očekávalo, Same 45. 726 00:41:05,640 --> 00:41:08,930 >> A tak zjistíte, že co foreach smyčky tady did--, 727 00:41:08,930 --> 00:41:12,360 vraťme se, že tak je to Na board-- dostaneme _GET jako slovo. 728 00:41:12,360 --> 00:41:15,130 A byly tam čtyři věci _GET. 729 00:41:15,130 --> 00:41:17,410 Ale je to jen vytisknout dvě věci. 730 00:41:17,410 --> 00:41:21,290 foreach, že jeho inteligence já, Předpokládá se, že to, co jsme skutečně chtěli 731 00:41:21,290 --> 00:41:24,100 Byl hodnoty, ne klíče. 732 00:41:24,100 --> 00:41:27,800 >> Ale existuje způsob, jak bychom mohli tisknout out klíče stejně, pokud bychom chtěli. 733 00:41:27,800 --> 00:41:30,810 Pokud bychom chtěli také vědět, co tyto proměnné byly volány, 734 00:41:30,810 --> 00:41:33,540 existuje způsob, že bychom přístup k této také. 735 00:41:33,540 --> 00:41:36,840 A způsob, jak to udělat druh, Takže můžeme říci, nechá opravdu 736 00:41:36,840 --> 00:41:39,485 rozdělit do klíče a hodnoty. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Tak uvidíme, co se stane teď. 739 00:41:47,580 --> 00:41:50,550 >> Takže máme klíč. 740 00:41:50,550 --> 00:41:52,290 Máme hodnotu. 741 00:41:52,290 --> 00:41:56,650 Máme další nová linka pro čitelnost. 742 00:41:56,650 --> 00:42:00,540 A uvidíme, co se stane, když to uděláme teď. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Já nevím, jak starý je Jason. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Takže máme jméno Jason, věk 15. 747 00:42:11,650 --> 00:42:15,830 Takže jsme byli schopni získat přístup k klíče a dvojice hodnota tohoto slovníku 748 00:42:15,830 --> 00:42:18,590 Jen tím, že říká, jako klíčové body na hodnotu. 749 00:42:18,590 --> 00:42:23,350 A to je foreach syntaktický cukr bit, který umožňuje 750 00:42:23,350 --> 00:42:25,960 přístup k věci, ve slovníku. 751 00:42:25,960 --> 00:42:31,190 >> Tak doufejme, že tento druh zdůrazňuje síla foreach smyčky. 752 00:42:31,190 --> 00:42:35,690 Můžete skoro hodu něco, co se zdá iterable, 753 00:42:35,690 --> 00:42:38,922 jako něco, který má více prvky jako pole, 754 00:42:38,922 --> 00:42:41,880 se jako dictionary-- ty jsou dva základní věci, které budete pracovat s 755 00:42:41,880 --> 00:42:45,630 a to jak v životě a ve pset 7. 756 00:42:45,630 --> 00:42:49,350 Takže si můžete hodit, že věci na něj, a to bude zjistit, 757 00:42:49,350 --> 00:42:51,030 to, co chcete dělat s ním. 758 00:42:51,030 --> 00:42:54,250 Bude říkat, OK, budu se dostat tyto věci z údajů, které 759 00:42:54,250 --> 00:42:55,680 byl předán ke mně. 760 00:42:55,680 --> 00:43:02,470 A to je něco, že jste bude používat hodně v pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Jdu k rychlému rolování dolů, jen aby zjistili, kde jsem na. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Ještě lidé mají otázky, na tomto místě? 764 00:43:13,070 --> 00:43:13,778 Otázky vůbec? 765 00:43:13,778 --> 00:43:14,400 Ano? 766 00:43:14,400 --> 00:43:18,320 >> Diváků: Takže s klíčem a hodnotou, jste mohli pojmenovat něco jiného 767 00:43:18,320 --> 00:43:20,507 a to by ještě fungovat? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Chybička se vloudila. 769 00:43:21,090 --> 00:43:22,820 Wow, já jsem úplně odstranil celý řádek. 770 00:43:22,820 --> 00:43:23,380 Skvělá práce. 771 00:43:23,380 --> 00:43:26,502 Takže, a. 772 00:43:26,502 --> 00:43:30,109 Key a hodnota je jen konvence. 773 00:43:30,109 --> 00:43:30,650 Je to užitečné. 774 00:43:30,650 --> 00:43:34,010 Ty by si nějaký návrh body, možná nějaký styl body 775 00:43:34,010 --> 00:43:36,970 za to, že proto, že skutečně vyjadřuje záměr. 776 00:43:36,970 --> 00:43:39,650 Ale my říkáme a a yarp. 777 00:43:39,650 --> 00:43:42,476 >> Diváků: Nemusíte se cokoliv měnit v souboru HTML 778 00:43:42,476 --> 00:43:43,607 aby bylo zřejmé, že? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Vůbec ne. 780 00:43:44,440 --> 00:43:47,260 Diváků: A to jen ví, že a to z větší rovná than-- 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Ano. 782 00:43:47,801 --> 00:43:49,489 Diváků: --that indikátor that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Ano. 784 00:43:50,030 --> 00:43:52,260 To je syntax foreach, ale ano. 785 00:43:52,260 --> 00:43:53,720 >> Diváků: Nejsou typy. 786 00:43:53,720 --> 00:43:57,230 Takže co když jste chtěli věk, že je jen číslo? 787 00:43:57,230 --> 00:43:59,510 Existuje způsob, jak to udělat? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Existují způsoby, jak zkontrolovat, zda proměnné odpovídají určité druhy. 789 00:44:04,550 --> 00:44:08,482 PHP Tak se ptá trochu více ze jste proto, že se v žádné typy. 790 00:44:08,482 --> 00:44:09,440 Některé způsoby, jak se zeptá méně. 791 00:44:09,440 --> 00:44:11,070 V některých ohledech se táže víc. 792 00:44:11,070 --> 00:44:13,320 Protože pokud jste právě něco v proměnné, 793 00:44:13,320 --> 00:44:14,960 nemáte tušení, o jaký typ se jedná. 794 00:44:14,960 --> 00:44:19,310 Ale pokud jste chytří o proměnných že přiřadíte druhy do a ujistěte se, 795 00:44:19,310 --> 00:44:22,750 že funguje pouze return-- vám Chcete funkcí pouze návrat 796 00:44:22,750 --> 00:44:26,210 jeden typ hodnotu, takže že můžete v podstatě 797 00:44:26,210 --> 00:44:31,090 Předpokládáme, že proměnná se dostanete zpět z funkce bude typu 798 00:44:31,090 --> 00:44:32,780 že si myslíte, že to bude v podstatě. 799 00:44:32,780 --> 00:44:36,550 >> Ale tam jsou některé metody kterou si můžete zkontrolovat. 800 00:44:36,550 --> 00:44:39,801 Nevzpomínám si jich z vrcholu mé hlavy. 801 00:44:39,801 --> 00:44:43,300 Čekám na to, aby modrat. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Existují metody zabudovaný do PHP, který může 805 00:44:52,000 --> 00:44:54,440 zkontrolujte typ proměnné pro vás. 806 00:44:54,440 --> 00:44:58,250 Ale pokud přiřadíte proměnné elegantně, neměli byste 807 00:44:58,250 --> 00:45:01,330 musí k tomu, že příliš mnoho pset 7. 808 00:45:01,330 --> 00:45:02,780 Ale existují tyto metody. 809 00:45:02,780 --> 00:45:06,704 A to je něco, je v daném jazyce. 810 00:45:06,704 --> 00:45:08,370 A já si nepamatuju přesný syntaxi. 811 00:45:08,370 --> 00:45:09,930 Dalo by se dokonce to najít. 812 00:45:09,930 --> 00:45:11,974 Ale čas je esence. 813 00:45:11,974 --> 00:45:13,890 mají Má někdo jiný máte nějaké další otázky? 814 00:45:13,890 --> 00:45:14,660 Ano. 815 00:45:14,660 --> 00:45:15,951 >> Diváků: Mám jen jednu další. 816 00:45:15,951 --> 00:45:19,050 Takže jste se zmínil o metodu GET, ale jste nezmínil metody POST. 817 00:45:19,050 --> 00:45:20,500 Jsme vrací k tomu? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: Ano, budeme se vrací k tomu. 819 00:45:21,540 --> 00:45:24,840 To je přesně to, co jsem hledal na můj telefon, který nyní usnul 820 00:45:24,840 --> 00:45:26,960 ale budu ho najít. 821 00:45:26,960 --> 00:45:30,680 Jen ujistěte se, narážíme všechny PHP poznámky. 822 00:45:30,680 --> 00:45:35,640 Jo, není ladicí verze. 823 00:45:35,640 --> 00:45:41,940 Ano, máme několik dalších věcí, které chceme dělat v tomto bodě. 824 00:45:41,940 --> 00:45:45,980 >> Tak mluví o POST, které jste zmínil, 825 00:45:45,980 --> 00:45:49,630 jediný rozdíl mezi GET a POST je 826 00:45:49,630 --> 00:45:53,150 že Pamatuji si, když jsme se dívali na této adrese a my jsme viděli, oh, 827 00:45:53,150 --> 00:45:58,270 Název reálná hodnota rovná a věk se rovná yarp jsou přímo v URL tam pro nás. 828 00:45:58,270 --> 00:46:03,300 POST je trochu tajnůstkářský s jeho předávání informací. 829 00:46:03,300 --> 00:46:08,090 >> Takže pokud jste nechtěli uživatele vědět, například, vy 830 00:46:08,090 --> 00:46:11,160 Nechtěl uživatelské jméno a heslo osoby 831 00:46:11,160 --> 00:46:15,080 aktuálně přihlášeného, ​​který se zobrazí v URL, což je rozumná věc 832 00:46:15,080 --> 00:46:17,770 že nebude chtít v URL, protože někdo ho můžou vidět. 833 00:46:17,770 --> 00:46:21,520 Pokud se odkazovat někoho na stránku, budete Nechceme jejich URL tam omítnuté, 834 00:46:21,520 --> 00:46:27,850 protože by to umožnit lidem se přihlásit Jen se místo toho olepení adresy URL 835 00:46:27,850 --> 00:46:29,670 skutečně vyplněním formuláře. 836 00:46:29,670 --> 00:46:31,710 POST je trochu víc tajnůstkářský. 837 00:46:31,710 --> 00:46:34,150 >> A jediné věci, které budeme muset změnit 838 00:46:34,150 --> 00:46:38,550 jsou tato metoda, změna od dostat post. 839 00:46:38,550 --> 00:46:42,367 A pak uvnitř HTTP, místo toho přístupu maticový _GET, 840 00:46:42,367 --> 00:46:43,950 budeme přistupovat maticový _POST. 841 00:46:43,950 --> 00:46:48,600 >> A my Všimněte si, že, pokud jsme se otevřít tuto zálohu znovu, 842 00:46:48,600 --> 00:46:51,910 Jason pomalu klesá na věku. 843 00:46:51,910 --> 00:46:53,230 jméno Jasona, věk 14. 844 00:46:53,230 --> 00:46:54,280 Stejná věc se objeví. 845 00:46:54,280 --> 00:46:57,190 Ale my přejít na adresu URL a tyto proměnné nejsou tam. 846 00:46:57,190 --> 00:47:00,540 >> A způsob, jakým POST passes-- tak si pamatujte 847 00:47:00,540 --> 00:47:02,750 jak se dívat na zdroj stránky. 848 00:47:02,750 --> 00:47:04,570 Jdeme do sítě. 849 00:47:04,570 --> 00:47:06,920 My refresh. 850 00:47:06,920 --> 00:47:10,690 A to je další věc, která POST vám dá varování o. 851 00:47:10,690 --> 00:47:15,050 Jste mohli vidět pole, textové box takhle ve vašem prohlížeči. 852 00:47:15,050 --> 00:47:18,170 Jste si jisti, že chcete odeslat znovu formuláře? 853 00:47:18,170 --> 00:47:21,170 POST je to, co 's odesláním tyto formy. 854 00:47:21,170 --> 00:47:24,680 >> Vzhledem k tomu, v podstatě, když jste poslali svůj informace o kreditní kartě pro někoho, 855 00:47:24,680 --> 00:47:26,350 že to nebude zobrazovat v URL. 856 00:47:26,350 --> 00:47:28,180 To bude požadavek POST. 857 00:47:28,180 --> 00:47:32,905 Takže když aktualizovat stránku, je to znovuodeslání tuto žádost post. 858 00:47:32,905 --> 00:47:35,530 Takže teď my chceme poslat formulář znovu, protože to nebude 859 00:47:35,530 --> 00:47:37,340 vytvářet žádné duplicitní nákupy. 860 00:47:37,340 --> 00:47:41,160 >> A všimněte si, že tady dole, Metoda, kterou používáte, je POST. 861 00:47:41,160 --> 00:47:43,065 A to skutečně přenášet bajtů. 862 00:47:43,065 --> 00:47:45,460 Převedl 401 z nich. 863 00:47:45,460 --> 00:47:47,190 Program je docela malé. 864 00:47:47,190 --> 00:47:51,600 Ale je tu nikde, že můžeme vidět hodnoty, které jsou předány. 865 00:47:51,600 --> 00:47:59,540 Webové stránky samy o sobě mohou vidět, ale my jako uživatelé nejsou schopni vidět, 866 00:47:59,540 --> 00:48:01,650 pokud jste hacker. 867 00:48:01,650 --> 00:48:05,340 Pokud jste dobrý hacker, můžete se podívat. 868 00:48:05,340 --> 00:48:09,360 >> Pokud víte, že základní formát HTML, 869 00:48:09,360 --> 00:48:11,790 hodnoty bude se přihlásili na stránkách. 870 00:48:11,790 --> 00:48:13,160 Budete mít možnost vidět. 871 00:48:13,160 --> 00:48:16,720 Hodnoty budou tam, že jsou Jen o něco méně zřejmý pro vás 872 00:48:16,720 --> 00:48:19,522 přístup, v podstatě. 873 00:48:19,522 --> 00:48:23,620 >> Máme nějaký další otázky o GET, POST 874 00:48:23,620 --> 00:48:26,800 before--, co budeme dělat dál je vlastně podívat na některé z kódu 875 00:48:26,800 --> 00:48:30,837 že dáváte v pset 7, mluvit o tom, jak se používá některé z těchto pojmů, 876 00:48:30,837 --> 00:48:32,670 a mluvit o věci, které se chystáte 877 00:48:32,670 --> 00:48:35,090 muset udělat trochu ve pset 7. 878 00:48:35,090 --> 00:48:36,760 Nějaké další otázky před tím? 879 00:48:36,760 --> 00:48:38,047 Další otázky, které kluci mají? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Skvělý. 882 00:48:41,840 --> 00:48:45,370 >> Dobře, pojďme se podívat trochu na pset 7, 883 00:48:45,370 --> 00:48:49,530 není pochyb o tom, co jsi zač vše nejvíce nadšeni. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Myslím, že to je něco, David prochází trochu. 886 00:48:54,750 --> 00:49:00,890 Ale budeme mít tři adresáře signálů na top, stejně jako konfigurační soubor. 887 00:49:00,890 --> 00:49:04,650 To je pro databáze, které jsme vám mluví o asi za pět minut. 888 00:49:04,650 --> 00:49:07,220 Zahrnuje, už nikdy nebudete muset hledat v tomto adresáři 889 00:49:07,220 --> 00:49:12,480 pokud nechcete, ale je to hezké vědí, že jsou všechny druhy pomocníků. 890 00:49:12,480 --> 00:49:14,210 Pomocníci je jako užitečných funkcí. 891 00:49:14,210 --> 00:49:18,120 A pak máme config, která stanoví některé věci nahoru. 892 00:49:18,120 --> 00:49:24,590 >> Existují některé funkce, které má CS50 napsal, že jsou v pomocníka a config. 893 00:49:24,590 --> 00:49:27,250 A někteří z PHP, který Již ukončí v souborech 894 00:49:27,250 --> 00:49:30,880 bude dělat hodně z více druhu z tupé noha pracovat pro vás. 895 00:49:30,880 --> 00:49:35,250 Stejně jako když půjdeme do veřejné login.php, což je to, co 896 00:49:35,250 --> 00:49:38,350 ukáže pravdu, když jdete do pset 7. 897 00:49:38,350 --> 00:49:40,580 Uvidíme, že tam vyžadovat prohlášení. 898 00:49:40,580 --> 00:49:43,420 A to něco jako ostré zahrnují, hashtag 899 00:49:43,420 --> 00:49:46,850 zahrnují pokud jste na novější generace. 900 00:49:46,850 --> 00:49:49,740 Ale to v podstatě říká, že jsem potřebovat přístup 901 00:49:49,740 --> 00:49:52,260 ke všem funkcím v config.php. 902 00:49:52,260 --> 00:49:55,290 A vy jste mohli mít vyžadovat pro všechny druhy jiných věcí. 903 00:49:55,290 --> 00:49:59,670 >> config vlastně vyžaduje pomocníky. 904 00:49:59,670 --> 00:50:02,490 Takže kdykoli budete potřebovat config, vy jste také 905 00:50:02,490 --> 00:50:05,660 včetně nebo vyžadujících pomocníky stejně. 906 00:50:05,660 --> 00:50:09,590 Tak, že vám umožní přístup ke všem chladné funkce, které budeme používat, 907 00:50:09,590 --> 00:50:10,420 věci, jako je render. 908 00:50:10,420 --> 00:50:13,490 Já jsem vlastně bude zmírnit toto dole trochu. 909 00:50:13,490 --> 00:50:16,280 Takže funkce pak jsme bude procházet 910 00:50:16,280 --> 00:50:22,380 těsně předtím, než jsme se přesunout na SQL trochu bit je funkce login.php, jen 911 00:50:22,380 --> 00:50:26,586 protože používá některé z témat, že jsme právě mluvili v PHP. 912 00:50:26,586 --> 00:50:30,840 >> Vidíte první věc, kterou je v případě, $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 To je další globální proměnná, která budete bude zabývat. 914 00:50:34,500 --> 00:50:38,460 Je to jako _GET a _POST, ale co server obsahuje toto může nechat vás 915 00:50:38,460 --> 00:50:42,730 vědět, jestli metoda požadavku byl GET nebo POST. 916 00:50:42,730 --> 00:50:47,250 Stejně jako předtím, co jsme dělali je jen v naší kód, který jsme napsali, 917 00:50:47,250 --> 00:50:51,880 byli jsme prostě mění, aby byl GET a POST v závislosti na tom, co je HTML. 918 00:50:51,880 --> 00:50:55,120 Ale existují stránky, které mohou být přistupovat s oběma typy žádostí. 919 00:50:55,120 --> 00:50:57,410 A možná budete chtít dělat různé věci v závislosti 920 00:50:57,410 --> 00:50:59,740 na typu žádosti stejně jako to dělá login. 921 00:50:59,740 --> 00:51:04,400 >> Takže si můžete ověřit, že požadavek Způsob přes přístup k klíče, 922 00:51:04,400 --> 00:51:08,630 přes použití klíče a dostat to Hodnota něco v slovníku 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Takže to je další celosvětový variabilní jako _GET a _POST. 925 00:51:13,800 --> 00:51:16,990 >> Pokud je to GET, chceme vykreslení přihlašovací formulář. 926 00:51:16,990 --> 00:51:21,920 Render je funkce, která v zásadě právě staví odpovídající HTML 927 00:51:21,920 --> 00:51:24,500 a předává jí některé parametry. 928 00:51:24,500 --> 00:51:28,740 Tento titul je parametr, který je použitý při zobrazování, kupodivu, 929 00:51:28,740 --> 00:51:32,670 název stránky v Otázkou je, co tady nahoře, 930 00:51:32,670 --> 00:51:34,850 říkat nebo ahoj v našem předchozím příkladu. 931 00:51:34,850 --> 00:51:36,100 Nyní máme jinou věc. 932 00:51:36,100 --> 00:51:38,570 Jinak pokud je to POST, my dělat některé další věci. 933 00:51:38,570 --> 00:51:40,790 Jsme pomocí této metody prázdnou. 934 00:51:40,790 --> 00:51:42,750 Není to neexistuje, je to prázdný. 935 00:51:42,750 --> 00:51:45,440 A my jsme viděli předtím, PHP má značné množství postavený 936 00:51:45,440 --> 00:51:52,370 v metodách, které v případě, že David will-- jsou metody, které jsou užitečné pro vás, 937 00:51:52,370 --> 00:51:55,560 budou upozorněni na vás v procházce, že David 938 00:51:55,560 --> 00:51:59,770 dává na začátku přehledu, a také Zamyla je užitečné bitů. 939 00:51:59,770 --> 00:52:01,040 Ona je zpátky všichni. 940 00:52:01,040 --> 00:52:03,100 Můžeme se všichni radovat. 941 00:52:03,100 --> 00:52:06,530 Omlouvám se, je příhodně pojmenovaný funkce že právě v podstatě vytiskne 942 00:52:06,530 --> 00:52:10,130 některé chybové zprávy, protože CS50 je velmi zdvořilý. 943 00:52:10,130 --> 00:52:14,770 >> A nyní toto, se jedná o choulostivé bit, protože to 944 00:52:14,770 --> 00:52:16,697 je místo, kde jsme dotazování databáze. 945 00:52:16,697 --> 00:52:18,280 Nyní jsme nemluvili o databázích. 946 00:52:18,280 --> 00:52:22,220 A budeme v příštím pět minut nebo tak, maximum. 947 00:52:22,220 --> 00:52:24,980 Ale to je funkce že CS50 napsal 948 00:52:24,980 --> 00:52:38,050 získat tabulku v podstatě z databáze že pracujeme s v pset 7. 949 00:52:38,050 --> 00:52:40,860 Jsem opravdu špatný s mým nula indexování dnes. 950 00:52:40,860 --> 00:52:42,060 Ale ano, je to 7. 951 00:52:42,060 --> 00:52:46,340 >> Takže dotaz bude to vrátit pole, v podstatě je klíčem bit. 952 00:52:46,340 --> 00:52:54,130 A protože tyto věci nemají psaní, takže řádků je pole pole. 953 00:52:54,130 --> 00:52:59,480 Vzhledem k tomu, když jsme přemýšlet o stůl, co budeme dělat 954 00:52:59,480 --> 00:53:04,830 je, jak jste se naučili v psets jako hra 15, tak jako tak 955 00:53:04,830 --> 00:53:06,990 kde jste museli použít double array, jsme v podstatě 956 00:53:06,990 --> 00:53:15,210 mají řadu dalších pole je tabulku. 957 00:53:15,210 --> 00:53:18,150 A máte řádků a sloupců. 958 00:53:18,150 --> 00:53:24,450 A pak můžete k nim přistupovat jako [0] [1], dostanete [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Základní věci, jako je to. 960 00:53:26,900 --> 00:53:29,380 >> Takže to, co děláme zde v této funkci, 961 00:53:29,380 --> 00:53:35,070 ptáme databázi v případě, že uživatel, který je 962 00:53:35,070 --> 00:53:40,200 snaží přihlásit, že bude odeslána prostřednictvím metody POST. 963 00:53:40,200 --> 00:53:43,950 Uvidíme se dostáváme uživatelské jméno z _POST. 964 00:53:43,950 --> 00:53:46,900 Budou jste odeslali, uživatele nebo, pošle hodnotu 965 00:53:46,900 --> 00:53:50,750 prostřednictvím formuláře přes POST, protože je to uživatelské jméno a heslo věci. 966 00:53:50,750 --> 00:53:54,830 Prověřujeme uživatelské jméno vidět, je to v tabulce? 967 00:53:54,830 --> 00:53:58,070 Protože pokud se uživatel přihlašuje v, pak jejich uživatelské jméno 968 00:53:58,070 --> 00:54:03,320 by měl být uložen v tabulce Uživatelé, které existují pro tuto stránku. 969 00:54:03,320 --> 00:54:09,360 Takže v podstatě, pokud Uživatel je v databázi, 970 00:54:09,360 --> 00:54:16,400 Dotaz se chystá k návratu že řádek, který je pole. 971 00:54:16,400 --> 00:54:24,560 >> Ale choulostivé části je, že pokud i když dvojité pole je pouze jedné řady, 972 00:54:24,560 --> 00:54:31,900 i když je to jeden řádek array-- to, že máš basically-- 973 00:54:31,900 --> 00:54:36,900 pokud máte velikost jednoho pole že drží další pole, 974 00:54:36,900 --> 00:54:38,940 jste opravdu zabývají jednom sloupci. 975 00:54:38,940 --> 00:54:41,420 Ale je to stále zpracované jako dvojitá pole. 976 00:54:41,420 --> 00:54:44,560 >> A to je místo, kde to může být někdy dostat ošidné, protože máme řádky zde. 977 00:54:44,560 --> 00:54:46,440 Naše proměnná řádků. 978 00:54:46,440 --> 00:54:48,590 A pak budeme vytvářet novou proměnnou s názvem řádek 979 00:54:48,590 --> 00:54:51,450 a nastavení se rovná první řádek řádků. 980 00:54:51,450 --> 00:54:55,150 A všimněte si, že komentář říká, že je to první a jediný řádek. 981 00:54:55,150 --> 00:54:57,080 >> Tak tohle je ošemetná část, kde nyní funguje 982 00:54:57,080 --> 00:54:59,660 může vrátit pole velmi snadno. 983 00:54:59,660 --> 00:55:01,270 Tam není mallocs. 984 00:55:01,270 --> 00:55:02,280 Neuvidíte mallocs. 985 00:55:02,280 --> 00:55:03,940 Takže nebudete vidět Seg chyby. 986 00:55:03,940 --> 00:55:08,380 Ale funkce bude ještě absolvování kolem polí a daty ve skupinách. 987 00:55:08,380 --> 00:55:12,250 A musíte mít na pozoru před tím, co přesně vaše funkce vrátí. 988 00:55:12,250 --> 00:55:15,160 A i když je to jedno Sloupec takhle, dotaz 989 00:55:15,160 --> 00:55:17,520 je stále vrátit dvojité pole. 990 00:55:17,520 --> 00:55:21,390 Takže přístupu, který column-- nebo můžete myslet na všechno to jako převrácený 991 00:55:21,390 --> 00:55:22,870 protože mluvíme o řad. 992 00:55:22,870 --> 00:55:26,810 Ale přístup k tomuto jeden řádek, nemůžete prostě říct řádky. 993 00:55:26,810 --> 00:55:31,540 I když to je jeden řádek, musíte se rowsrows [0] nějak eliminovat tento 994 00:55:31,540 --> 00:55:37,360 vnější bit pole a mají jen vaše jeden řádek. 995 00:55:37,360 --> 00:55:38,342 >> Dělat některé další věci. 996 00:55:38,342 --> 00:55:40,050 K dispozici je funkce volal password_verify 997 00:55:40,050 --> 00:55:42,980 že ověří heslo, které bylo zaúčtováno. 998 00:55:42,980 --> 00:55:48,500 A pak vidíme další globální variabilní tady, _SESSION. 999 00:55:48,500 --> 00:55:51,340 V podstatě Session ID je, jak si udržet přehled 1000 00:55:51,340 --> 00:55:53,990 na to, pokud někdo přihlášen, nebo ne. 1001 00:55:53,990 --> 00:55:58,590 Takže teď s login.php, jsme přihlášení uživatele v. 1002 00:55:58,590 --> 00:56:01,920 Takže to, co chceme udělat, je chceme říkají, že id relace je rovna řádku 1003 00:56:01,920 --> 00:56:05,890 id, což prostě dává smysl, protože každý řádek bude mít jiný id 1004 00:56:05,890 --> 00:56:07,239 číslo jako část tabulky. 1005 00:56:07,239 --> 00:56:09,280 Dostaneme do SQL v Druhá, takže pokud něco z toho 1006 00:56:09,280 --> 00:56:13,500 Zdá se, trochu jako bla, pak všichni budou vyjasněny. 1007 00:56:13,500 --> 00:56:18,450 Ale my jdeme nastavit id rovná správnou věc, přihlášení uživatele v. 1008 00:56:18,450 --> 00:56:20,530 Omlouváme se, pokud se něco pokazí. 1009 00:56:20,530 --> 00:56:27,600 A to je přihlášení smysl život jako profesor Malan by řekl. 1010 00:56:27,600 --> 00:56:29,130 >> Takže to byl login.php. 1011 00:56:29,130 --> 00:56:33,750 A spousta PHP kód, který napíšete v pset 7, budou trochu. 1012 00:56:33,750 --> 00:56:36,470 Nezapomeňte chmod na správná oprávnění. 1013 00:56:36,470 --> 00:56:40,180 K dispozici bude trochu o že na počátku spec. 1014 00:56:40,180 --> 00:56:46,382 >> Ale PHP, že jste psaní bude 1015 00:56:46,382 --> 00:56:47,840 dělá věci, které je podobně jako tento. 1016 00:56:47,840 --> 00:56:49,715 Budeš se přístupu na některé věci, které 1017 00:56:49,715 --> 00:56:52,760 jsou uvedeny na vás v globální proměnné, PHP, které 1018 00:56:52,760 --> 00:56:56,105 co do činění s aktuální přihlášený uživatel, zda existuje 1019 00:56:56,105 --> 00:57:00,460 byly žádosti zaslané na to strana, různé věci, jako je to. 1020 00:57:00,460 --> 00:57:05,790 A bude to také potenciálně iterace řádky této věci. 1021 00:57:05,790 --> 00:57:09,010 >> V jiné funkce, dotaz dělá návrat této dvojité pole. 1022 00:57:09,010 --> 00:57:11,450 A pokud existuje více než jeden řádků v něm, 1023 00:57:11,450 --> 00:57:15,080 v případě, že are-- ano, je-li tam jsou více než jeden řádků v něm, 1024 00:57:15,080 --> 00:57:16,870 pak to bude tabulka. 1025 00:57:16,870 --> 00:57:20,500 A možná budete chtít opakovat přes řádcích tohoto pole za použití 1026 00:57:20,500 --> 00:57:22,860 foreach smyčky, které jsme popsali. 1027 00:57:22,860 --> 00:57:30,270 >> Takže pokud děláte foreach na double array, co bude word-- tady, 1028 00:57:30,270 --> 00:57:31,909 Budu opravdu napsat. 1029 00:57:31,909 --> 00:57:32,950 Napíšu to rychle sem. 1030 00:57:32,950 --> 00:57:44,280 >> Pokud máme foreach řádků jako řádek, jaký je typ řady? 1031 00:57:44,280 --> 00:57:45,390 Ví to někdo? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Máš to? 1034 00:57:54,500 --> 00:57:57,110 Takže řádků je dvojitý pole. 1035 00:57:57,110 --> 00:58:02,810 Takže to, co se děje foreach odvodit že chceme z tohoto dvojího pole 1036 00:58:02,810 --> 00:58:04,280 jestli máme iterace nad ním? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Můžeme předpokládat, že v zásadě že to bude buď prvky, 1039 00:58:10,770 --> 00:58:14,970 nebo řádky nebo sloupce, v podstatě. 1040 00:58:14,970 --> 00:58:18,740 A tak my, řádků a sloupců může zacházet jako stejnou věc. 1041 00:58:18,740 --> 00:58:23,880 >> V podstatě to, co se děje foreach smyčky udělat, je, že to bude k návratu řádků. 1042 00:58:23,880 --> 00:58:28,500 řádek, který bude typu řadě, vzhledem k tomu, řádků je dvojitý pole. 1043 00:58:28,500 --> 00:58:32,290 Takže pokud dáte foreach dvojitá pole, to je 1044 00:58:32,290 --> 00:58:35,830 nebude přecházet více než jednu úroveň hluboko. 1045 00:58:35,830 --> 00:58:44,464 Což je v podstatě říci, zda tam je osm buňky v této table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- foreach smyčky není 1047 00:58:48,110 --> 00:58:51,880 jít přes každého z těchto buněk. 1048 00:58:51,880 --> 00:58:56,390 Co foreach smyčky bude dělat bylo to půjde přes tento řádek 1049 00:58:56,390 --> 00:58:57,870 vám celý tento řádek. 1050 00:58:57,870 --> 00:58:59,410 A pak to bude jít přes tento řádek. 1051 00:58:59,410 --> 00:59:01,850 >> Takže to jen opakuje jednu úroveň hluboké. 1052 00:59:01,850 --> 00:59:05,310 Máte-li přidat vnořené foreach smyčky, pak se 1053 00:59:05,310 --> 00:59:16,280 může léčit každý řádek vrácený z řádky, činíte foreach řádek jako prvek, 1054 00:59:16,280 --> 00:59:17,640 řekněme. 1055 00:59:17,640 --> 00:59:22,750 A pak můžete echo prvek. 1056 00:59:22,750 --> 00:59:24,930 Takže to je stručný malý opakovací o tom, jak 1057 00:59:24,930 --> 00:59:30,220 můžete používat foreach smyčky v rámci dotazu. 1058 00:59:30,220 --> 00:59:32,840 >> Jsou nějaké otázky týkající PHP? 1059 00:59:32,840 --> 00:59:36,520 Cokoliv před my přejít na mluvit o SQL 1060 00:59:36,520 --> 00:59:37,820 a legraci z databáze? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Cítit se dobře? 1063 00:59:42,110 --> 00:59:42,750 Cítit se dobře. 1064 00:59:42,750 --> 00:59:43,470 Dobře. 1065 00:59:43,470 --> 00:59:49,130 >> Pojďme zpět k PowerPoint, které budete pravděpodobně chybět. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Lidé, kteří jsou ve svém oddíle typicky bude vědět, že Podpoložky zkratek 1068 00:59:57,900 --> 01:00:01,220 jsou vždy jen první slova Myslím si, že z tohoto zápasu, který 1069 01:00:01,220 --> 01:00:02,690 algorithm-- tuto zkratku. 1070 01:00:02,690 --> 01:00:04,090 Není to algoritmus. 1071 01:00:04,090 --> 01:00:08,050 >> Takže SQL je databáze. 1072 01:00:08,050 --> 01:00:11,060 Je to jazyk, který pracuje s databází. 1073 01:00:11,060 --> 01:00:14,440 A všechny databáze jsou je stoly, alespoň v cestě 1074 01:00:14,440 --> 01:00:17,220 že SQL zastupuje je. 1075 01:00:17,220 --> 01:00:23,610 >> Další způsob, jak přemýšlet o databázích databáze jsou sada klíčů a hodnot 1076 01:00:23,610 --> 01:00:24,110 v podstatě. 1077 01:00:24,110 --> 01:00:29,530 Můžete si myslet o databázi jako slovník a také jako stůl. 1078 01:00:29,530 --> 01:00:34,300 V podstatě je to způsob, jak spojit různá data s dalšími daty, 1079 01:00:34,300 --> 01:00:36,270 často prostřednictvím řádků a sloupců. 1080 01:00:36,270 --> 01:00:38,470 A to je způsob, jakým to je SQL funguje nejlépe. 1081 01:00:38,470 --> 01:00:40,880 >> Takže toto je jeden příklad tabulky. 1082 01:00:40,880 --> 01:00:44,610 Mám několik příkladů lidé v mém oddílu, který 1083 01:00:44,610 --> 01:00:45,970 Neměl jsem čas na změnu. 1084 01:00:45,970 --> 01:00:52,020 Ale máme věci, jako je ID, jméno, velmoc, a rodné město. 1085 01:00:52,020 --> 01:00:54,100 Já nevím, kde je někdo z mého oddílu, 1086 01:00:54,100 --> 01:00:56,266 tak jsem jen tak předpokládat, všichni jsou z New Yorku 1087 01:00:56,266 --> 01:00:59,370 Město proto, že mám vysoký statistický pravděpodobnost, že budou v pořádku. 1088 01:00:59,370 --> 01:01:04,200 >> SQL automaticky brát péče o sloupci ID pro vás. 1089 01:01:04,200 --> 01:01:07,560 Pokud vložíte nový řádek do SQL databáze, 1090 01:01:07,560 --> 01:01:09,700 se bude zvyšovat, že ID číslo a jen 1091 01:01:09,700 --> 01:01:14,890 v podstatě držet asi pět jmen, velmoc, rodné město, kdo 1092 01:01:14,890 --> 01:01:16,430 na konci této tabulky. 1093 01:01:16,430 --> 01:01:19,160 Takže číslo je sloupec, budete nikdy nebudete muset bát. 1094 01:01:19,160 --> 01:01:22,770 Avšak, stejně jako v případě z login.php, když jsme 1095 01:01:22,770 --> 01:01:26,610 dostávali ID relace z tabulky, a jen pomocí ID, 1096 01:01:26,610 --> 01:01:30,320 ID je způsob, jak jednoznačně identifikovat prvek databáze. 1097 01:01:30,320 --> 01:01:34,980 >> Takže pokud jsme měli dva Sams, oba který učil CS50, a oba kdo 1098 01:01:34,980 --> 01:01:39,370 byli z Milwaukee, ti by Stále mají odlišné identifikační čísla 1099 01:01:39,370 --> 01:01:43,420 a být tak zřetelný v kontext tabulky. 1100 01:01:43,420 --> 01:01:48,700 Takže tohle je to, co SQL se zabývá s, práce s na zadním konci. 1101 01:01:48,700 --> 01:01:54,160 >> Nyní to jsou čtyři příkazy že budete muset pracovat s SQL. 1102 01:01:54,160 --> 01:01:56,390 A Hodil jsem je všechny na jednom snímku. 1103 01:01:56,390 --> 01:01:59,530 Ale my jdeme projít je všechny jednotlivě. 1104 01:01:59,530 --> 01:02:03,300 >> První příkaz je UPDATE, který dělá to, co byste mohli očekávat. 1105 01:02:03,300 --> 01:02:07,240 Řekněme, že máte nějaké data tabulku, která je zastaralý. 1106 01:02:07,240 --> 01:02:09,470 Stejně jako v případě, že jste udržet track jmen lidí 1107 01:02:09,470 --> 01:02:13,350 a stáří, pokud je někdo věk se zvyšuje, pak 1108 01:02:13,350 --> 01:02:18,590 budete chtít jít dovnitř a aktualizovat věk Jen to, že osoby. 1109 01:02:18,590 --> 01:02:21,902 Pro příklad, který pracuje s naší první table-- 1110 01:02:21,902 --> 01:02:24,610 nebojte se o psaní všem tyto příkazy ve stejnou dobu. 1111 01:02:24,610 --> 01:02:27,640 Ale pokud máte aktualizace dolů, že to bude dobré pro tuto část, 1112 01:02:27,640 --> 01:02:29,790 proto, že budeme přejít zpět ke stolu. 1113 01:02:29,790 --> 01:02:33,920 >> Takže když jdeme zpět ke stolu, řekněme, něco, co se stalo 1114 01:02:33,920 --> 01:02:38,480 tam bylo zemětřesení nebo zlomová linie, která rozdělila přímo 1115 01:02:38,480 --> 01:02:39,920 přes New York City. 1116 01:02:39,920 --> 01:02:45,130 A chtěli jsme aktualizovat každý který žil v New Yorku. 1117 01:02:45,130 --> 01:02:49,670 Všichni museli přestěhovat do Pensylvánie. 1118 01:02:49,670 --> 01:02:51,130 To není rodné město. 1119 01:02:51,130 --> 01:02:53,180 Všichni museli přestěhovat do New Haven. 1120 01:02:53,180 --> 01:02:54,030 Tam jedeme. 1121 01:02:54,030 --> 01:02:57,630 Takže všichni v New Yorku se stěhuje do New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> A tak to je něco, co je editaci tři řádky v této tabulce. 1123 01:03:01,300 --> 01:03:04,716 Ale v SQL, můžete tak učinit že jen v jednom prohlášení. 1124 01:03:04,716 --> 01:03:05,715 Tak jsme se vrátit k aktualizaci. 1125 01:03:05,715 --> 01:03:09,670 Dovolte mi, abych rychle opět smazat tuto desku. 1126 01:03:09,670 --> 01:03:14,570 Když mluvíme o aktualizace, existují 1127 01:03:14,570 --> 01:03:17,640 několik částí syntaxe, které jsou klíčové. 1128 01:03:17,640 --> 01:03:19,770 No, syntax je klíčové. 1129 01:03:19,770 --> 01:03:22,210 Ale věci zeleně je volitelné. 1130 01:03:22,210 --> 01:03:25,680 Bílá jsou požadovány, jako předdefinované názvy. 1131 01:03:25,680 --> 01:03:30,750 A světle modrá jsou věci, které se liší v závislosti na stole. 1132 01:03:30,750 --> 01:03:34,640 Tak to je to, co se děje s Barevnost tady, tam nahoře. 1133 01:03:34,640 --> 01:03:40,250 >> Takže pokud chceme aktualizovat pouze ty řádky, lidí, kteří žijí v New Yorku, 1134 01:03:40,250 --> 01:03:43,490 tak co budeme dělat, když jsme si řekli, UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Tak stůl je místo, kde klademe jméno našeho stolu. 1136 01:03:46,320 --> 01:03:49,170 Řekněme, že jméno z našeho stolu je stůl jednou. 1137 01:03:49,170 --> 01:03:52,515 Takže chceme aktualizovat tabulku jeden. 1138 01:03:52,515 --> 01:03:57,470 A chceme set-- co chceme nastavit? 1139 01:03:57,470 --> 01:04:05,160 No chceme říci, tak column-- PHP zachází řádky jako jediné identifikátory. 1140 01:04:05,160 --> 01:04:07,930 A pak sloupce různých oblastech 1141 01:04:07,930 --> 01:04:09,940 z těch prvků databáze. 1142 01:04:09,940 --> 01:04:14,210 >> Takže první prvek databáze má jméno Sam, velmoc CS50, 1143 01:04:14,210 --> 01:04:16,210 a rodné město Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Takže když jsme si řekli nastavena, pojďme se podívat na opět nastavené parametry, které trvá. 1145 01:04:20,710 --> 01:04:23,880 Máme sloupec se rovná hodnotě. 1146 01:04:23,880 --> 01:04:27,290 Takže chceme říkají někteří column-- který pamatovat 1147 01:04:27,290 --> 01:04:31,850 je field-- chceme vidět Pole se rovná něco nového. 1148 01:04:31,850 --> 01:04:42,340 >> Takže když jsme se právě řekl aktualizace tabulka 1, nastavení jména rovný Elliot. 1149 01:04:42,340 --> 01:04:46,310 Získat nějaké lidi z Nová sekce na toto téma. 1150 01:04:46,310 --> 01:04:51,540 Ale pokud jsme právě udělal aktualizace tabulka 1 nastavit název rovný Elliot, co by 1151 01:04:51,540 --> 01:04:55,530 tabulka vypadá po tom? 1152 01:04:55,530 --> 01:04:56,410 Lidé mají nějaký nápad? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 To jo. 1155 01:05:00,210 --> 01:05:03,195 >> Diváků: Všechno v tom, že řádek by se stal Elliot. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Všechno, v níž řadě? 1157 01:05:04,570 --> 01:05:06,067 Publikum: V prvním řádku. 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: V první řadě? 1159 01:05:07,150 --> 01:05:09,724 Proč první řádek? 1160 01:05:09,724 --> 01:05:10,890 Nechci, aby vyzvednout na vás. 1161 01:05:10,890 --> 01:05:13,287 >> Publikum: Možná, že všechno V celé tabulky? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Všechno, co v celá tabulka, ano. 1163 01:05:15,120 --> 01:05:19,520 A to je přesně to pravé protože-- I Zrovna který vám pomůže ven trochu 1164 01:05:19,520 --> 01:05:22,650 there-- protože jsme vynechat volitelná klauzule WHERE. 1165 01:05:22,650 --> 01:05:27,260 Pokud nemáte Kde klauzule, co tento příkaz bude dělat 1166 01:05:27,260 --> 01:05:32,240 Je to bude fungovat s každým jeden řádek v tabulce. 1167 01:05:32,240 --> 01:05:35,430 Jméno každého z nás bude stanou Elliott, v podstatě, 1168 01:05:35,430 --> 01:05:37,360 což Elliot je velmi šťastný, o. 1169 01:05:37,360 --> 01:05:40,070 Nebo Yanni, jeden ze dvou. 1170 01:05:40,070 --> 01:05:42,490 Ale jméno každého z nás se bude měnit. 1171 01:05:42,490 --> 01:05:47,880 >> Způsob, jakým používáme WHERE clause-- a to se vztahuje na všechny wheres 1172 01:05:47,880 --> 01:05:51,410 které jsou v každém z tyto různé věci. 1173 01:05:51,410 --> 01:05:54,380 Tak zjistíte, že SET má sloupce stejnou hodnotu. 1174 01:05:54,380 --> 01:05:55,190 A tak se WHERE. 1175 01:05:55,190 --> 01:06:00,040 Ale to jsou různé typů příkazů. 1176 01:06:00,040 --> 01:06:04,400 Takže sloupec se rovná hodnotě v SET je v zadání. 1177 01:06:04,400 --> 01:06:08,320 Stejně jako my chceme říkat nastavit jméno rovnající se Elliot. 1178 01:06:08,320 --> 01:06:15,390 Ale v doložek, kdy, jsou to výroky rovnosti. 1179 01:06:15,390 --> 01:06:20,410 Takže řekněme, že jsme chtěli jen změnit jméno osoby do Elliot 1180 01:06:20,410 --> 01:06:23,940 pokud je jejich jméno bylo Ryan, řekněme. 1181 01:06:23,940 --> 01:06:24,920 >> Takže když říkáme 1182 01:06:24,920 --> 01:06:32,700 >> WHERE name rovná Ryan, že by úspěšně Jediná změna 1183 01:06:32,700 --> 01:06:37,440 name-- to by jen změnit název pole v řádcích 1184 01:06:37,440 --> 01:06:40,770 kde je název pole je rovno Ryan. 1185 01:06:40,770 --> 01:06:44,430 Takže pokud jsme měli několik lidí jmenoval Ryana, všechny jejich názvy 1186 01:06:44,430 --> 01:06:45,730 by se změnila na Elliota. 1187 01:06:45,730 --> 01:06:48,169 >> To je podobné jako v příkladu na to, pokud zlomová linie rozdělí 1188 01:06:48,169 --> 01:06:50,960 New York City, a každý má přesunout do New Haven, tak, jak je v našich silách 1189 01:06:50,960 --> 01:06:56,570 tomu, že v jednom příkazu je UPDATE table1 SET rodné město = New Haven 1190 01:06:56,570 --> 01:07:00,210 kde rodné město rovná se New York City. 1191 01:07:00,210 --> 01:07:03,410 To je síla příkaz UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Můžeme si vybrat libovolný počet Řádky skrze pravdivé prohlášení 1193 01:07:10,530 --> 01:07:12,860 o polích v těchto řádcích. 1194 01:07:12,860 --> 01:07:19,510 Nemůžeme říci UPDATE table1 set name = Elliot WHERE řada = 1, 1195 01:07:19,510 --> 01:07:24,820 kromě toho, že můžeme řekneme-li, ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Takže budeme mít práce s rovností 1198 01:07:29,830 --> 01:07:32,830 polí, rovnost sloupců. 1199 01:07:32,830 --> 01:07:38,030 Ale za použití pole ID je způsob, jak vybrat jednotlivé řádky specificky, 1200 01:07:38,030 --> 01:07:43,210 protože ID pole je jedinečný identifikátor v databázi SQL. 1201 01:07:43,210 --> 01:07:45,860 Tak jako aktualizace řádek jednu, ID = 1. 1202 01:07:45,860 --> 01:07:49,560 Aktualizace druhé řadě, jen změňte toto číslo. 1203 01:07:49,560 --> 01:07:51,610 Ale síla z KDE prohlášení, je, že jsme 1204 01:07:51,610 --> 01:07:57,480 můžete aktualizovat věci podle toho, co jejich aktuální hodnoty některé věci jsou. 1205 01:07:57,480 --> 01:07:58,155 Ano Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> Diváků: A co když chcete to-- Znovu, to je jiná otázka. 1207 01:08:02,678 --> 01:08:07,660 Ale moje první otázka byla, kde se to děje? 1208 01:08:07,660 --> 01:08:09,130 Kde mám aktualizovat to? 1209 01:08:09,130 --> 01:08:11,100 Je to v PHP kód? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Kde aktualizovat, ano. 1211 01:08:13,379 --> 01:08:15,170 Budeme mluvit o tom, kde to všechno 1212 01:08:15,170 --> 01:08:18,729 se stane, druh, jakmile jsme jít přes všechny příkazy. 1213 01:08:18,729 --> 01:08:21,130 Ale to, co potřebujete vím, prozatím je v podstatě 1214 01:08:21,130 --> 01:08:26,279 že vaše SQL databáze existuje jako něco, 1215 01:08:26,279 --> 01:08:30,090 , které mají být přístupné dotazu Funkce, která definuje CS50. 1216 01:08:30,090 --> 01:08:33,800 Takže pokud použijete funkci dotazu, můžete přístup k této tabulce. 1217 01:08:33,800 --> 01:08:39,529 >> Takže budete posílat tyto příkazy ke svému stolu v PHP soubory 1218 01:08:39,529 --> 01:08:41,420 pomocí funkce dotazu. 1219 01:08:41,420 --> 01:08:45,410 Můžete si také pohrát s tabulkou přímo. 1220 01:08:45,410 --> 01:08:49,050 A to je nejlepší způsob, jak testování těchto druhy příkazů. 1221 01:08:49,050 --> 01:08:52,720 A půjdeme přes přesně, jak k tomu, že v jen trochu. 1222 01:08:52,720 --> 01:08:54,910 >> Tak to je příkaz UPDATE. 1223 01:08:54,910 --> 01:08:57,939 A zbytek příkazů se bude nějak podobné, 1224 01:08:57,939 --> 01:08:59,069 pracují na podobných věcech. 1225 01:08:59,069 --> 01:09:02,740 INSERT INTO je pravděpodobně nejvíce liší od UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Chystám se nechat, že tam pro jen trochu a pracovat tady. 1227 01:09:06,170 --> 01:09:10,215 Takže INSERT INTO, uvidíte že tabulka je stále stejný. 1228 01:09:10,215 --> 01:09:17,010 Chcete-li vložit do. 1229 01:09:17,010 --> 01:09:20,286 Kapitalizace, SQL je malá a velká písmena. 1230 01:09:20,286 --> 01:09:22,160 Takže se nemusíte kapitalizovat tyto věci. 1231 01:09:22,160 --> 01:09:27,960 Podle konvence slova v bílém je aktivováno. 1232 01:09:27,960 --> 01:09:31,590 Ale také barevně rozlišeny je. 1233 01:09:31,590 --> 01:09:34,390 Jediný důvod, že jste vydělávat ti, když jste jim psaní 1234 01:09:34,390 --> 01:09:36,609 je jen pro zdůraznění že to jsou konstanty. 1235 01:09:36,609 --> 01:09:39,189 A tak si můžete buď prohlédnout kapitalizace nebo skutečnost, 1236 01:09:39,189 --> 01:09:40,740 že jsem je barevný rozdílně. 1237 01:09:40,740 --> 01:09:44,910 >> Takže máme vložit do, pojďme udělat table1 znovu. 1238 01:09:44,910 --> 01:09:45,930 To vše je na jednom řádku. 1239 01:09:45,930 --> 01:09:48,609 Jen jsem oddělující jej různé příkazy. 1240 01:09:48,609 --> 01:09:52,399 Takže se nemusíte starat o tom, že table1 dělal to na druhém řádku. 1241 01:09:52,399 --> 01:09:56,130 >> Takže chceme INSERT INTO tabulka1 některé hodnoty. 1242 01:09:56,130 --> 01:09:58,922 A všimněte si, volitelný bit, který se dostanu do druhé. 1243 01:09:58,922 --> 01:09:59,755 Takže máme hodnoty. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Takže řekněme, že chceme přidat Andi k našemu stolu, protože nám chybí Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi je nemocný. 1247 01:10:09,390 --> 01:10:12,490 Takže pojďme se přidat Andi k našemu stolu. 1248 01:10:12,490 --> 01:10:15,150 Pamatujte si, že identifikační číslo se automaticky aktualizuje. 1249 01:10:15,150 --> 01:10:17,320 Takže jediný polí my muset starat o 1250 01:10:17,320 --> 01:10:20,230 jsou jméno, velmoc, a rodné město. 1251 01:10:20,230 --> 01:10:23,660 >> A tak tak, že to uděláme, při pohledu na naši syntaxi, je máme 1252 01:10:23,660 --> 01:10:28,780 právě dostal závorky, s čárkou hodnoty oddělené, přičemž každý z nich 1253 01:10:28,780 --> 01:10:29,890 je hodnota. 1254 01:10:29,890 --> 01:10:35,530 Takže pokud bychom chtěli vložit Andi do naší stůl, všechno, co musíme udělat, je pravým Andi. 1255 01:10:35,530 --> 01:10:38,630 Co je Andi supervelmocí, lidé v sekci Andi? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Ona ráda let, nebo rád rychlost, nebo tak něco. 1258 01:10:47,545 --> 01:10:48,920 Co už máme tam nahoře? 1259 01:10:48,920 --> 01:10:53,425 Máme CS50, letu, rychlost a síla. 1260 01:10:53,425 --> 01:10:54,850 >> Diváků: Cestování v čase. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Cestování časem, úžasné. 1262 01:10:56,180 --> 01:11:04,280 Takže máme Andi, čas cestování, a její rodné město. 1263 01:11:04,280 --> 01:11:05,530 To je opravdu dobrá otázka. 1264 01:11:05,530 --> 01:11:09,210 New York City, pokud někdo ví. 1265 01:11:09,210 --> 01:11:13,600 Každý, kdo je z New York je lekce, aby od dnešního dne. 1266 01:11:13,600 --> 01:11:17,710 >> Takže toto prohlášení by vložka, jako páté řadě, 1267 01:11:17,710 --> 01:11:21,900 s cestováním supervelmocí čase a rodné město New York City. 1268 01:11:21,900 --> 01:11:25,660 Ale volitelné pole je v podstatě způsob, 1269 01:11:25,660 --> 01:11:30,090 přesně specifikovat, které sloupce Chcete-li vložit věci. 1270 01:11:30,090 --> 01:11:33,710 >> Způsob, jakým to děláme nyní, Andi, cestování v čase, New York City, 1271 01:11:33,710 --> 01:11:38,150 se děje v přesném pořadí našeho table-- jméno, velmoc, rodné město. 1272 01:11:38,150 --> 01:11:42,290 A pokud byste chtěli dělat něco jiného než to, 1273 01:11:42,290 --> 01:11:44,970 stejně jako, že jste nevěděli, něčí supervelmoc, 1274 01:11:44,970 --> 01:11:47,660 jako jak Nevěděl jsem, že Andi to velmoc na začátku. 1275 01:11:47,660 --> 01:11:50,450 Takže všechno, co jsem věděl, že jí byl pojmenovat a její rodné město. 1276 01:11:50,450 --> 01:11:54,550 To, co jsem mohl udělat, je, že jsem mohl do-- Budu vymazat to rychlé. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Chci jen aktualizovat sloupce. 1279 01:12:00,090 --> 01:12:04,100 A to je místo, kde volitelný Seznam sloupců vstoupí do hry. 1280 01:12:04,100 --> 01:12:09,185 Já jen chci, aby aktualizovat jméno a rodné město. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 A pak řeknu hodnoty. 1283 01:12:16,480 --> 01:12:24,430 Udělám Andi a New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Kdybych vynechal seznam sloupců a právě udělal tyto dvě věci, 1285 01:12:28,980 --> 01:12:32,450 kde by se New York City šel? 1286 01:12:32,450 --> 01:12:35,900 Který sloupec by New York Město je umístěno do? 1287 01:12:35,900 --> 01:12:38,950 Lidé mají nějaký nápad? 1288 01:12:38,950 --> 01:12:40,160 Velmoc, přesně tak. 1289 01:12:40,160 --> 01:12:41,890 >> Takže to bude jen jít v pořadí. 1290 01:12:41,890 --> 01:12:45,530 A jakmile dosáhne konce seznam, bude to zastavit vyplněním věci. 1291 01:12:45,530 --> 01:12:49,080 A hodnoty, které to bude držet v všechny sloupce bude jen NULL. 1292 01:12:49,080 --> 01:12:51,840 Takže protože jsme upřesnili jméno a rodné město, 1293 01:12:51,840 --> 01:12:56,110 budeme mít ID 5, jméno Andi, velmoc NULL. 1294 01:12:56,110 --> 01:12:58,750 Takže velmoc je neinicializovaná hodnotu. 1295 01:12:58,750 --> 01:13:01,340 Nebudete nutně dostat Stejné Valgrind chyby, pokud se pokusíte 1296 01:13:01,340 --> 01:13:01,970 a přístupu k němu. 1297 01:13:01,970 --> 01:13:05,160 Vše bude hezky vynulována out, neboť NULL je hodnota v SQL. 1298 01:13:05,160 --> 01:13:06,780 To je konstantní. 1299 01:13:06,780 --> 01:13:08,980 A pak rodné město bude New York City. 1300 01:13:08,980 --> 01:13:11,860 Tak to je INSERT INTO příkazu. 1301 01:13:11,860 --> 01:13:13,610 Ještě než se vrhneme, je tu další dva příkazy. 1302 01:13:13,610 --> 01:13:19,060 Ještě lidé mít jakékoli otázky týkající UPDATE, o INSERT INTO, o SQL 1303 01:13:19,060 --> 01:13:21,556 obvykle dříve než přejdeme na naše konečné kousky? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Lidé se cítí dobře, skvěle. 1306 01:13:26,910 --> 01:13:27,410 Miluji to. 1307 01:13:27,410 --> 01:13:29,480 Tak pojďme mluvit o SELECT. 1308 01:13:29,480 --> 01:13:33,445 Chystáte se zoufalý UPDATE tady. 1309 01:13:33,445 --> 01:13:35,720 >> A SELECT bude velmi podobné. 1310 01:13:35,720 --> 01:13:38,790 Cílem SELECT, Účelem SELECT v životě 1311 01:13:38,790 --> 01:13:45,910 je poskytnout vám spoustu sloupců které splňují určité podmínky. 1312 01:13:45,910 --> 01:13:48,230 A když říkám uspokojit určité podmínky, 1313 01:13:48,230 --> 01:13:50,800 vaše mysl by mohla okamžitě se vrátit k tomu klauzuli WHERE 1314 01:13:50,800 --> 01:13:52,090 který přišel v UPDATE. 1315 01:13:52,090 --> 01:13:54,880 A to doložka přesně tam v SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Pokud se nám nepodaří dát Kde doložka a říkáme SELECT jméno, 1317 01:14:06,020 --> 01:14:16,490 hometown-- špalda, že malá wrong-- jméno, rodné město FROM Tabulka1. 1318 01:14:16,490 --> 01:14:19,690 Pokud budeme jen říct, že to, co SELECT se chystá dát nám je, že je to 1319 01:14:19,690 --> 01:14:23,730 bude nám dávají double-- tabulku, spíše. 1320 01:14:23,730 --> 01:14:27,450 Dvojité pole když jsme myslet v PHP cítí. 1321 01:14:27,450 --> 01:14:33,239 Ale je to jen tak nám dávají dvojitá řada dvou columns-- jména, 1322 01:14:33,239 --> 01:14:33,780 a rodné město. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 A bude ignorovat ID. 1325 01:14:38,130 --> 01:14:41,310 A bude ignorovat supervelmoci. 1326 01:14:41,310 --> 01:14:44,696 A bude to nám stačí dát každý jeden řádek tabulky. 1327 01:14:44,696 --> 01:14:46,570 Takže když jsme prostě vložena Andi, budeme mít Andi. 1328 01:14:46,570 --> 01:14:48,605 A budeme mít původní čtyři. 1329 01:14:48,605 --> 01:14:53,720 Pokud by už byla aktualizována, že bude odrazí, a tak dále, a tak dále. 1330 01:14:53,720 --> 01:14:56,520 >> Takže je to proto, že jsme nepoužil klauzuli WHERE. 1331 01:14:56,520 --> 01:14:59,200 Ale můžeme ji použít v přesně Stejně tak jsme se používal to v UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Pokud chceme jen tabulku jmen a supervelmoci lidí žijících 1333 01:15:05,310 --> 01:15:13,430 v New Yorku, můžeme spustit příkaz jako SELECT jméno, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Já jsem prostě jít k odchodu that-- FROM tabulka1 KDE rodné město = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Tak tohle jde ukázat, že je možné získat zcela různých sloupců, 1336 01:15:33,370 --> 01:15:36,920 a pak dal sloupce, že nejste i dostat se zpátky v klauzuli WHERE. 1337 01:15:36,920 --> 01:15:39,200 Nechceme ani chcete, rodné město každého. 1338 01:15:39,200 --> 01:15:41,920 Ale my chceme jméno a velmoc lidí 1339 01:15:41,920 --> 01:15:43,817 jejíž rodné město je New York City. 1340 01:15:43,817 --> 01:15:45,650 Tak to je něco, co dá dělat s WHERE 1341 01:15:45,650 --> 01:15:49,112 klauzule je, že jsme si umí poradit se sloupy že nemusí nutně chtít zpátky. 1342 01:15:49,112 --> 01:15:52,320 Stejně tak v UPDATE, můžeme řešit se sloupy, co děláme, není nutně 1343 01:15:52,320 --> 01:15:53,270 Chcete aktualizovat. 1344 01:15:53,270 --> 01:15:58,890 Můžeme aktualizovat město každého kdo je jméno je Sam, například. 1345 01:15:58,890 --> 01:16:02,080 Můžeme aktualizovat město Každý, jehož identifikační číslo 2. 1346 01:16:02,080 --> 01:16:04,960 Takže jen aktualizovat Město druhé řady 1347 01:16:04,960 --> 01:16:08,220 kde nemáme co do činění s nezbytná častá otázka. 1348 01:16:08,220 --> 01:16:13,264 >> A DELETE je, jak byste Očekáváme, DELETE FROM tabulka1. 1349 01:16:13,264 --> 01:16:14,930 A pak máme další klauzuli WHERE. 1350 01:16:14,930 --> 01:16:17,940 Takže můžeme říci, kde ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Odstraňte první řádek. 1352 01:16:18,950 --> 01:16:23,240 A DELETE bude vždy odstranit řádek, nebo to bude vymazat určitý počet řádků. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM stolu, kde rodné město = New York City 1354 01:16:26,990 --> 01:16:28,740 smaže všechny v New Yorku. 1355 01:16:28,740 --> 01:16:30,985 To je v případě, že byl náhlé tragické mor 1356 01:16:30,985 --> 01:16:33,360 a vy jen chtěl odstranit každý z tabulky, která 1357 01:16:33,360 --> 01:16:35,760 žil v určitém městě který byl zasažen morem. 1358 01:16:35,760 --> 01:16:38,050 Nechť odpočívá v pokoji. 1359 01:16:38,050 --> 01:16:43,849 >> To jsou čtyři SQL příkazy že budete muset použít. 1360 01:16:43,849 --> 01:16:45,390 Dalo by se ani nemusíte používat všechny. 1361 01:16:45,390 --> 01:16:47,690 Ale to jsou čtyři že CS50 vás očekává, 1362 01:16:47,690 --> 01:16:53,630 být pohodlné s jít do jak kvíz 1 a také pset7 a pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Je tu opět jen, že tabulka. 1364 01:16:55,820 --> 01:16:58,930 V tomto jediném, Roy je supervelmoc má byl aktualizován na laserové paprsky, které se 1365 01:16:58,930 --> 01:17:00,880 je příklad jsem nepoužil. 1366 01:17:00,880 --> 01:17:05,480 Nevím, který z nich Roy preferuje, ale síla. 1367 01:17:05,480 --> 01:17:07,670 Roy má supervelmoci síly. 1368 01:17:07,670 --> 01:17:09,090 Katherine nedělal to dnes. 1369 01:17:09,090 --> 01:17:10,260 To je nešťastné. 1370 01:17:10,260 --> 01:17:11,260 Ale ona má super rychlost. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> No, to bylo PHP. 1373 01:17:14,670 --> 01:17:19,410 Předtím, než budeme mluvit o MVC, dělá někdo máte otázky ohledně PHP? 1374 01:17:19,410 --> 01:17:23,864 Nyní SQL, PHP, nebo pokud se náhle máte přijít s otázkou o PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Skvělý. 1377 01:17:28,460 --> 01:17:29,920 Dobře, máme vše nastaveno poté. 1378 01:17:29,920 --> 01:17:33,660 >> Tak mluví trochu o regulátory pohledem modelu, 1379 01:17:33,660 --> 01:17:38,770 vraťme se k některým o věci v pset7. 1380 01:17:38,770 --> 01:17:42,470 Takže to, co pohled modelu Regulátor je-- Nejsem 1381 01:17:42,470 --> 01:17:45,660 zachrání své změny se přihlásit proto, že jsem totálně porážel jej. 1382 01:17:45,660 --> 01:17:49,220 Ale v podstatě máme dvě oddělené věci děje. 1383 01:17:49,220 --> 01:17:52,390 Máme veřejnost adresář, který obsahuje 1384 01:17:52,390 --> 01:17:56,460 kód, který se bude popraven a webové stránky, které budou navštívili. 1385 01:17:56,460 --> 01:17:58,780 A máme také tento adresář názory. 1386 01:17:58,780 --> 01:18:01,780 A pohledy obsahuje šablony. 1387 01:18:01,780 --> 01:18:04,390 >> To je to, co je funkce render-- jsme viděli omítky 1388 01:18:04,390 --> 01:18:08,240 Funkce v banda PHP kódu že CS50 již napsal pro vás, 1389 01:18:08,240 --> 01:18:10,550 že se v některých parametrech. 1390 01:18:10,550 --> 01:18:14,510 Co že je tento kód dělá Je to bude do pohledů, 1391 01:18:14,510 --> 01:18:18,000 které jsou soubory jako prewritten HTML kód, 1392 01:18:18,000 --> 01:18:20,720 a to vložením hodnoty do určitých místech. 1393 01:18:20,720 --> 01:18:23,990 To je, jak když vás jít do CS50 Finance, 1394 01:18:23,990 --> 01:18:25,760 stejné záhlaví je na každé stránce. 1395 01:18:25,760 --> 01:18:28,130 Stejný zápatí je na každé stránce. 1396 01:18:28,130 --> 01:18:31,880 To je proto, že na cestě která způsobí, že práce je to bude 1397 01:18:31,880 --> 01:18:36,720 automaticky opravit v tomto záhlaví a divák, který můžete najít v pohledech. 1398 01:18:36,720 --> 01:18:41,400 >> Vlastně jsme se jít do hlavičky, a vypadat, je to soubor HTML s hlavou. 1399 01:18:41,400 --> 01:18:43,280 Má to několik stylů. 1400 01:18:43,280 --> 01:18:48,450 Nemusíte se dívat na CSS pro pset7, pokud nechcete. 1401 01:18:48,450 --> 01:18:50,560 Ale můžete změnit je, pokud chcete, aby 1402 01:18:50,560 --> 01:18:53,470 Váš Finance vypadat trochu jinak. 1403 01:18:53,470 --> 01:18:57,560 >> Má to nějaký PHP v hlavička trochu vidět 1404 01:18:57,560 --> 01:19:01,240 pokud tam je jiný název to by mělo dát v tomto záhlaví. 1405 01:19:01,240 --> 01:19:04,300 Ale jen některé jiné skripty, a odkazy, a další věci. 1406 01:19:04,300 --> 01:19:08,700 Hlava skončí, začne tělo, a oops, máme takový divný malý koncový bit. 1407 01:19:08,700 --> 01:19:14,730 A je tu div, stejně jako beztvarý druh prvku 1408 01:19:14,730 --> 01:19:17,120 že má představu o uprostřed. 1409 01:19:17,120 --> 01:19:22,450 >> A pak, když vidíme, zápatí, máme konec div. 1410 01:19:22,450 --> 01:19:25,000 Máme dno, což je kde text zápatí. 1411 01:19:25,000 --> 01:19:26,770 Konec div, konec těla, konec HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Takže to, co činí, je dělá, je poskytnout, je druh 1413 01:19:29,070 --> 01:19:33,150 záplatování up hlavičky, je jiný PHP soubor, který 1414 01:19:33,150 --> 01:19:37,110 bude obsahovat skutečné věci, které budete prohlížet, stejně jako váš stůl zásob 1415 01:19:37,110 --> 01:19:39,690 pokud jste nákup nebo prodej akcií. 1416 01:19:39,690 --> 01:19:41,480 A pak to bude přidat do zápatí. 1417 01:19:41,480 --> 01:19:44,890 A pohled modelu Regulátor představa je, že jsme 1418 01:19:44,890 --> 01:19:49,590 chcete oddělit, jak věci vypadají z kódu. 1419 01:19:49,590 --> 01:19:53,420 Je to chceme oddělit frontend a backend, kde je frontend 1420 01:19:53,420 --> 01:20:00,440 věci, které uživatel vidí, pěkné visuals-- HTML, CSS, takové věci, 1421 01:20:00,440 --> 01:20:02,320 obrazy, et cetera. 1422 01:20:02,320 --> 01:20:05,780 A backend je PHP. 1423 01:20:05,780 --> 01:20:07,710 To je kód, který píšete. 1424 01:20:07,710 --> 01:20:10,240 To je místo, kde kód, který je dělá skutečné operace. 1425 01:20:10,240 --> 01:20:12,400 To je, když přidáváte akcie na váš stůl, 1426 01:20:12,400 --> 01:20:14,890 když kupujete a prodejní, to je backend. 1427 01:20:14,890 --> 01:20:20,210 >> A můžeme, jak jste viděli, včetně PHP přímo v HTML. 1428 01:20:20,210 --> 01:20:23,210 Takže to, co jsme mohli udělat pro Tento úkol je prostě musel 1429 01:20:23,210 --> 01:20:26,200 HTML soubor pro každou stránku, jako je přihlášení. 1430 01:20:26,200 --> 01:20:30,260 A pak se na této stránce, stačí měl obrovský blok PHP kódu, 1431 01:20:30,260 --> 01:20:33,822 včetně všech kódu, který že strana by specificky potřebovat. 1432 01:20:33,822 --> 01:20:35,780 A pak bychom mohli mít udělal pro portfolio. 1433 01:20:35,780 --> 01:20:40,250 Mohli jsme udělali vše o nákupu a prodeje v rámci jednotlivých stránek. 1434 01:20:40,250 --> 01:20:43,680 >> Ale proto, že jsme vykreslování odděleně od místa, kde 1435 01:20:43,680 --> 01:20:46,660 budeme psát backend kódu, můžeme snadno 1436 01:20:46,660 --> 01:20:52,660 změnit způsob, jakým se věci vypadají bez mění každý jeden soubor. 1437 01:20:52,660 --> 01:20:55,460 Děláme věci, jako je jen přidat nový div ke dnu 1438 01:20:55,460 --> 01:21:00,720 of-- Dobrý den, jsem upravil zápatí. 1439 01:21:00,720 --> 01:21:03,710 Stačí si jen dělat věci takhle. 1440 01:21:03,710 --> 01:21:07,250 Ale také můžete změnit celý vizuální rozvržení 1441 01:21:07,250 --> 01:21:09,290 aniž by to ovlivnilo to, co je děje v backend. 1442 01:21:09,290 --> 01:21:12,000 A můžete změnit Celý backend a stále 1443 01:21:12,000 --> 01:21:13,900 mít to vypadat stejně jako to udělal předtím. 1444 01:21:13,900 --> 01:21:14,400 Tento 1445 01:21:14,400 --> 01:21:16,170 >> Je myšlenka pohledu modelu regulátoru. 1446 01:21:16,170 --> 01:21:19,992 A je to vlastně uložena paradigma v některých programovacích jazyků 1447 01:21:19,992 --> 01:21:21,700 možná budete chtít použít pro konečné projekty. 1448 01:21:21,700 --> 01:21:25,100 Pokud tak učiníte iOS vývoj, Mají výhled, 1449 01:21:25,100 --> 01:21:29,120 což je to, co vidíte na iPhone, a pak backend jako jako samostatnou věc. 1450 01:21:29,120 --> 01:21:31,260 >> Můžete si myslet o trochu. 1451 01:21:31,260 --> 01:21:35,190 Je tu spousta binárních souborů v počítačové vědy, což je legrační, 1452 01:21:35,190 --> 01:21:37,270 protože všechno je v binární. 1453 01:21:37,270 --> 01:21:38,550 Nechtěl jsem v plánu to. 1454 01:21:38,550 --> 01:21:41,590 To byl hříčka neúmyslné. 1455 01:21:41,590 --> 01:21:43,860 Ano, slovní hříčka není určena. 1456 01:21:43,860 --> 01:21:49,070 >> Ale stejně jako .h soubory a soubory .c, je tu spousta odlučování věcí, které jsme 1457 01:21:49,070 --> 01:21:49,900 nemusí potřebovat. 1458 01:21:49,900 --> 01:21:54,330 Takže můžeme jen upravit h soubory, nebo někdo může jen vidět h souboru a vím, 1459 01:21:54,330 --> 01:21:57,650 přesně ty funkce, které jsou v .c soubor, aniž by nutně vědět, 1460 01:21:57,650 --> 01:21:58,870 jejich realizace. 1461 01:21:58,870 --> 01:22:02,800 Tato myšlenka oddělování složek že na sobě vzájemně závislé 1462 01:22:02,800 --> 01:22:06,990 ale může nějak přístup k sobě navzájem prostřednictvím různých kanálů, absolvování 1463 01:22:06,990 --> 01:22:09,310 proměnných, jen obsahují prohlášení, věci, 1464 01:22:09,310 --> 01:22:14,440 jako to, že tato zásada pomáhá vytvářet aplikace 1465 01:22:14,440 --> 01:22:17,080 , které mohou být snadněji editoval více lidmi, 1466 01:22:17,080 --> 01:22:20,440 může být více snadno změnit nebo změněna na velkém měřítku, 1467 01:22:20,440 --> 01:22:24,880 a lépe se ladění v mnoha směrech. 1468 01:22:24,880 --> 01:22:28,254 >> Opravdu rychlý, mám několik tipů pro pset7, 1469 01:22:28,254 --> 01:22:31,420 což udělám na celou obrazovku, takže vás nebude jen při pohledu na the-- Tip Tip tipu. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Existuje není tak mnoho tipů. 1472 01:22:35,130 --> 01:22:38,060 >> Ale Zmínil jsem PHP je těžké ladění. 1473 01:22:38,060 --> 01:22:39,290 Dvoulůžkové a třílůžkové zkontrolovat. 1474 01:22:39,290 --> 01:22:41,550 Pokud váš kód je prostě není objevovat na stránce, 1475 01:22:41,550 --> 01:22:46,240 jedná se pravděpodobně o chybu PHP, sorry. 1476 01:22:46,240 --> 01:22:48,570 >> Už nikdy nebudete muset podívat se na CSS, pokud nechcete. 1477 01:22:48,570 --> 01:22:52,150 Ale jakmile budete hotovi, to může být pěkný malý zábavná věc, kterou prostě jít 1478 01:22:52,150 --> 01:22:54,770 a nepořádek s CSS parametry. 1479 01:22:54,770 --> 01:22:58,700 CSS a HTML jsou příkladem modelu pohled regulátor styl věc taky, že jo? 1480 01:22:58,700 --> 01:23:02,150 Ty by mohly mít tagy stylu uvnitř HTML prvků. 1481 01:23:02,150 --> 01:23:04,800 Ale pokud se tak nějak outsourcing je na CSS, 1482 01:23:04,800 --> 01:23:08,180 oni jsou snadnější upravovat a hra kolem a bavit se. 1483 01:23:08,180 --> 01:23:10,816 >> Dopřejte CS50 pomocník funguje jako černé skříňky. 1484 01:23:10,816 --> 01:23:12,940 Nemusíte vědět přesně to, co činí dělá, 1485 01:23:12,940 --> 01:23:16,770 ale věřte, že vždycky právo to v závislosti na tom, co si to projít, 1486 01:23:16,770 --> 01:23:17,690 věci, jako je tento. 1487 01:23:17,690 --> 01:23:21,040 A já bych doporučit sledoval Davida návod, 1488 01:23:21,040 --> 01:23:24,490 procházejí všechny stuff, nejen todos, 1489 01:23:24,490 --> 01:23:26,960 ale opravdu může léčit Tyto jako černé skříňky. 1490 01:23:26,960 --> 01:23:29,280 Nechoďte do těchto Funkce hledá chyby. 1491 01:23:29,280 --> 01:23:33,510 >> A vítají návrat naše vládce Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Skvělý. 1493 01:23:34,010 --> 01:23:40,430 >> Jsou nějaké otázky, než závěrečná jsme se nějak odrazit na den? 1494 01:23:40,430 --> 01:23:42,610 Jsem stále žijí? 1495 01:23:42,610 --> 01:23:44,700 Skvělý. 1496 01:23:44,700 --> 01:23:47,120 Ahoj LiveStream lidí. 1497 01:23:47,120 --> 01:23:47,620 Skvělý. 1498 01:23:47,620 --> 01:23:50,260 Jsou tam ještě otázky? 1499 01:23:50,260 --> 01:23:50,760 Žádný? 1500 01:23:50,760 --> 01:23:52,884 >> A pak jsem si, že jsme dobré jít na dnešek. 1501 01:23:52,884 --> 01:23:55,550 Budu držet kolem trochu později, když lidé měli dotazy 1502 01:23:55,550 --> 01:23:57,480 báli se zeptat na potoku. 1503 01:23:57,480 --> 01:23:59,790 Ale jinak, dobrý den. 1504 01:23:59,790 --> 01:24:01,933