1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Java 8, vazhdoi] 2 00:00:02,000 --> 00:00:04,000 [David J. Malan] [Universiteti i Harvardit] 3 00:00:04,000 --> 00:00:08,000 [Kjo është CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> Kjo është CS50, kështu që kjo është fundi i javës 8 këtu. 5 00:00:13,000 --> 00:00:16,000 Ne natyrisht kishte një grimë e një uragan më herët këtë javë, 6 00:00:16,000 --> 00:00:19,000 në mënyrë të drejtë tani ajo është me të vërtetë vetëm ju dhe mua në këtë sallë leksion, 7 00:00:19,000 --> 00:00:22,000 por sot ne vazhdojmë bisedën tonë në lidhje me PHP 8 00:00:22,000 --> 00:00:25,000 dhe rreth programimit web në përgjithësi, dhe ne gjithashtu të futur idenë 9 00:00:25,000 --> 00:00:29,000 e bazave të të dhënave, veçanërisht ai i quajtur MySQL, e cila është mjaft popullore këto ditë, 10 00:00:29,000 --> 00:00:34,000 në pjesë të madhe për shkak të scalability e saj, si dhe për shkak të saj duke qenë burimi i lirë dhe të hapur. 11 00:00:34,000 --> 00:00:37,000 >> Por së pari, një vështrim në ku ne u ndërpre për herë të fundit. 12 00:00:37,000 --> 00:00:40,000 Kujtojnë se ne kemi qenë në kërkim në disa shembuj Frosh IMS, 13 00:00:40,000 --> 00:00:44,000 dhe kjo ishte forma shëmtuar që kam ardhur me disa 15 vjet + pare 14 00:00:44,000 --> 00:00:49,000 në mënyrë që të kenë studentët në regjistrin kampus për sport fillestar i brendshëm 15 00:00:49,000 --> 00:00:52,000 të vërtetë pa pasur nevojë për të udhëtim nëpër oborr më të Wigglesworth 16 00:00:52,000 --> 00:00:56,000 për rrëshqitje një copë letër fizike nën derën e disa Proctor së. 17 00:00:56,000 --> 00:00:59,000 Në vend të kësaj kemi lëvizur çdo gjë në internet, por për ta bërë këtë ne kemi nevojë për të bërë përdorimin 18 00:00:59,000 --> 00:01:03,000 e një teknologjive pak, kështu që një, kishim nevojë për HTML, HyperText Markup Language, 19 00:01:03,000 --> 00:01:07,000 e cila përsëri është kjo gjuhë markup me të cilin ju e bëni web pages strukturore. 20 00:01:07,000 --> 00:01:10,000 >> Duke përdorur një grimë e CSS këto ditë, Cascading Style Sheets, 21 00:01:10,000 --> 00:01:16,000 ku ne përdorim stylizations e web faqe duke përdorur një sintaksë paksa të ndryshme, 22 00:01:16,000 --> 00:01:19,000 ndërsa HTML ishte e gjitha në lidhje me strukturën e saj. 23 00:01:19,000 --> 00:01:21,000 Ne gjithashtu duhet për të futur një gjuhë programimi web. 24 00:01:21,000 --> 00:01:25,000 Në këtë rast, ne do të përdorim PHP, PHP dhe do të lejojë na 25 00:01:25,000 --> 00:01:28,000 tek përmbajtja dinamike prodhimit si dhe të bëjë gjëra të programatike si 26 00:01:28,000 --> 00:01:33,000 dërguar postë elektronike, siç ishte rasti në shënimin e lamë javën e kaluar. 27 00:01:33,000 --> 00:01:35,000 >> Kujtojnë se kodi për këtë ishte në 2 pjesë. 28 00:01:35,000 --> 00:01:38,000 Një, kemi pasur froshims3.php, 29 00:01:38,000 --> 00:01:42,000 dhe kjo ishte kryesisht markup me një formë të HTML në brendësi të saj, 30 00:01:42,000 --> 00:01:45,000 një grimcë e CSS deri këtu në atributet stil 31 00:01:45,000 --> 00:01:48,000 kështu që forma e vetë do të përqëndruara në faqe, por përtej kësaj 32 00:01:48,000 --> 00:01:51,000 kemi pasur disa inpute përfaqësuese formë, një fushë teksti, një checkbox, 33 00:01:51,000 --> 00:01:55,000 disa radio butonat, zgjidhni një menu, dhe një buton submit. 34 00:01:55,000 --> 00:02:01,000 Dhe nëpërmjet kësaj forme, ne paraqitur një skedar që është quajtur me sa duket register3.php, 35 00:02:01,000 --> 00:02:04,000 e cila në vetvete dukej një diçka të vogël si kjo. 36 00:02:04,000 --> 00:02:08,000 Tani, shumica e kodit në register3.php, kujtohet, ishte e gjitha në lidhje me email. 37 00:02:08,000 --> 00:02:11,000 Ajo bëri një pak e vlefshmërisë së formën që është dorëzuar për të siguruar 38 00:02:11,000 --> 00:02:14,000 se fushat janë dhënë në fakt që pritej. 39 00:02:14,000 --> 00:02:18,000 Pastaj ne e quajti disa funksione PHP përdorur sintaksë pak më të ri, 40 00:02:18,000 --> 00:02:20,000 edhe pse kjo është huazuar nga C. 41 00:02:20,000 --> 00:02:24,000 >> Ky operator shigjetë na lejon për të bërë përdorimin e diçkaje që quhet object-oriented programimit. 42 00:02:24,000 --> 00:02:27,000 Ne nuk do të shkojë në se në çdo hollësi këtu, por e di tani për tani 43 00:02:27,000 --> 00:02:31,000 kjo është një mënyrë për të pasur funksione që lidhen me objekte, 44 00:02:31,000 --> 00:02:34,000 të cilat janë një lloj i veçantë i strukturës, siç e pamë në C. 45 00:02:34,000 --> 00:02:37,000 Por tani për tani, vetëm të marrë në besim se kjo është e saktë për të përdorur sintaksë 46 00:02:37,000 --> 00:02:41,000 kur duke përdorur një bibliotekë si kjo bibliotekë PHPMailer. 47 00:02:41,000 --> 00:02:44,000 Dhe pastaj deri në fund të këtij file kishim gjeneruar dinamike një email 48 00:02:44,000 --> 00:02:47,000 që u dërgua në llogarinë time jharvard@cs50.net 49 00:02:47,000 --> 00:02:50,000 nga llogaria ime jharvard@cs50.net, 50 00:02:50,000 --> 00:02:54,000 dhe ne informoi përdorues në përputhje me rrethanat se ata kishin qenë të regjistruar për këtë sport. 51 00:02:54,000 --> 00:02:57,000 Kjo është shumë e shumë atë vend IMs Frosh bëri të gjitha ato vite më parë 52 00:02:57,000 --> 00:03:00,000 kur kam zbatuar atë, dhënë, në një gjuhë të ndryshme, 53 00:03:00,000 --> 00:03:02,000 por kjo ju tregon ndoshta fuqinë që ju keni 54 00:03:02,000 --> 00:03:05,000 tani që ju mund të shprehin veten, jo vetëm programatikisht 55 00:03:05,000 --> 00:03:08,000 në një nivel të ulët në një gjuhë si C, por në një nivel shumë më të lartë 56 00:03:08,000 --> 00:03:11,000 me këto aplikime shumë reale botërore si email në fakt zgjidhur 57 00:03:11,000 --> 00:03:13,000 disa probleme të botës reale. 58 00:03:13,000 --> 00:03:16,000 >> Tani, sigurisht, edhe pse unë përdorur këtë script për të gjeneruar disa 59 00:03:16,000 --> 00:03:20,000 email dinamike nga jharvard@cs50.net, e cila është me të vërtetë një llogari 60 00:03:20,000 --> 00:03:23,000 që unë të kenë qasje në, do të jetë mjaft i kujdesshëm për të dërguar 61 00:03:23,000 --> 00:03:26,000 Dërgoja vetëm nga llogaritë që janë të vërtetë tuaj, 62 00:03:26,000 --> 00:03:30,000 mos gjëra të merrni ju në një grimë e ujit të nxehtë në jetë. 63 00:03:30,000 --> 00:03:35,000 Me tha se, tani le të tranzicionit për të zgjidhur një problem të ndryshme krejt, 64 00:03:35,000 --> 00:03:37,000 se mbajtja e shteteve. 65 00:03:37,000 --> 00:03:39,000 Tani, çfarë e bën këtë të vërtetë do të thotë? 66 00:03:39,000 --> 00:03:42,000 HTTP, ky protokoll transferimi HyperText, 67 00:03:42,000 --> 00:03:45,000 është në fakt një protokoll pa shtetësi, dhe çka kjo do të thotë është se 68 00:03:45,000 --> 00:03:48,000 kur ju tërheq lart diçka si Google.com dhe pastaj goditi të hyjë 69 00:03:48,000 --> 00:03:51,000 zakonisht shfletuesi juaj ka disa lloj ikonë tjerrje që pastaj 70 00:03:51,000 --> 00:03:54,000 rezulton në disa web faqe duke u shkarkuar, 71 00:03:54,000 --> 00:03:57,000 dhe pastaj se ikona pak ndalesa tjerrje, dhe se me të vërtetë sugjeron 72 00:03:57,000 --> 00:04:02,000 HTTP që ka përfunduar një lloj lidhje me server dhe kjo është ajo. 73 00:04:02,000 --> 00:04:05,000 HTTP është pa shtetësi në kuptimin që ajo nuk mban 74 00:04:05,000 --> 00:04:08,000 një lidhje të vazhdueshme në server në të njëjtën mënyrë e bën Skype 75 00:04:08,000 --> 00:04:11,000 ose Gchat bën, sepse me HTTP 76 00:04:11,000 --> 00:04:15,000 supozimi është se një herë ju keni sjellë një web faqe që është ajo. 77 00:04:15,000 --> 00:04:18,000 >> Tani, në realitet këto ditë në faqet si Facebook dhe Google Maps 78 00:04:18,000 --> 00:04:21,000 dhe Twitter dhe si ka dinamizëm shumë më tepër ku 79 00:04:21,000 --> 00:04:25,000 edhe pasi që ndalon ikona tjerrje ju në fakt mund të merrni përditësimet më shumë 80 00:04:25,000 --> 00:04:29,000 nga serveri, tweets më shumë, më shumë updates statusit në Facebook dhe si. 81 00:04:29,000 --> 00:04:33,000 Por edhe që është duke përdorur një teknikë që ne do të flasim në një javë ose dy 82 00:04:33,000 --> 00:04:36,000 njohur si Ajax duke përdorur një gjuhë të quajtur JavaScript, 83 00:04:36,000 --> 00:04:38,000 por në fund të ditës, HTTP është ende pa shtetësi. 84 00:04:38,000 --> 00:04:42,000 Dhe akoma në qoftë se ju doni të mbani mend disi gjërat në lidhje me një përdorues 85 00:04:42,000 --> 00:04:44,000 edhe pasi ata kanë shkyçur nga serveri juaj 86 00:04:44,000 --> 00:04:47,000 PHP bën të përballojë ju një mjet për të bërë këtë 87 00:04:47,000 --> 00:04:52,000 sepse, siç e pamë herën e fundit, PHP ka një numër të superglobals, 88 00:04:52,000 --> 00:04:55,000 dhe një superglobal është, përsëri, një variabël të veçantë globale 89 00:04:55,000 --> 00:04:59,000 që është dorëzuar për ju nga serveri web dhe nga PHP vetë. 90 00:04:59,000 --> 00:05:02,000 >> Ju nuk keni të bëni asgjë për të vënë vlerat në të, 91 00:05:02,000 --> 00:05:05,000 dhe në mesin e superglobals ne kemi parë deri më tani janë marrë dhe pas, 92 00:05:05,000 --> 00:05:08,000 i cili është ku fusha formë janë vënë automatikisht për ju, 93 00:05:08,000 --> 00:05:11,000 si dhe një çift të tjerëve që ne nuk kemi parë ende. 94 00:05:11,000 --> 00:05:17,000 Brenda $ _server janë disa variabla të veçanta që lidhen me serverin vetë. 95 00:05:17,000 --> 00:05:22,000 Çfarë është adresa IP, çfarë protokolli, HTTP HTTPS, ose keni përdorur, 96 00:05:22,000 --> 00:05:25,000 çfarë metodë Kërkesa keni përdorur dhe si, kështu që ka disa interesante, 97 00:05:25,000 --> 00:05:29,000 Detajet lëng rreth serverit, dhe në fakt, përdoruesit në atje si. 98 00:05:29,000 --> 00:05:33,000 Ka $ _cookie, i cili është ku këto gjëra quhet cookies janë ruajtur. 99 00:05:33,000 --> 00:05:36,000 Ne nuk do të kalojnë kohë në cookie veten sot, 100 00:05:36,000 --> 00:05:40,000 por e di tani për tani që një cookie është vetëm një pjesë e vogël e informacionit 101 00:05:40,000 --> 00:05:43,000 se një web server mund të bimëve në një shfletues web 102 00:05:43,000 --> 00:05:46,000 dhe nga ana e saj RAM ose hard drive e kompjuterit të saj 103 00:05:46,000 --> 00:05:49,000 për të ruajtur informacion në lidhje me një përdorues, për shembull, emrin e tyre të përdoruesit 104 00:05:49,000 --> 00:05:52,000 në mënyrë që ata nuk duhet të shkruani atë në çdo kohë që ata Identifikohu ose disa 105 00:05:52,000 --> 00:05:55,000 numër unik identifikues për atë apo përdoruesit 106 00:05:55,000 --> 00:05:58,000 kështu që ju nuk duhet të ngacmojnë ata me të njëjtat lloje të pyetjeve rreth 107 00:05:58,000 --> 00:06:00,000 preferencat në të ardhmen, por shumica e interesit 108 00:06:00,000 --> 00:06:02,000 tani është $ _session. 109 00:06:02,000 --> 00:06:07,000 >> Ky superglobal, i cili, ashtu si të tjerët, është dorëzuar për ju automatikisht nga PHP 110 00:06:07,000 --> 00:06:10,000 kur ju jeni shkrim PHP-bazë faqet e internetit 111 00:06:10,000 --> 00:06:13,000 mund të ruajë çdo gjë që ju dëshironi, vargjet, integers, 112 00:06:13,000 --> 00:06:16,000 pikë lundrues, vlerat, vargjeve, objekte, 113 00:06:16,000 --> 00:06:20,000 me të vërtetë çdo gjë që ju doni, dhe kjo ju lejon të ruani atë në një mënyrë të tillë 114 00:06:20,000 --> 00:06:23,000 se edhe nëse përdoruesi viziton ju tani dhe pastaj 115 00:06:23,000 --> 00:06:26,000 kthehet një minutë nga tani ose 5 minuta nga tani, sepse 116 00:06:26,000 --> 00:06:28,000 ata e marrin kohën e tyre para se ta klikoni disa lidhje tjetër 117 00:06:28,000 --> 00:06:32,000 PHP do të sigurojë që çdo gjë që ju vënë në këtë sesion superglobal 118 00:06:32,000 --> 00:06:37,000 minuta apo 5 minuta më parë do të jenë ende atje kur kthimit përdorues. 119 00:06:37,000 --> 00:06:40,000 Dhe nën kapuç kjo superglobal zbatohet me anë të 120 00:06:40,000 --> 00:06:44,000 këto gjëra quhet cookies, por tani për tani, kjo është vetëm një abstraksion 121 00:06:44,000 --> 00:06:47,000 ku kjo është lloj i ekuivalent programatik të një karrocë pazar. 122 00:06:47,000 --> 00:06:50,000 Çfarëdo që ju, programues, që vënë në 123 00:06:50,000 --> 00:06:53,000 array superglobal associative do të jetë atje disa minuta më vonë numri i 124 00:06:53,000 --> 00:06:59,000 derisa ju të fshini apo derisa përdoruesi shpërblej shfletuesin tij ose të saj krejt. 125 00:06:59,000 --> 00:07:02,000 >> Le të marrin një vështrim në një shembull se si kjo gjë është përdorur në të vërtetë. 126 00:07:02,000 --> 00:07:07,000 Në mesin e counter.php copa sotme të kodit 127 00:07:07,000 --> 00:07:09,000 ne kemi rreshtin e mëposhtëm. 128 00:07:09,000 --> 00:07:13,000 Në fillim të këtij file ne kemi një bandë e komenteve blu, të cilat janë jointeresant për tani. 129 00:07:13,000 --> 00:07:15,000 Por në linjë 13 ne kemi një linjë të re, 130 00:07:15,000 --> 00:07:18,000 session_start, dhe që në fakt e bën pikërisht atë që ajo thotë. 131 00:07:18,000 --> 00:07:20,000 Ajo fillon seanca. 132 00:07:20,000 --> 00:07:25,000 Kjo ju mundëson që të përdorin atë madh superglobal _session $, dhe ajo është aq e thjeshtë sa që. 133 00:07:25,000 --> 00:07:30,000 Tani, në qoftë se ne të vazhdojë të shikojmë në linjë 16, le të përpiqet të kuptoj se çfarë kjo web faqe do të bëjë. 134 00:07:30,000 --> 00:07:35,000 If (isset ($ _SESSION ["kundër"]) pastaj të shkojnë përpara 135 00:07:35,000 --> 00:07:39,000 dhe dyqan në variablin counter, kundër të vogla, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["Kundër"]. 137 00:07:42,000 --> 00:07:45,000 Kjo duket të jetë deklaruar një ndryshore të quajtur lokal counter 138 00:07:45,000 --> 00:07:48,000 brenda e cila është e vënien e një kopje të çfarëdo është brenda i superglobal 139 00:07:48,000 --> 00:07:52,000 Seanca quajtur në lokalitetin "kundër". 140 00:07:52,000 --> 00:07:56,000 Tjetër, me sa duket, kjo pak counter lokale ndryshueshme, është nisur në 0. 141 00:07:56,000 --> 00:08:01,000 >> Por pastaj disa rreshta më vonë në 26 njoftimin se kopja seancës i banak, 142 00:08:01,000 --> 00:08:06,000 kryesore të saj, ka një vlerë të caktuar të re e cila është vlera e tij aktuale plus 1. 143 00:08:06,000 --> 00:08:09,000 Me pak fjalë, kjo fotografi duket të jetë përditësimin 144 00:08:09,000 --> 00:08:13,000 një kundër që është ruajtur në brendësi të seancës superglobal 145 00:08:13,000 --> 00:08:16,000 by bën rritjen atë me 1, por ai së pari ruan një kopje të vlerës së mëparshme 146 00:08:16,000 --> 00:08:20,000 me ruajtjen atë në një ndryshore të quajtur $ lokal kundër, 147 00:08:20,000 --> 00:08:22,000 dhe pastaj këtu poshtë le të shohim se çfarë mbetet. 148 00:08:22,000 --> 00:08:24,000 Ajo rezulton se është shumë e shumë të vetëm HTML. 149 00:08:24,000 --> 00:08:29,000 Në fund të kësaj faqeje shohim në linjë 37 që unë kam vizituar këtë faqe 150 00:08:29,000 --> 00:08:33,000 Numri counter herë, kështu që nuk ka karakteristika çift interesante këtu. 151 00:08:33,000 --> 00:08:36,000 Një, kjo është në mënyrë të qartë një ndryshore, por kjo nuk do të mjaftojë vetëm për të vënë 152 00:08:36,000 --> 00:08:39,000 $ Counter në trupin e HTML tuaj për shkak të kursit 153 00:08:39,000 --> 00:08:43,000 në qoftë se ajo është vetëm atje në mes HTML PHP tuaj do të supozojmë se është vetëm HTML. 154 00:08:43,000 --> 00:08:48,000 Ju fjalë për fjalë dëshironi $ në kundërshtim me të shtypen në ekran. 155 00:08:48,000 --> 00:08:51,000 >> Por në vend duke rënë në mënyrë PHP 156 00:08:51,000 --> 00:08:55,000 me këtë pjesë të sintaksës ne mund të futur një vlerë dinamike këtu 157 00:08:55,000 --> 00:08:58,000 shumë e ngjashme në frymë me atë që ne e bëmë herën e fundit me 158 00:08:58,000 --> 00:09:00,000 futur vlerat në vargjet. 159 00:09:00,000 --> 00:09:04,000 Në fakt, kjo është vetëm një simbol stenografi për të thënë diçka si kjo fjalë për fjalë, 160 00:09:04,000 --> 00:09:12,000 print ($ counter) ose edhe diçka si (% s, counter) printf, 161 00:09:12,000 --> 00:09:14,000 apo edhe, si ju mund të keni parë në internet apo në tekstet, 162 00:09:14,000 --> 00:09:17,000 ka një funksion të quajtur në PHP echo 163 00:09:17,000 --> 00:09:20,000 e cila e bën të njëjtën gjë, dhe të gjitha ato janë mënyra vetëm gjatë lodhshëm 164 00:09:20,000 --> 00:09:25,000 për të thënë 00:09:28,000 Në këtë rast një që ju nuk keni nevojë për të vënë 166 00:09:28,000 --> 00:09:30,000 PHP fjala pas pikëpyetje. 167 00:09:30,000 --> 00:09:34,000 Kjo është simbol stenografi për të, përsëri, ajo që ne pamë vetëm një moment më parë 168 00:09:34,000 --> 00:09:37,000 e cila është duke i bërë jehonë disa vlera. 169 00:09:37,000 --> 00:09:39,000 >> Le të shohim se çfarë rezultati përfundimtar i kësaj të vërtetë është. 170 00:09:39,000 --> 00:09:43,000 Më lejoni të shkoj në counter.php dosjen tonë, 171 00:09:43,000 --> 00:09:47,000 dhe ne do të shohim se Davidi sapo bërë një gabim duke luajtur me kodin atje. 172 00:09:47,000 --> 00:09:50,000 Le të shkojë çdo gjë që ai fix dehur, 173 00:09:50,000 --> 00:09:54,000 dhe gabimi duket të jetë atje, shkuar, on line 37. 174 00:09:54,000 --> 00:09:59,000 Sipas krye të kësaj faqeje kam vizituar këtë faqe 0 herë. 175 00:09:59,000 --> 00:10:02,000 E pra, le të shkojnë përpara tani, dhe në krye të shfletuesit klikoni mbi 176 00:10:02,000 --> 00:10:05,000 ringarkoni ikonë, dhe unë klikoni rifreskoni, 177 00:10:05,000 --> 00:10:12,000 dhe tani kam vizitoi 1 kohë faqe, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 Dhe me të vërtetë, nëse ne shikojmë në burim të kësaj faqeje kodi aktual burimi po ndryshon, 179 00:10:16,000 --> 00:10:19,000 dhe njoftim mungesën e plotë të çdo PHP, dhe kjo është për shkak se 180 00:10:19,000 --> 00:10:23,000 Kodi PHP është vlerësuar apo interpretuar anën e serverit, 181 00:10:23,000 --> 00:10:27,000 dhe kështu që do të thotë se prodhimi i shkrimit PHP është ajo që është dërguar në fund të shfletuesit, 182 00:10:27,000 --> 00:10:31,000 e cila në këtë rast është një HTML papërpunuara dhe disa tekst të papërpunuara. 183 00:10:31,000 --> 00:10:33,000 Çfarë po ndodh këtu? 184 00:10:33,000 --> 00:10:37,000 >> E pra, me vija të kodit relativisht pak unë jam në gjendje për të ruajtur 185 00:10:37,000 --> 00:10:40,000 vazhdimisht gjatë rrjedhës së disa sekonda, ose në qoftë se ne e pritur kohë të mjaftueshme, 186 00:10:40,000 --> 00:10:44,000 minuta, orë, madje edhe disa vlera në një mënyrë që e bën HTTP 187 00:10:44,000 --> 00:10:47,000 stateful duket sikur ne kemi mbajtur 188 00:10:47,000 --> 00:10:51,000 kjo lidhje në server, dhe kjo është vetëm duke kujtuar atë që kam thënë atë për herë të fundit, 189 00:10:51,000 --> 00:10:55,000 por në realitet ka një bandë e tërë e kompleksitetit ndodh nën kapuç 190 00:10:55,000 --> 00:10:59,000 duke përfshirë biskota që është mundësuar PHP për të dhënë mua këtë iluzion 191 00:10:59,000 --> 00:11:02,000 i këtij karrocat-si funksion. 192 00:11:02,000 --> 00:11:05,000 Tani për tani, një shembull i vogël ku ne jemi vetëm ruajtjen e një numër të plotë, 193 00:11:05,000 --> 00:11:08,000 por që tipar do të kthehet të jetë me vlerë të madhe 194 00:11:08,000 --> 00:11:10,000 kur ne fillojmë të flasim në lidhje me projektet më komplekse, 195 00:11:10,000 --> 00:11:12,000 mes tyre problemi vendosur 7. 196 00:11:12,000 --> 00:11:16,000 Ky është problemi juaj e fundit shumë e vendosur në CS50. 197 00:11:16,000 --> 00:11:19,000 Unë e di, kjo është aq e trishtuar, por ajo që ju do të gjeni është se ne jemi duke shkuar për të përfunduar 198 00:11:19,000 --> 00:11:22,000 kjo pjesë e semestrit me të vërtetë në tranzicion 199 00:11:22,000 --> 00:11:25,000 nga konteksti i C sigurisht në kontekstin e PHP 200 00:11:25,000 --> 00:11:27,000 por duke përdorur disa nga bazat shumë të njëjtat 201 00:11:27,000 --> 00:11:29,000 ne kemi biseduar rreth për disa kohë. 202 00:11:29,000 --> 00:11:33,000 >> Qëllimi me pset 7 është për të zbatuar CS50 Financave, 203 00:11:33,000 --> 00:11:37,000 i cili është versioni juaj i Yahoo Financave ose Google Financave 204 00:11:37,000 --> 00:11:40,000 apo edhe Etrade.com ku ju keni mundësinë për të 205 00:11:40,000 --> 00:11:43,000 shikoni çmimet e aksioneve për simbole të caktuara, por edhe më shumë se kaq 206 00:11:43,000 --> 00:11:48,000 ju keni mundësinë për të "blerë" dhe "shesin" rezervat 207 00:11:48,000 --> 00:11:51,000 që janë të tregtohen në bursat e ndryshme për shkak se si kësaj faqe në shtëpi 208 00:11:51,000 --> 00:11:55,000 këtu sugjeron, e cila është me të vërtetë shkalla në të cilën ne kemi filluar 209 00:11:55,000 --> 00:11:59,000 Vendosur problem për ju, ju keni një formë login që është duke kërkuar për një emër përdoruesi dhe një fjalëkalim. 210 00:11:59,000 --> 00:12:03,000 Ajo ka një buton të paraqesë, por më pas, si ne do të shohim përfundimisht, 211 00:12:03,000 --> 00:12:06,000 nuk ka asgjë të vërtetë ndodh nën kapuç ende, sepse ajo 212 00:12:06,000 --> 00:12:09,000 mbetet për ju për të zbatuar aftësinë për të regjistruar përdoruesit e rinj, 213 00:12:09,000 --> 00:12:12,000 aftësia për të blerë aksione, për të shitur aksione, 214 00:12:12,000 --> 00:12:14,000 që në fakt shikoni çmimet aktuale të aksioneve. 215 00:12:14,000 --> 00:12:17,000 >> Dhe në të vërtetë, kjo do të jetë aq botën reale të jetë e mundur, sepse ne e bëmë 216 00:12:17,000 --> 00:12:20,000 përfshijë një grimë e kodit që do t'ju lejojë me një funksion të vetme 217 00:12:20,000 --> 00:12:25,000 tek query Yahoo Financave, i cili mrekullisht i bën të dhënat në dispozicion falas 218 00:12:25,000 --> 00:12:31,000 për të shikuar deri çmimet e aksioneve në bazë të aksioneve ose simbol simbol Tiker, 219 00:12:31,000 --> 00:12:34,000 dhe ju merrni mbrapa çmimin aktual të aksioneve të ditës. 220 00:12:34,000 --> 00:12:37,000 Të dhënat që ju jeni në të vërtetë duke parë në këtë pset të veçantë do të jetë 221 00:12:37,000 --> 00:12:40,000 për sa botës reale si ajo mund të merrni në mënyrë që ju jeni në të vërtetë interfacing 222 00:12:40,000 --> 00:12:43,000 me aksione reale botërore, çmimet e pasurive botërore, 223 00:12:43,000 --> 00:12:47,000 dhe ne do të shohim se sa para ju mund të bëni ndoshta 224 00:12:47,000 --> 00:12:51,000 gjatë disa ditëve të ardhshme të luajtur me grup tuaj problemit. 225 00:12:51,000 --> 00:12:55,000 >> Por le të parë të vendosur bazat për mënyrën se si për të hartuar diçka që është sigurisht më e komplikuar 226 00:12:55,000 --> 00:12:59,000 se counter.php, që është më e komplikuar se çdo të shembujve IMS Frosh deri tani, 227 00:12:59,000 --> 00:13:02,000 dhe le të përpiqemi për të futur një paradigmat disa këtu që të na lejojë 228 00:13:02,000 --> 00:13:06,000 si për pset 7 dhe ndoshta për projektin tuaj përfundimtar, nëse ju bëni diçka të bazuar web 229 00:13:06,000 --> 00:13:11,000 për të mbajtur kodin tuaj të organizuar mirë, për të mbajtur veten arsyeshëm, 230 00:13:11,000 --> 00:13:15,000 dhe për të marrë një hap drejt bashkëpunon, qoftë në projektin përfundimtar CS50 së 231 00:13:15,000 --> 00:13:18,000 ose përtej nëse ju vazhdoni të programit diçka në të ardhmen. 232 00:13:18,000 --> 00:13:21,000 Nuk është kjo paradigmë e përgjithshme dizajn 233 00:13:21,000 --> 00:13:24,000 në shkenca kompjuterike dhe në zhvillimin e softuerit në përgjithësi 234 00:13:24,000 --> 00:13:27,000 njohur si modeli MVC, kontrollues, pamje 235 00:13:27,000 --> 00:13:30,000 dhe kjo është një akronim i trashë që përshkruan një ide shumë të bukur, 236 00:13:30,000 --> 00:13:34,000 e cila është ndarja e aspekteve të ndryshme të programit, 237 00:13:34,000 --> 00:13:39,000 veçanërisht duke mbajtur logjikën e veçantë apo logjikën e biznesit të një faqe interneti 238 00:13:39,000 --> 00:13:42,000 në mënyrë që çdo gjë që përfshin gjëra të tilla si 239 00:13:42,000 --> 00:13:45,000 thirrje funksionet dhe querying bazave të të dhënave dhe si 240 00:13:45,000 --> 00:13:48,000 ndodh nuk është në mesin tuaj HTML 241 00:13:48,000 --> 00:13:51,000 por në fotografi të veçanta, dhe në të vërtetë, nuk është kjo një skedar 242 00:13:51,000 --> 00:13:54,000 zakonisht që ju kanë bërë thirrje kontrollues 243 00:13:54,000 --> 00:13:56,000 kjo është me të vërtetë truri pas operacionit, dhe ne do të shohim një shembull 244 00:13:56,000 --> 00:13:58,000 kjo vetëm në një moment. 245 00:13:58,000 --> 00:14:01,000 >> Ka një model i cili është programimin kodin 246 00:14:01,000 --> 00:14:05,000 që bën të flasin për bazat e të dhënave tuaja, që flet për Yahoo Financave dhe si, 247 00:14:05,000 --> 00:14:08,000 dhe pastaj nuk ka V në MVC, pikëpamjet, 248 00:14:08,000 --> 00:14:11,000 të gjitha stuff që është e lidhur me estetikë, fotografi që në fakt përmbajnë 249 00:14:11,000 --> 00:14:14,000 HTML tuaj, ndoshta CSS tuaj dhe si. 250 00:14:14,000 --> 00:14:17,000 Ideja këtu, pasi kete foto sugjeron, është se kontrollues 251 00:14:17,000 --> 00:14:21,000 është file, si ne së shpejti do të shihni dhe si ju do të shihni në veçanti pset 7, 252 00:14:21,000 --> 00:14:24,000 se bota flet me anë të shfletuesit të tyre të internetit. 253 00:14:24,000 --> 00:14:27,000 Kjo është skedari që merr vizituar në internet publik, 254 00:14:27,000 --> 00:14:30,000 por kontrollues flet për një model potencialisht, 255 00:14:30,000 --> 00:14:34,000 cila është një ose më shumë fotografi të tjera që përmbajnë kodin e lidhur tek dhëna, 256 00:14:34,000 --> 00:14:37,000 Kodi lidhur me bazat e të dhënave dhe si, dhe pastaj ajo flet për 257 00:14:37,000 --> 00:14:40,000 kontrollues një ose më shumë fotografi të tjera të njohura si pamje, 258 00:14:40,000 --> 00:14:43,000 cilat janë estetikë e një faqe web templates, në terezi, 259 00:14:43,000 --> 00:14:47,000 që mund të marrë disa të dhëna si input, por në fund të ditës 260 00:14:47,000 --> 00:14:50,000 logjika vetëm brenda një pikëpamje duhet të jetë pasqyrim i të dhënave që, 261 00:14:50,000 --> 00:14:53,000 iterating mbi një lak dhe në fakt pështyrë nga disa 262 00:14:53,000 --> 00:14:56,000 HTML-bazë interpretim të tij apo edhe diçka si një PDF. 263 00:14:56,000 --> 00:14:59,000 >> Çfarë është e bukur për MVC është se ju mund të ketë pikëpamje të ndryshme 264 00:14:59,000 --> 00:15:02,000 bazuar në llojin e pajisjes, duke u bazuar në llojin e format file që ju të vërtetë 265 00:15:02,000 --> 00:15:04,000 duan të tregojnë të përdoruesit. 266 00:15:04,000 --> 00:15:10,000 Le të marrin një vështrim në disa shembuj gjithnjë e më komplekse dhe të dizajnuara mirë 267 00:15:10,000 --> 00:15:13,000 duke filluar së pari me versionin 0 këtu. 268 00:15:13,000 --> 00:15:16,000 Më lejoni të shkojnë përpara dhe të hapur deri në MVC directory tonë sot 269 00:15:16,000 --> 00:15:21,000 një file të quajtur index.php në directory 0. 270 00:15:21,000 --> 00:15:26,000 Njoftim kjo është një website super e thjeshtë dhe shumë underwhelming 271 00:15:26,000 --> 00:15:29,000 kjo është lloj i versionit të një 0 për faqen CS50, 272 00:15:29,000 --> 00:15:32,000 dhe njoftim se si ne kemi një lidhje për Lectures, ne kemi një lidhje me planin mësimor, 273 00:15:32,000 --> 00:15:35,000 dhe në qoftë se unë ndiqni lidhjen për të ligjëratave njoftim se URL 274 00:15:35,000 --> 00:15:39,000 deri lartë do të ndryshojë për të lectures.php. 275 00:15:39,000 --> 00:15:44,000 Nëse unë atëherë ndiqni lidhjen për 1 Week njoftim se ndryshimet URL në week1.php. 276 00:15:44,000 --> 00:15:46,000 Nuk duket të jetë një strukturë mjaft e thjeshtë hierarkik këtu. 277 00:15:46,000 --> 00:15:49,000 >> Le të marrin një vështrim të shpejtë nën kapuç se si kjo është hedhur jashtë, 278 00:15:49,000 --> 00:15:53,000 dhe në të vërtetë, në qoftë se unë shoh index.php kjo është shumë e thjeshtë. 279 00:15:53,000 --> 00:15:57,000 Në fakt, edhe pse unë e quajti këtë një skedar PHP nuk ka kodin aktual programimit. 280 00:15:57,000 --> 00:16:01,000 Ka një koment që kam shkruar këtu në PHP vetëm kështu përdoruesi nuk përfundojnë duke parë atë. 281 00:16:01,000 --> 00:16:05,000 Natyrisht, si më parë, çdo gjë që është në mes tags PHP 282 00:16:05,000 --> 00:16:08,000 merr interpretuar, edhe në qoftë se kjo është një koment, dhe për të interpretuar një koment 283 00:16:08,000 --> 00:16:11,000 do të thotë vetëm për të hedhur atë larg në fund të ditës dhe në të vërtetë nuk 284 00:16:11,000 --> 00:16:15,000 dërgoni atë në shfletuesin, kështu që çdo gjë këtu është vetëm estetikë. 285 00:16:15,000 --> 00:16:20,000 Nëse unë i hapur deri të ngjashme lectures.php kjo shumë është vetëm një file të vështirë koduar. 286 00:16:20,000 --> 00:16:23,000 Kjo ndodh të quhet diçka. Php, 287 00:16:23,000 --> 00:16:27,000 por kjo është me të vërtetë vetëm. html, dhe week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 ngjashme janë vetëm Markup, kështu që nuk ka një bandë e mangësitë e këtij projektimit. 289 00:16:31,000 --> 00:16:33,000 Një, kjo është një sasi të madhe të kopje / paste. 290 00:16:33,000 --> 00:16:37,000 Edhe pse e vetmja gjë që ndryshon është në mesin e këtyre dosjeve është lista e parenditur, 291 00:16:37,000 --> 00:16:41,000 tags li, unë megjithatë kanë lloj DOC, HTML, kreu, 292 00:16:41,000 --> 00:16:44,000 Titulli, trupi ngushtë, të ngushtë HTML dhe më shumë 293 00:16:44,000 --> 00:16:47,000 në çdo skedë të vetme, që do të thotë se në qoftë se unë ndonjëherë të dëshironi të ristrukturuar 294 00:16:47,000 --> 00:16:50,000 kjo web faqe apo restylize atë që unë duhet të shkoj në dhe për të ndryshuar 295 00:16:50,000 --> 00:16:54,000 të gjitha këto fotografi me dorë ose me disa masive të gjeni dhe të zëvendësojë. 296 00:16:54,000 --> 00:17:01,000 >> Le të marrin një hap drejt një dizajn të zgjuar, më të menduar në versionin e 1 këtu 297 00:17:01,000 --> 00:17:04,000 ku si për të lexuar mua se ne kemi përfshirë në mënyrë që ju mund të luajë së bashku me 298 00:17:04,000 --> 00:17:07,000 këto më nge në njoftim shtëpi që ne kemi këtu 299 00:17:07,000 --> 00:17:10,000 një përmbledhje e dosjeve në version 1 të kësaj faqeje, 300 00:17:10,000 --> 00:17:13,000 dhe duket se unë kam marrë atë me veten për të faktor jashtë 301 00:17:13,000 --> 00:17:17,000 Kodi disa zakonshme, header.php dhe footer.php. 302 00:17:17,000 --> 00:17:20,000 E pra, le të marrin një vështrim në atë që është brenda i pari nga ata. 303 00:17:20,000 --> 00:17:23,000 Header.php duket e njohur, 304 00:17:23,000 --> 00:17:26,000 por vini re, ku e bën atë të marrë të prerë? 305 00:17:26,000 --> 00:17:30,000 Menjëherë pas linjës 19, kështu që kjo është çdo gjë që ishte e zakonshme 306 00:17:30,000 --> 00:17:33,000 nga index.php Fotografi, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 dhe week2.php nga shembullin e mëparshëm. 308 00:17:36,000 --> 00:17:40,000 Ajo që unë nuk ishte kopje e prerë dhe gjithçka që ishte e përbashkët për të gjitha ato fotografi, 309 00:17:40,000 --> 00:17:44,000 vënë atë në një skedar të veçantë header, dhe në mënyrë të ngjashme në footer.php 310 00:17:44,000 --> 00:17:48,000 nuk kam zbatuar të njëjtin parim të cilin të vetmet linja interesante 311 00:17:48,000 --> 00:17:52,000 në footer.php janë këto dy, trupi i afërt dhe HTML ngushtë. 312 00:17:52,000 --> 00:17:55,000 >> Por çfarë do të thotë kjo që tani është në versionin e ri 313 00:17:55,000 --> 00:17:59,000 e njoftimit index.php sa të thjeshta mund të merrni. 314 00:17:59,000 --> 00:18:02,000 Dhënë, pak më shumë në kërkim të fshehtë, një më pak intuitiv 315 00:18:02,000 --> 00:18:06,000 lartë për të ndjekur deri në fund, por Perëndia im, të gjithë atë tepricë është zhdukur tani. 316 00:18:06,000 --> 00:18:10,000 Ne të kërkojë përdorimin e një funksion PHP quajtur fjalë të kërkojë deri të lartë, 317 00:18:10,000 --> 00:18:15,000 e cila është shumë e kujton, kujtoj, e të C # include mekanizëm. 318 00:18:15,000 --> 00:18:17,000 Ne të kërkojë header.php në krye. 319 00:18:17,000 --> 00:18:20,000 Ne të kërkojë footer.php në fund, dhe e vetmja gjë që është e ndryshme 320 00:18:20,000 --> 00:18:25,000 ose të veçantë në lidhje me këtë skedë është përmbajtje e cila është menduar të jetë unik për të. 321 00:18:25,000 --> 00:18:29,000 Nëse unë atëherë shkoni në, të themi, lectures.php, njëjti parim vlen. 322 00:18:29,000 --> 00:18:32,000 Përsëri, disa komente up krye, por pastaj kam kërkojnë header, footer kërkojnë, 323 00:18:32,000 --> 00:18:35,000 dhe në mes është vetëm përmbajtje që ka ndryshuar në të vërtetë. 324 00:18:35,000 --> 00:18:38,000 Dhe në qoftë se kemi shikuar në Java 1 Java 2 dhe ne do të shohim 325 00:18:38,000 --> 00:18:42,000 se i njëjti parim ishte zbatuar atje. 326 00:18:42,000 --> 00:18:44,000 E pra, ne nuk jeni bërë mjaft atje. 327 00:18:44,000 --> 00:18:48,000 >> Le të marrin një vështrim në versionin 2, i cili ka një strukturë të ngjashme, 328 00:18:48,000 --> 00:18:50,000 por vëreni tani unë kam futur diçka tjetër. 329 00:18:50,000 --> 00:18:53,000 10 Në përputhje kam futur helpers.php, 330 00:18:53,000 --> 00:18:55,000 që me sa duket përmban funksione ndihmëtar. 331 00:18:55,000 --> 00:18:58,000 Një funksion ndihmës në përgjithësi është një funksion relativisht të shkurtër 332 00:18:58,000 --> 00:19:01,000 që ju të shkruani për t'ju ndihmuar jashtë në vende të ndryshme, 333 00:19:01,000 --> 00:19:04,000 dhe le të shohim se çfarë është brenda helpers.php. 334 00:19:04,000 --> 00:19:07,000 Në këtë rast, ajo duket si ajo ka 2 funksione. 335 00:19:07,000 --> 00:19:10,000 Kujtojnë nga dita tjetër me shembullin tonë kubike 336 00:19:10,000 --> 00:19:13,000 ju mund të përcaktojë funksionet tuaja në PHP, dhe atë që unë kam bërë tani është që unë kam 337 00:19:13,000 --> 00:19:17,000 Funksionet e përcaktuara quajtur bëjnë futboll dhe bëjnë header, 338 00:19:17,000 --> 00:19:21,000 e parë e cila merr një parametër të quajtur të dhënave, 339 00:19:21,000 --> 00:19:25,000 të cilit vlera e parazgjedhur është një rrjet bosh, siç sugjerohet atje, 340 00:19:25,000 --> 00:19:29,000 dhe ne fakt mund të shkruaj këtë edhe më shumë shkurtimisht në versionin e fundit të PHP 341 00:19:29,000 --> 00:19:32,000 duke thënë hapur kllapa katrore, mbyllet kllapa katrore. 342 00:19:32,000 --> 00:19:35,000 Kjo do të thotë një rrjet bosh të madhësisë 0 por megjithatë një koleksion. 343 00:19:35,000 --> 00:19:38,000 >> Ky funksion ekstrakt është pak e veçantë në atë që 344 00:19:38,000 --> 00:19:41,000 atë që nuk është ajo e merr si argument të saj një grup shoqerues 345 00:19:41,000 --> 00:19:45,000 që ka 0 ose më shumë palë kyçe vlerë, dhe në qoftë se ju keni një çelës të foo 346 00:19:45,000 --> 00:19:48,000 dhe një vlerë e bar funksionit ekstrakt 347 00:19:48,000 --> 00:19:51,000 krijon një situatë në të cilën tani, si e linjës 11, 348 00:19:51,000 --> 00:19:57,000 ju keni një ndryshore të quajtur $ foo lokale vlera e të cilave është bar. 349 00:19:57,000 --> 00:19:59,000 Dhe në qoftë se keni pasur më shumë çelësat dhe vlerat në grup të të dhënave, 350 00:19:59,000 --> 00:20:03,000 ngjashme ata do të nxirren në fushën e lokale 351 00:20:03,000 --> 00:20:06,000 Emri ose hapësirë ​​në mënyrë që footer.php dhe 352 00:20:06,000 --> 00:20:09,000 njëjtën ide këtu poshtë në mënyrë që header.php 353 00:20:09,000 --> 00:20:12,000 të kenë qasje në këto variablave. 354 00:20:12,000 --> 00:20:15,000 Në fakt, më lejoni të hapur përsëri header.php 355 00:20:15,000 --> 00:20:18,000 dhe të tërheqë vëmendjen për atë që tani duket si në këtë version. 356 00:20:18,000 --> 00:20:22,000 >> Sesa e vështirë coding CS50 si titull për çdo faqe të vetme 357 00:20:22,000 --> 00:20:24,000 njoftim dinamizmin që është e mundur tani. 358 00:20:24,000 --> 00:20:29,000 Në përputhje 5 Unë jam i bërë jehonë një ndryshore titullin, 359 00:20:29,000 --> 00:20:34,000 por së pari unë jam duke kaluar atë ndryshore titullin për një funksion të quajtur htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 Një emër trashë për një funksion, të gjatë ashtu siç është, por me të vërtetë e bën atë që thotë. 361 00:20:38,000 --> 00:20:41,000 Ai siguron se çdo karaktere speciale 362 00:20:41,000 --> 00:20:46,000 në vargun që është miratuar në po iku siç HTML. 363 00:20:46,000 --> 00:20:49,000 Kjo është në fakt një mënyrë për të shmangur diçka të quajtur një kryq faqe scripting sulm 364 00:20:49,000 --> 00:20:52,000 ku dikush mund të maliciously ose aksidentalisht 365 00:20:52,000 --> 00:20:55,000 injektuar HTML e tyre në faqen tuaj te internetit 366 00:20:55,000 --> 00:20:59,000 nga pasting në një formë, për shembull, 367 00:20:59,000 --> 00:21:02,000 diçka që ju nuk ishin mjaft të pritur, në veçanti kodi JavaScript, 368 00:21:02,000 --> 00:21:05,000 si ne do të flasim në një javë ose dy kohë së. 369 00:21:05,000 --> 00:21:08,000 >> Kjo header.php tani, kjo është një pikëpamje 370 00:21:08,000 --> 00:21:12,000 në kuptimin që ajo ju lejon të shikoni përmbajtjen e aesthetically disa të dhënave. 371 00:21:12,000 --> 00:21:14,000 Por më konkretisht, kjo është një template. 372 00:21:14,000 --> 00:21:19,000 Kjo është lloj i një projekt tani e asaj që ne duam header e çdo faqe të duken si, 373 00:21:19,000 --> 00:21:23,000 por ka disa dinamizmi në atë që ne duam titullin për t'u futur dinamike 374 00:21:23,000 --> 00:21:26,000 bazuar në variablin titullin 375 00:21:26,000 --> 00:21:30,000 që është nxjerrë, kur kemi quajtur, përsëri, 376 00:21:30,000 --> 00:21:33,000 header Render funksion. 377 00:21:33,000 --> 00:21:36,000 Tani, në qoftë se ne shikuar në futboll Render, ka të vërtetë nuk është shumë e përdorin atë të drejtë tani 378 00:21:36,000 --> 00:21:40,000 sepse në footer.php nuk ka dinamizmin whatsoever. 379 00:21:40,000 --> 00:21:43,000 Nuk mund të jetë, por në këtë moment kjo është një listë e vështirë koduar nga 2 tags, 380 00:21:43,000 --> 00:21:46,000 por ideja njëjta gjë vlen, kështu që në fakt sugjeron pse 381 00:21:46,000 --> 00:21:49,000 nuk kemi humbim kohë ka një header bëjnë dhe një funksion Render futboll? 382 00:21:49,000 --> 00:21:52,000 Më lejoni të shkoj në vend tani në versionin 3, 383 00:21:52,000 --> 00:21:56,000 dhe në versionin 3 në ndihmësve kam vendosur për të lehtësuar atë edhe më shumë. 384 00:21:56,000 --> 00:21:58,000 >> Më lejoni të ketë një funksion të bëjnë. 385 00:21:58,000 --> 00:22:02,000 Më lejoni të ketë atë të marrë një tjetër argument, këtë herë quajtur template, 386 00:22:02,000 --> 00:22:05,000 cila është e menduar te jetë Emri i një kallëp, 387 00:22:05,000 --> 00:22:11,000 dhe pastaj unë do të lidh me mendjemadhësi. php për vlerën që variabël së, 388 00:22:11,000 --> 00:22:17,000 dhe pastaj, nëse ajo ekziston, foo.php bar.php apo header.php dhe footer.php, 389 00:22:17,000 --> 00:22:20,000 atëherë unë jam duke shkuar për të shkuar përpara dhe nxjerrjen e të dhënave ndryshueshme 390 00:22:20,000 --> 00:22:23,000 dhe pastaj të kërkojnë atë rrugë. 391 00:22:23,000 --> 00:22:29,000 Me fjalë të tjera, për të përdorur këtë tani, nëse unë i hapur deri index.php 392 00:22:29,000 --> 00:22:32,000 vëreni se unë nuk e quajnë header bëjnë më. 393 00:22:32,000 --> 00:22:36,000 Unë vetëm thirrje bëjë, por unë të kalojë në një vlerë prej cituar header 394 00:22:36,000 --> 00:22:39,000 për ta bërë të qartë që unë template të vërtetë duan të ngarkesës. 395 00:22:39,000 --> 00:22:41,000 >> Pastaj gjatë këtu njoftim se çfarë unë jam duke bërë. 396 00:22:41,000 --> 00:22:44,000 Unë jam duke kaluar në një dinamike kyç të titullit, 397 00:22:44,000 --> 00:22:47,000 një vlerë e CS50, dhe kjo shumë, siç e pamë më parë, 398 00:22:47,000 --> 00:22:51,000 mund të bëhen ngjeshur më shumë në versionin e fundit të PHP 399 00:22:51,000 --> 00:22:54,000 ku unë mund të zëvendësojë funksionin grup me kllapa katrore, 400 00:22:54,000 --> 00:22:57,000 Unë propozoj që është edhe më i lexueshëm dhe sigurisht 401 00:22:57,000 --> 00:22:59,000 pak më e lehtë për të tipit. 402 00:22:59,000 --> 00:23:02,000 Dhe sigurisht, me thirrjen bëjnë futboll në pjesën e poshtme, 403 00:23:02,000 --> 00:23:05,000 ne nuk e mërzit duke kaluar në një argument të dytë në të gjitha, asnjë grup shoqerues, 404 00:23:05,000 --> 00:23:07,000 sepse nuk ka asgjë brenda dinamik i asaj futboll. 405 00:23:07,000 --> 00:23:10,000 Kjo është vetëm disa tags ngushtë për HTML. 406 00:23:10,000 --> 00:23:14,000 Mirë, ne jemi duke marrë hapa në drejtim të vërtetë pastrimin gjërat deri këtu, 407 00:23:14,000 --> 00:23:17,000 por më lejoni të hapur deri 2 shembuj përfundimtare. 408 00:23:17,000 --> 00:23:21,000 Ky i fundit, numri 4, njoftim që unë kam bërë një vendim të ndërgjegjshëm tani 409 00:23:21,000 --> 00:23:26,000 për të përmirësuar mbi shembullin e mëparshëm duke përdorur disa në fund të hierarkisë dosjet e mia. 410 00:23:26,000 --> 00:23:29,000 >> Vini re se në këtë përmbledhje, në këtë lexoni me mua, unë kam futur 411 00:23:29,000 --> 00:23:32,000 një direktori dhe përfshin një directory templates 412 00:23:32,000 --> 00:23:35,000 Përmbajtja e të cilëve do të jenë gjërat që unë dua që të përfshijë 413 00:23:35,000 --> 00:23:38,000 dhe templates që unë dua të bëjë, respektivisht. 414 00:23:38,000 --> 00:23:42,000 Kjo është me të vërtetë mua është anal dhe duke u përpjekur për të mbajtur gjërat e pastra, 415 00:23:42,000 --> 00:23:45,000 mbajnë fotografi të lidhura së bashku, por rezultati përfundimtar 416 00:23:45,000 --> 00:23:48,000 është se ne tani kemi një organizim pak tidier, por ne duhet të kujtojmë tani 417 00:23:48,000 --> 00:23:51,000 në, për shembull, index.php 418 00:23:51,000 --> 00:23:55,000 kur kërkojnë helpers.php fotografisë 419 00:23:55,000 --> 00:24:01,000 ne kemi tani kërkojnë atë nëpërmjet përfshin / helpers.php 420 00:24:01,000 --> 00:24:06,000 në vend se vetëm duke thënë helpers.php sepse tani ajo është në të vërtetë në një directory sub. 421 00:24:06,000 --> 00:24:09,000 Tani, si një mënjanë, ju do të shihni në këto shembuj dhe disa të tjerë 422 00:24:09,000 --> 00:24:11,000 funksionon si kërkojnë, kërkojnë një herë. 423 00:24:11,000 --> 00:24:15,000 Nuk është në fakt një funksion të quajtur vetvete përfshijnë, dhe ata të gjithë kanë sjellje paksa ndryshe. 424 00:24:15,000 --> 00:24:18,000 Këtu unë them të kërkojë një herë për të bërë super të qartë se unë vetëm dua ata 425 00:24:18,000 --> 00:24:20,000 ndihmësit të përfshira në projektin tim një herë. 426 00:24:20,000 --> 00:24:24,000 Por në qoftë se unë jam i kujdesshëm dhe në qoftë se unë jam në të vërtetë duke menduar me logjikën time e duhur 427 00:24:24,000 --> 00:24:27,000 ajo duhet të mjaftojë vetëm për të thënë shumë kërkojë deri krye 428 00:24:27,000 --> 00:24:31,000 për aq kohë sa unë vetë nuk aksidentalisht të kërkojë që skedarin njëjtë diku tjetër. 429 00:24:31,000 --> 00:24:34,000 Në fakt, kjo është një mënyrë pak më të efektshme për të bërë gjëra pastaj duke përdorur 430 00:24:34,000 --> 00:24:38,000 të kërkojë një herë, kështu që unë do të shkurtojë atë poshtë për të vetëm të kërkojë. 431 00:24:38,000 --> 00:24:40,000 >> Le të marrin një hap më tej. 432 00:24:40,000 --> 00:24:46,000 Ky shembull i fundit tani, versioni 5, ka një hierarki edhe më të pastër dosje. 433 00:24:46,000 --> 00:24:50,000 Njoftim se çfarë kam bërë këtu për të lexuar më në këtë version final 434 00:24:50,000 --> 00:24:54,000 është tani kam dosjen time HTML, të cilën unë kam pasur gjithë këtë kohë, 435 00:24:54,000 --> 00:24:58,000 por brenda atje tani është vetëm index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php dhe week2.php. 437 00:25:01,000 --> 00:25:05,000 The përfshin directory tani jeton së bashku me të directory HTML, 438 00:25:05,000 --> 00:25:08,000 kështu në të njëjtin nivel si një vëlla, në mënyrë që të flasin. 439 00:25:08,000 --> 00:25:10,000 Kështu ka dosje templates. 440 00:25:10,000 --> 00:25:14,000 The takeaway kryesore këtu është që unë kam prezantuar struktura pak më shumë, 441 00:25:14,000 --> 00:25:17,000 por tipar kryesor tani është se vetëm fotografi 442 00:25:17,000 --> 00:25:21,000 që duhet të jenë të qasshme web, publikisht addressable 443 00:25:21,000 --> 00:25:25,000 nga një URL në internet publike janë në directory time HTML. 444 00:25:25,000 --> 00:25:28,000 >> Fotografi Ndërkohë, të tjera, helpers.php, footer.php, 445 00:25:28,000 --> 00:25:32,000 header.php, që janë ndoshta ndoshta më të ndjeshme, 446 00:25:32,000 --> 00:25:35,000 ndoshta ndihmëtarë fakt ka disa emra të përdoruesve dhe fjalëkalimet ose disa intelektuale 447 00:25:35,000 --> 00:25:39,000 pronë e imja, funksionon Unë vërtetë nuk duan të shohin botën, edhe në qoftë se rastësisht. 448 00:25:39,000 --> 00:25:45,000 Është praktikë e mirë për të mbajtur jashtë directory publik HTML 449 00:25:45,000 --> 00:25:48,000 ndonjë fotografi që nuk kanë nevojë të jenë të veten publike. 450 00:25:48,000 --> 00:25:51,000 Të gjithë ju duhet të bëni në këtë rast, kur në kërkim në, për shembull, 451 00:25:51,000 --> 00:25:55,000 fotografi index.php directory HTML-së, 452 00:25:55,000 --> 00:25:58,000 njoftim ne vetëm duhet të jetë pak më të kujdesshëm kur kërkojnë 453 00:25:58,000 --> 00:26:00,000 ose të kërkojë një herë këtë skedar. 454 00:26:00,000 --> 00:26:03,000 Unë kam nevojë për të parë të bërë .. për të shkuar në directory prind, 455 00:26:03,000 --> 00:26:06,000 atëherë / përfshinë / helpers.php 456 00:26:06,000 --> 00:26:12,000 të zhyten përsëri poshtë për të marrë fotografi që më intereson. 457 00:26:12,000 --> 00:26:16,000 >> Ndonjë pyetje atëherë në MVC 458 00:26:16,000 --> 00:26:20,000 ose kjo mishërimi relativisht e thjeshtë e tij? 459 00:26:20,000 --> 00:26:23,000 Dhe më lejoni të bëj të qartë se ne jemi fokusuar mjaft në 460 00:26:23,000 --> 00:26:27,000 V këtu, pikëpamjet dhe factoring nga këto templates. 461 00:26:27,000 --> 00:26:30,000 Ne nuk kemi me të vërtetë dallohet nga M C vetëm ende. 462 00:26:30,000 --> 00:26:33,000 Në fakt, nuk është me të vërtetë nuk ka M këtu, dhe madje edhe C tonë, 463 00:26:33,000 --> 00:26:36,000 kontrollues, nuk është me të vërtetë duke bërë të gjithë se shumë, por ju do të merrni më shumë 464 00:26:36,000 --> 00:26:39,000 njohur me të dy këto 2 letra nga MVC, 465 00:26:39,000 --> 00:26:43,000 ose më mirë, ju do të merrni më shumë të njohur me C 466 00:26:43,000 --> 00:26:49,000 në MVC për të vendosur problemit 7, kështu që nuk ka më shumë se në horizont. 467 00:26:49,000 --> 00:26:51,000 Pyetje? 468 00:26:51,000 --> 00:26:53,000 Nuk ka në fakt asnjë njeri këtu. 469 00:26:53,000 --> 00:26:57,000 >> Mirë, le të dalim në temën e dytë dhe të fundit për sot. 470 00:26:57,000 --> 00:27:00,000 Kjo është futja e një bazë të dhënash. 471 00:27:00,000 --> 00:27:03,000 Deri në këtë pikë, ne kemi pasur disa mënyra të të dhënave ruajtjen. 472 00:27:03,000 --> 00:27:05,000 Ne kemi përdorur variablave. 473 00:27:05,000 --> 00:27:08,000 Kthehu në dosjen C tonë, I / O diskutim kemi filluar duke përdorur fotografi tekst 474 00:27:08,000 --> 00:27:11,000 dhe duke përdorur fotografi si fprintf, dhe pastaj ne edhe filloi 475 00:27:11,000 --> 00:27:14,000 duke folur në lidhje CSV fotografi pak, vlerat, të ndara me presje 476 00:27:14,000 --> 00:27:17,000 kështu që të gjitha këto na lejohet që të ketë të dhëna të ruajtura 477 00:27:17,000 --> 00:27:19,000 ose jo-këmbëngulje ose vazhdimisht. 478 00:27:19,000 --> 00:27:23,000 Por edhe CSVs nuk janë me të vërtetë të favorshme për kërkim 479 00:27:23,000 --> 00:27:25,000 dhe futur dhe fshirjes. 480 00:27:25,000 --> 00:27:28,000 Kjo është me të vërtetë vetëm një skedar teksti të trashë të ndara me presje 481 00:27:28,000 --> 00:27:30,000 rresht me rresht me rresht me rresht, kështu që nëse ju doni të 482 00:27:30,000 --> 00:27:32,000 kërkoni që dosja të mira që ju mund të bëni me të vërtetë është kërkimi lineare. 483 00:27:32,000 --> 00:27:34,000 Ju duhet të fillojë në krye të dosjes, lexoni të gjithë gjë në, 484 00:27:34,000 --> 00:27:36,000 dhe të kërkoni për disa vlera të interesit. 485 00:27:36,000 --> 00:27:39,000 Nëse ju doni të futur në atë që ju duhet të bëni të njëjtën gjë, 486 00:27:39,000 --> 00:27:41,000 iterating mbi të dhe futur në një vend të caktuar, 487 00:27:41,000 --> 00:27:45,000 dhe në fakt, ju duhet të bëni të gjitha të logjikës kërkim veten. 488 00:27:45,000 --> 00:27:49,000 >> Ju nuk mund të bëjmë model zgjuar përputhen në një skedar CSV nëse ju vetë shkruani kodin. 489 00:27:49,000 --> 00:27:51,000 Ju nuk mund të bëjë filtrimit të një file CSV 490 00:27:51,000 --> 00:27:53,000 nëse ju vetë shkruani kodin. 491 00:27:53,000 --> 00:27:56,000 Nuk do të jetë mirë në qoftë se dikush tjetër vënë në të gjitha përpjekjet e 492 00:27:56,000 --> 00:27:59,000 të bëjë në fakt kërkim të lehtë dhe futje të lehtë 493 00:27:59,000 --> 00:28:01,000 dhe fshirjen dhe përditësimin e kështu me radhë? 494 00:28:01,000 --> 00:28:04,000 Kjo është pikërisht ajo që është një bazë të dhënash. 495 00:28:04,000 --> 00:28:07,000 SQL, strukturuar Query Language, është ende një gjuhë tjetër 496 00:28:07,000 --> 00:28:10,000 se ne jemi futur sot këtu, por kjo shumë është mjaft e arritshme, 497 00:28:10,000 --> 00:28:13,000 dhe ajo që ne jemi me të vërtetë do të bëni është që vetëm shkul nga ajo disa prej më të spikatur 498 00:28:13,000 --> 00:28:16,000 Karakteristikat kështu që për pset 7, dhe nëse ju bëni diçka web bazuar, 499 00:28:16,000 --> 00:28:19,000 projekti juaj i fundit, ju keni mundësinë për të shprehur veten 500 00:28:19,000 --> 00:28:22,000 në aspektin e të dhënave pyetje. 501 00:28:22,000 --> 00:28:25,000 Ju keni mundësinë për të ruajtur një pak apo shumë të dhëna 502 00:28:25,000 --> 00:28:28,000 në një mënyrë shumë më të strukturuar që do të në fund të ditës 503 00:28:28,000 --> 00:28:32,000 bërë jetën tuaj më të lehtë, sepse me SQL ju mund të shprehin veten 504 00:28:32,000 --> 00:28:35,000 më saktësisht, më shumë metodike në mënyrë që të 505 00:28:35,000 --> 00:28:40,000 kthehet disa mesin e të dhënave nga një korpusi më të gjerë të të dhënave. 506 00:28:40,000 --> 00:28:45,000 >> Ju mund të mendoj për një bazë të dhënash, në këtë rast, një bazë të dhënash SQL, me të vërtetë si Excel 507 00:28:45,000 --> 00:28:48,000 Numrat apo ku është një spreadsheet, 508 00:28:48,000 --> 00:28:50,000 ose ndoshta spreadsheets të shumta, dhe një spreadsheet, natyrisht, 509 00:28:50,000 --> 00:28:53,000 ka rreshtave dhe kolonave, dhe kjo është për shkak se 510 00:28:53,000 --> 00:28:56,000 Bazat e të dhënave SQL janë relacionale, relacionale në kuptimin 511 00:28:56,000 --> 00:28:59,000 që ata të ruajtur të dhënat në drejtim të këtyre tabelave, 512 00:28:59,000 --> 00:29:01,000 rreshtave dhe kolonave. 513 00:29:01,000 --> 00:29:03,000 Ata janë më të larta se sa kryerjen diçka si një spreadsheet, 514 00:29:03,000 --> 00:29:05,000 dhe një spreadsheet është menduar të jetë përdorur nga një njeri. 515 00:29:05,000 --> 00:29:08,000 Një databazë është menduar për t'u përdorur nga një programues 516 00:29:08,000 --> 00:29:12,000 shkruar kodin kundër tij, kështu që mishërimi i një baze të dhënash 517 00:29:12,000 --> 00:29:14,000 do të jetë ose command line. 518 00:29:14,000 --> 00:29:18,000 >> Një prej bazave të të dhënave relacionale më të njohura atje është, përsëri, MySQL, 519 00:29:18,000 --> 00:29:22,000 e cila është mrekullisht e lirë, funksionuese shumë të larta, dhe kjo është ajo që 520 00:29:22,000 --> 00:29:24,000 Facebook përdoret shumë herët dhe në një farë mase edhe sot 521 00:29:24,000 --> 00:29:27,000 për të ruajtur një shumë të të dhënave të saj, dhe ne do të shohim në një moment 522 00:29:27,000 --> 00:29:30,000 se duke përdorur komandat relativisht të thjeshta 523 00:29:30,000 --> 00:29:33,000 ne mund të zgjidhni të dhënat, të dhënat, të dhënat insert update, 524 00:29:33,000 --> 00:29:37,000 fshirë të dhënat dhe si, por fatmirësisht, ka një shumë user-friendly interface 525 00:29:37,000 --> 00:29:39,000 se vetëm shtypni në një prompt zezë dhe të bardhë këtu. 526 00:29:39,000 --> 00:29:43,000 Ne do të përdorim për pset 7 dhe përtej një mjet të lirë të quajtur phpMyAdmin. 527 00:29:43,000 --> 00:29:45,000 Emri është rastësi. 528 00:29:45,000 --> 00:29:47,000 Mjet ndodh që do të zbatohen në PHP, 529 00:29:47,000 --> 00:29:49,000 por kjo është krejtësisht e parëndësishme. 530 00:29:49,000 --> 00:29:53,000 Çfarë është e dobishme në lidhje me phpMyAdmin është se kjo është një web-bazuar shërbimeve. 531 00:29:53,000 --> 00:29:55,000 Ne kemi para-instaluar atë në aplikim për ju, 532 00:29:55,000 --> 00:29:58,000 dhe me atë që ju mund të krijoni tabela në një bazë të dhënash, 533 00:29:58,000 --> 00:30:01,000 ju mund të futni të dhënat, të fshirë të dhënat, dhe në përgjithësi shoh 534 00:30:01,000 --> 00:30:04,000 dhënat tuaja në një mënyrë të drejtë mjedis user-friendly. 535 00:30:04,000 --> 00:30:07,000 Përdoruesit e juaj nuk do të përdorin phpMyAdmin. 536 00:30:07,000 --> 00:30:09,000 >> Kjo është me të vërtetë vetëm një mjet administrativ ose zhvilluesi së 537 00:30:09,000 --> 00:30:12,000 me të cilën për të parë dhe thes rreth të dhënave tuaja dhe të kuptoj se si për të strukturojnë atë, 538 00:30:12,000 --> 00:30:15,000 shumë si ju mund të përdorni Excel veten apo numra, 539 00:30:15,000 --> 00:30:19,000 por ajo do të jetë një mënyrë e madhe e visualizing çfarë po ndodh nën kapuç 540 00:30:19,000 --> 00:30:22,000 kështu që ju mund të përqëndrohen në zgjidhjen e problemit interesante dhe jo aq shumë 541 00:30:22,000 --> 00:30:25,000 në komandat misterioze. 542 00:30:25,000 --> 00:30:28,000 Le të marrin një vështrim në një shembull të të dhënave që mund të ruhen tabularly 543 00:30:28,000 --> 00:30:30,000 në një bazë të dhënash relacionale. 544 00:30:30,000 --> 00:30:32,000 Këtu është një shembull i tillë. 545 00:30:32,000 --> 00:30:35,000 Tani, për fat të keq, phpMyAdmin gabuar në anën e rrugës hedhur shumë shumë fjalë 546 00:30:35,000 --> 00:30:38,000 dhe grafika në ju, por në qoftë se ju grihë në vetëm në 547 00:30:38,000 --> 00:30:42,000 Kolonë ID, Emri përdorues kolonë, dhe kolona hash, 548 00:30:42,000 --> 00:30:45,000 kjo është në mënyrë efektive një spreadsheet, por kjo ndodh të jetë një copë 549 00:30:45,000 --> 00:30:49,000 brenda një tryezë të pajisjes 550 00:30:49,000 --> 00:30:53,000 duke përdorur një skedar që ne t'ju ofrojë në grup problemeve 7. 551 00:30:53,000 --> 00:30:57,000 >> Në veçanti, ne do t'ju japë një skedar që përfaqëson 552 00:30:57,000 --> 00:31:01,000 Tabela e një përdorues, kështu që një spreadsheet përmban përdoruesit me 3 kolona, 553 00:31:01,000 --> 00:31:05,000 një nga të cilat është një ID unike duke filluar në 1 dhe duke u incremented pas kësaj. 554 00:31:05,000 --> 00:31:08,000 Kolona e dytë është një emër përdoruesi, dhe ata prej jush që bënë Hacker, 555 00:31:08,000 --> 00:31:12,000 Edicioni Hacker për pset 2, mund të njohin disa prej këtyre emrave përdorues të paktën. 556 00:31:12,000 --> 00:31:16,000 Në anën e djathtë janë fjalëkalimet, por ata nuk janë fjalëkalimet literale. 557 00:31:16,000 --> 00:31:19,000 Ata janë hashes e tij, kështu që rezulton 558 00:31:19,000 --> 00:31:22,000 që ruajtjen fjalëkalimet në një bazë të dhënash është një ide me të vërtetë e keqe. 559 00:31:22,000 --> 00:31:25,000 Ju keni lexuar të gjitha ndoshta në një pikë të disa internetit 560 00:31:25,000 --> 00:31:28,000 ose bazës së të dhënave disa kompanisë duke kompromentuar, dhe pastaj ju duhet të 561 00:31:28,000 --> 00:31:31,000 ndryshoni fjalëkalimin tuaj, ju duhet të merrni rimbursimet në gjëra 562 00:31:31,000 --> 00:31:34,000 sepse disa djalë i keq të vërtetë shpërtheu në llogarinë tuaj, si rezultat i kësaj. 563 00:31:34,000 --> 00:31:38,000 >> Ruajtjen fjalëkalime në tekst të qartë, unencrypted në një bazë të dhënash 564 00:31:38,000 --> 00:31:41,000 është plotësisht si gomar, dhe ende është shumë zbavitës 565 00:31:41,000 --> 00:31:44,000 pastaj për të lexuar në lidhje me disa kompani të njohur shumë mirë 566 00:31:44,000 --> 00:31:47,000 ndonjëherë në shtypin e bazave të të dhënave të cilëve janë të komprometuar, 567 00:31:47,000 --> 00:31:50,000 dhe se një pjesë nuk është qesharake, por fakti se bazat e të dhënave përmban unencrypted 568 00:31:50,000 --> 00:31:53,000 Fjalëkalimet është qesharake, sepse fjalë për fjalë me një linjë të kodit 569 00:31:53,000 --> 00:31:57,000 ju mund të mbrojë kundër këtij kërcënimi të veçantë, dhe kjo është ajo që kemi bërë këtu. 570 00:31:57,000 --> 00:32:00,000 Edhe për tonë të vogël të rreme versionin CS50 Financave 571 00:32:00,000 --> 00:32:03,000 ne jemi encrypting passwords vetëm për masë të mirë, dhe fakti që 572 00:32:03,000 --> 00:32:07,000 të gjitha këto fjalëkalime filloni me $ 1 $ është vetëm një konventë. 573 00:32:07,000 --> 00:32:10,000 Kjo thjesht do të thotë se ata janë të koduar apo sheshuar të vërtetë, 574 00:32:10,000 --> 00:32:13,000 e cila është si një funksion një mënyrë encryption 575 00:32:13,000 --> 00:32:17,000 ku ju nuk mund të ndryshojë efektet e saj me diçka të quajtur MD5. 576 00:32:17,000 --> 00:32:21,000 >> Fakti që 50 është pas që do të thotë se një vlerë kripë 577 00:32:21,000 --> 00:32:24,000 nga 50 është përdorur për hashing të gjitha këto fjalëkalime përjashtim për një. 578 00:32:24,000 --> 00:32:27,000 Minave, natyrisht, si ju mund të shihni atje, HA, 579 00:32:27,000 --> 00:32:30,000 ishte përdorur një kripë të ndryshme, kështu që ata që u morën pak deri 580 00:32:30,000 --> 00:32:33,000 ndoshta në Hacker 2, që mund të ketë qenë rezultat i përdorur duke tonë 581 00:32:33,000 --> 00:32:36,000 një hash të ndryshme se të tjerët, sepse fjalëkalimi im është në fakt i njëjtë 582 00:32:36,000 --> 00:32:38,000 si disa përdorues tjetër deri atje. 583 00:32:38,000 --> 00:32:41,000 Në fakt, në qoftë se ju keni qenë duke pritur gjithë këto javë për të gjetur 584 00:32:41,000 --> 00:32:44,000 çfarë ato fjalëkalimet janë këtu ishin fjalëkalimet që ju u sfiduan 585 00:32:44,000 --> 00:32:48,000 për të goditur në edicionin e vendosur problemit Hacker 2, kështu që asnjë shumë të ndërlikuar. 586 00:32:48,000 --> 00:32:50,000 Në fakt, e Malan ishte e njëjtë si jharvard, 587 00:32:50,000 --> 00:32:54,000 por në qoftë se ne do të shkojmë përsëri ata dukeshin ndryshe. 588 00:32:54,000 --> 00:32:58,000 >> Fokusimi në jharvard në purpur, sepse ata ishin të kripet ndryshe. 589 00:32:58,000 --> 00:33:01,000 Algorithm u trazuar në një mënyrë që 590 00:33:01,000 --> 00:33:05,000 hash vlera, vlera e koduar duket pak më ndryshe 591 00:33:05,000 --> 00:33:08,000 sepse inputeve ishin pak më të ndryshme, por fjalëkalimi nën kapuç 592 00:33:08,000 --> 00:33:10,000 ishte ende përfundimisht kuq. 593 00:33:10,000 --> 00:33:12,000 Tani, i cili kujdeset për këtë? 594 00:33:12,000 --> 00:33:15,000 E pra, ne jemi të siguruar ju me përdoruesit mostër, emrat përdorues mostër 595 00:33:15,000 --> 00:33:18,000 dhe hashes e fjalëkalimeve të tyre në mënyrë që ju të vërtetë kanë disa 596 00:33:18,000 --> 00:33:23,000 konsumatorët për CS50 Financave, kur ju së pari të merrni off terren me kodin tuaj. 597 00:33:23,000 --> 00:33:27,000 Ju do të duhet të zbatojnë tavolinat më shumë në brendësi të MySQL, brenda bazës së të dhënave. 598 00:33:27,000 --> 00:33:30,000 Ju do të keni për të krijuar më shumë spreadsheets, në mënyrë efektive, por ne kemi vendosur të ju jap këtë një 599 00:33:30,000 --> 00:33:33,000 për të marrë ju keni filluar, dhe ju do të shihni se problemi set specifikimet 600 00:33:33,000 --> 00:33:37,000 ju ecën përmes procesit të importimit këtë tabelë 601 00:33:37,000 --> 00:33:39,000 dhe gjithashtu duke shpjeguar se çfarë disa nga karakteristikat janë, 602 00:33:39,000 --> 00:33:41,000 dhe ju do të shihni se ne ju japin me kodin 603 00:33:41,000 --> 00:33:44,000 për të trajtuar hashing ose encryption e këtyre fjalëkalimeve, 604 00:33:44,000 --> 00:33:49,000 kështu që ju nuk duhet të shqetësohen shumë për atë MD5 apo si është në të vërtetë të gjithë rreth. 605 00:33:49,000 --> 00:33:53,000 >> Pra, SQL, gjuha strukturuar query. 606 00:33:53,000 --> 00:33:56,000 Kjo është, thjesht, gjuha ne jemi gati për të filluar duke përdorur në pset 7 607 00:33:56,000 --> 00:34:01,000 dhe ndoshta përtej të kërkojë të dhënat nga disa të dhënave. 608 00:34:01,000 --> 00:34:06,000 Të dhënave është, përsëri, të ruhet tabularly në këto tabela, kolona, ​​relacionale dhe rreshtave, 609 00:34:06,000 --> 00:34:09,000 por duke përdorur një sintaksë si relativisht e thjeshtë fshini, 610 00:34:09,000 --> 00:34:12,000 insert, update dhe zgjidhni mund të bëjmë pikërisht këtë. 611 00:34:12,000 --> 00:34:15,000 Ne mund të fshini nga regjistri, insert, 612 00:34:15,000 --> 00:34:19,000 përditësimin e të dhënave, si dhe zgjidhni, që është, rifitoj të dhënave nga baza e të dhënave. 613 00:34:19,000 --> 00:34:21,000 Si mund të shkojë për të bërë këtë? 614 00:34:21,000 --> 00:34:23,000 Më lejoni të shkojnë përpara në aplikim. 615 00:34:23,000 --> 00:34:28,000 Më lejoni të tërheq lart http://localhost, 616 00:34:28,000 --> 00:34:30,000 cila, përsëri, është aplikim lokal vetë. 617 00:34:30,000 --> 00:34:32,000 Kjo është Mbyll saj default. 618 00:34:32,000 --> 00:34:35,000 Dhe më lejoni të shkoj në / phpMyAdmin. 619 00:34:35,000 --> 00:34:39,000 Kjo ndodh të jetë një URL të veçantë që pajisja është konfiguruar për të kuptuar 620 00:34:39,000 --> 00:34:42,000 që menjëherë bën mua për një emër përdoruesi dhe fjalëkalim. 621 00:34:42,000 --> 00:34:46,000 >> Si zakonisht, unë jam duke shkuar për të tipit jharvard dhe purpur, 622 00:34:46,000 --> 00:34:48,000 por të kuptojë se është llogaria administratori në kompjuter. 623 00:34:48,000 --> 00:34:53,000 Është vetëm një rastësi që ka edhe një jharvard regjistruar për CS50 Financave. 624 00:34:53,000 --> 00:34:56,000 Jharvard, crimson, shkruani jep ndërfaqen e përdoruesit që pamë 625 00:34:56,000 --> 00:34:59,000 një paraqitje e shkurtër e një moment më parë, dhe kjo është pak e madhe në fillim, 626 00:34:59,000 --> 00:35:02,000 por pjesa tjetër e siguroi, ju nuk jeni do të duhet të klikoni shumicën e lidhjeve në këtë mjet. 627 00:35:02,000 --> 00:35:05,000 Ju do të përfundojë duke përdorur një mesin e vogël që janë super të dobishme, 628 00:35:05,000 --> 00:35:08,000 parë e cila është të dhënave deri këtu. 629 00:35:08,000 --> 00:35:11,000 Nëse unë shkoj deri në bazat e të dhënave, vëreni se unë jam nxitet për të krijuar një bazë të dhënash. 630 00:35:11,000 --> 00:35:14,000 Kjo është si duke krijuar një skedë të re Excel, në mënyrë efektive. 631 00:35:14,000 --> 00:35:18,000 Unë jam duke shkuar për të shkuar përpara dhe e quajnë këtë leksion, dhe unë jam vetëm do të injorojë këtë fushë atje, krahasimin. 632 00:35:18,000 --> 00:35:20,000 Ajo ka të bëjë me përfaqësimin e të dhënave aty, 633 00:35:20,000 --> 00:35:24,000 dhe unë jam duke shkuar për të klikoni krijuar, dhe tani vini re si unë le të shkojë e të krijojë 634 00:35:24,000 --> 00:35:27,000 në anën e majtë, ku ai thotë se ka bazë të dhënash 635 00:35:27,000 --> 00:35:30,000 Unë duhet të shohim së shpejti bazën e të dhënave leksion. 636 00:35:30,000 --> 00:35:32,000 >> Nëse unë tani klikoni në anën e majtë, i bazës së të dhënave leksion, 637 00:35:32,000 --> 00:35:34,000 vëreni tabs mi ndryshojë pak. 638 00:35:34,000 --> 00:35:38,000 Unë kam marrë, strukturën e importit SQL, eksportit, dhe disa gjëra tjera. 639 00:35:38,000 --> 00:35:40,000 Struktura është shumë e shumë bosh. 640 00:35:40,000 --> 00:35:43,000 Nuk ka tavolina të gjenden në bazën e të dhënave, siç thuhet këtu, 641 00:35:43,000 --> 00:35:47,000 kështu që le të krijojë një tabelë, dhe le të shkojnë përpara dhe për të krijuar një tabelë 642 00:35:47,000 --> 00:35:53,000 si studentë, dhe sa shtylla duam? 643 00:35:53,000 --> 00:35:55,000 Le të mbajmë këtë thjeshtë, dhe le rekord për çdo nxënës 644 00:35:55,000 --> 00:35:58,000 një numër ID, një emër dhe një adresë e-mail. 645 00:35:58,000 --> 00:36:02,000 >> Ne do të mbani atë të thjeshtë si kjo, kështu që kolona 3, shkoni. 646 00:36:02,000 --> 00:36:05,000 Forma që ju shihni këtu është tani një pak çrregullt dhe e madhe, 647 00:36:05,000 --> 00:36:08,000 por ne vetëm duhet të kalojnë nëpër atë rresht me rresht, kështu që me të vërtetë shpejt, le të japë 648 00:36:08,000 --> 00:36:14,000 kolona e parë në këtë bazë të dhënash një emër të identitetit për identifikues unik. 649 00:36:14,000 --> 00:36:17,000 Ajo do të jetë një numër të plotë. Unë në fakt mund të injorojë gjatësi dhe vlerat. 650 00:36:17,000 --> 00:36:21,000 Një int do të jetë 32 bit pa marrë parasysh atë që ju shkruani në atje, kështu që le të lënë bosh. 651 00:36:21,000 --> 00:36:24,000 Vlera e parazgjedhur, unë mund të bëjë atë null, siç është përcaktuar. 652 00:36:24,000 --> 00:36:27,000 Unë jam duke shkuar për të lënë atë vetëm. Le të mos shqetësohen për vlerat default. 653 00:36:27,000 --> 00:36:29,000 Le të lëvizni gjatë këtu në të djathtë, atributeve. 654 00:36:29,000 --> 00:36:31,000 Kjo është interesante. 655 00:36:31,000 --> 00:36:33,000 Le të shkojnë përpara dhe disi arbitrare thonë se ID duhet të jetë i panënshkruar. 656 00:36:33,000 --> 00:36:35,000 Le të mos e mbeturinave asnjë numrat negative. 657 00:36:35,000 --> 00:36:37,000 >> Le të shkojë 0-4000000000, të japë ose të marrë, 658 00:36:37,000 --> 00:36:40,000 dhe pastaj le të mos prek ndonjë nga këto fusha vetëm ende atje, 659 00:36:40,000 --> 00:36:43,000 por pastaj më lejoni të shkruani emrin këtu poshtë, 660 00:36:43,000 --> 00:36:46,000 dhe pastaj tjetra ishte mail, kështu që është kapur mail 661 00:36:46,000 --> 00:36:50,000 dhe emri, natyrisht që nuk integers, kështu që le të ndryshojë këto të një fushë të ndryshme. 662 00:36:50,000 --> 00:36:53,000 Kjo rezulton nga VARCHAR, char ndryshueshme gjatësi, 663 00:36:53,000 --> 00:36:56,000 është si një varg në një bazë të dhënash SQL 664 00:36:56,000 --> 00:36:59,000 por një gjatësi variabile, dhe ju të vërtetë duhet të them atë që më parë të 665 00:36:59,000 --> 00:37:02,000 Gjatësia maksimale e vargut, kështu që unë jam duke shkuar për disi arbitrare 666 00:37:02,000 --> 00:37:05,000 sipas llojit të konventës 255 karaktere. 667 00:37:05,000 --> 00:37:08,000 Unë mund të them plotësisht 32. Unë mund të them 1,000. 668 00:37:08,000 --> 00:37:11,000 Ju lloj të duhet të vendosë për veten tuaj bazuar në demografinë tuaja Çfarë është 669 00:37:11,000 --> 00:37:14,000 emri i studentit të gjatë dhe të shkoni me atë numër ose pak më të madhe, 670 00:37:14,000 --> 00:37:17,000 por ajo që është e bukur për një VARCHAR është se nuk do të humbin 671 00:37:17,000 --> 00:37:19,000 255 bytes mbi emrin e çdo studenti. 672 00:37:19,000 --> 00:37:23,000 Nëse kjo është DAVID se nuk do të përdorin një tërësi 255 bytes, 673 00:37:23,000 --> 00:37:26,000 por kjo është një e sipërme detyruar, kështu që unë do të shkoj me 255 vetëm nga Konventa, 674 00:37:26,000 --> 00:37:30,000 por ne mund të debatojë që të jetë një vlerë më të ulët, dhe për adresë 675 00:37:30,000 --> 00:37:34,000 vetëm të jenë në përputhje 255, por përsëri, ne mund të kemi debat të njëjtë. 676 00:37:34,000 --> 00:37:36,000 Por unë jam duke shkuar për të bërë një gjë tjetër mbi këtu në anën e djathtë. 677 00:37:36,000 --> 00:37:40,000 >> Çfarë është e fuqishme në lidhje me një bazë të dhënash është se ajo mund të bëjë një shumë të pesha të rënda 678 00:37:40,000 --> 00:37:42,000 ose punë komplekse për ju. 679 00:37:42,000 --> 00:37:46,000 Në veçanti, unë me të vërtetë nuk më intereson se çfarë numrat studentit tim ID janë. 680 00:37:46,000 --> 00:37:49,000 Është menduar vetëm për të të jetë një identifikues unik në një bazë të dhënash 681 00:37:49,000 --> 00:37:52,000 kështu që unë kam një përfaqësim të 32-bit të shkurtër të asaj studentit 682 00:37:52,000 --> 00:37:55,000 kështu që unë kam disa mënyra unike të identifikimit të tyre 683 00:37:55,000 --> 00:37:58,000 mos të ketë 2 Davids, për shembull, në një klasë. 684 00:37:58,000 --> 00:38:01,000 Në fakt, unë jam duke shkuar për të kontrolluar këtë kuti AI, rritja auto, 685 00:38:01,000 --> 00:38:04,000 në mënyrë që baza e të dhënave, MySQL, shifrat nga 686 00:38:04,000 --> 00:38:08,000 atë që çdo student ID futur sapo është do të jetë. 687 00:38:08,000 --> 00:38:11,000 Unë as nuk keni për t'u kujdesur për atë në kodin tim, 688 00:38:11,000 --> 00:38:13,000 dhe unë jam gjithashtu do të zgjedhin diçka nën menu tregues. 689 00:38:13,000 --> 00:38:17,000 Indeksi drop down këtu ka primare, unike, 690 00:38:17,000 --> 00:38:19,000 Indeksi dhe teksti i plotë. 691 00:38:19,000 --> 00:38:21,000 Ju ndoshta mund të me mend se çfarë disa nga këto gjëra janë, 692 00:38:21,000 --> 00:38:24,000 por kjo rezulton në bazat e të dhënave relacionale 693 00:38:24,000 --> 00:38:28,000 ju programues bazës së të dhënave ose administratori merrni për preemptively 694 00:38:28,000 --> 00:38:32,000 jap lë të kuptohet se në bazën e të dhënave si për atë që fushat 695 00:38:32,000 --> 00:38:34,000 në një tryezë të veçantë janë pak. 696 00:38:34,000 --> 00:38:37,000 >> Për shembull, në këtë rast unë jam duke shkuar për të thonë se ID 697 00:38:37,000 --> 00:38:42,000 do të jetë një indeks primar, i njohur ndryshe si një kyç primar. 698 00:38:42,000 --> 00:38:44,000 Çfarë kjo do të thotë sipas definicionit është që tani e tutje ID 699 00:38:44,000 --> 00:38:48,000 do të identifikojë studentët unike në këtë tryezë. 700 00:38:48,000 --> 00:38:53,000 Asnjë student nuk do të kenë të njëjtën ID sepse unë jam imponuar këtë pengesë ose ky indeks. 701 00:38:53,000 --> 00:38:55,000 Për më tepër, çka kjo do të bëjë për mua është ajo do të tregojë 702 00:38:55,000 --> 00:38:58,000 MySQL që është i veçantë ID. 703 00:38:58,000 --> 00:39:03,000 I intereson veçanërisht në lidhje me ID, kështu që të shkojnë përpara dhe të bëjë magjinë strukturës dashuroj tuaj të të dhënave, 704 00:39:03,000 --> 00:39:05,000 të ndërtuar një lloj pemë. 705 00:39:05,000 --> 00:39:08,000 Zakonisht kjo është diçka e quajtur B-pemë, të cilat ne nuk shikojmë javë më parë, 706 00:39:08,000 --> 00:39:11,000 por kjo është një tjetër strukturë të tillë të dhënave të ngjashme në frymë të pemëve binare 707 00:39:11,000 --> 00:39:15,000 dhe përpiqet që kemi shikuar në, por kjo do të thotë 708 00:39:15,000 --> 00:39:18,000 në bazën e të dhënave kjo fushë është aq e rëndësishme që unë ndoshta 709 00:39:18,000 --> 00:39:22,000 duan të jenë në gjendje për të kërkuar për atë, të shkojnë përpara dhe për të ndërtuar disa dashuroj 710 00:39:22,000 --> 00:39:25,000 Struktura dhënat në memorie të përshpejtojë kërkimet në mënyrë që në mënyrë ideale 711 00:39:25,000 --> 00:39:28,000 ata janë kohë të vazhdueshme ose të paktën sa më afër që të jetë e mundur 712 00:39:28,000 --> 00:39:32,000 kështu që ajo nuk bie në kërkim linear, e cila nuk do të jetë 713 00:39:32,000 --> 00:39:34,000 më të lartë kryerjen qasje. 714 00:39:34,000 --> 00:39:37,000 Nga ana tjetër, adresë e-mail mund të ketë qenë një kyç primar. 715 00:39:37,000 --> 00:39:41,000 >> Në teori, adresa email të gjithëve është unik, nëse ju jeni për ndarjen e disa llogari, 716 00:39:41,000 --> 00:39:45,000 por kjo nuk është përgjithësisht e mirë për të përdorur diçka si një varg 717 00:39:45,000 --> 00:39:49,000 si një kyç primar sepse nëse qëllimi i tij në jetë është që të identifikojnë unike 718 00:39:49,000 --> 00:39:55,000 rreshtave në tryezën tuaj nuk ka asnjë arsye për të përdorur maksimalisht 255 bytes 719 00:39:55,000 --> 00:39:58,000 në mënyrë unike të identifikuar dikë në qoftë se ju mund të merrni larg me vetëm 4 bytes 720 00:39:58,000 --> 00:40:00,000 apo 32-bit int. 721 00:40:00,000 --> 00:40:03,000 Në përgjithësi, një kyç primar duhet të jetë i shkurtër dhe i ngjeshur 722 00:40:03,000 --> 00:40:07,000 dhe ideale diçka si një numër të plotë apo një int madh, i cili ndodh të jetë 64 bit. 723 00:40:07,000 --> 00:40:11,000 Por një adresë e-mail duhet të jetë unik, dhe një nga tiparet e një bazë të dhënash shumë 724 00:40:11,000 --> 00:40:14,000 është për të zbatuar unike për mua. 725 00:40:14,000 --> 00:40:18,000 Duke zgjedhur këtu unike tjetër për email, edhe pse vetë email 726 00:40:18,000 --> 00:40:21,000 po scrolled off ekran, unë jam duke thënë se të bazës së të dhënave 727 00:40:21,000 --> 00:40:23,000 nuk besoni mua. 728 00:40:23,000 --> 00:40:26,000 Mos lejoni futur në bazën e të dhënave 729 00:40:26,000 --> 00:40:29,000 njëjtën adresë email-herë, edhe në qoftë se unë jam një idiot dhe nuk jam 730 00:40:29,000 --> 00:40:32,000 shumë të mira me VJ mi dhe IFS tjetër dhe kodin aktual PHP 731 00:40:32,000 --> 00:40:37,000 dhe unë aksidentalisht le përdoruesit regjistrohen me një adresë email-ekzistuese 732 00:40:37,000 --> 00:40:40,000 baza e të dhënave është një tjetër niveli i mbrojtjes për korrektësinë 733 00:40:40,000 --> 00:40:44,000 për të siguruar që kjo adresë kopjuar email nuk do të përfundojë deri në tryezë. 734 00:40:44,000 --> 00:40:49,000 >> Tani, nga ana tjetër, për emrin që ju ndoshta nuk dëshironi të bëni që unik 735 00:40:49,000 --> 00:40:51,000 sepse atëherë kurrë nuk mund të jetë 2 Davids ose 2 Smiths Mike, për shembull, 736 00:40:51,000 --> 00:40:55,000 në bazën e të dhënave tuaja, në mënyrë që një ne do të lënë vetëm vetëm. 737 00:40:55,000 --> 00:40:58,000 Unë jam duke shkuar për të shkuar përpara dhe klikoni shpëtuar në fund të drejtën, 738 00:40:58,000 --> 00:41:02,000 dhe çdo gjë duket e mirë, por vini re deri këtu 739 00:41:02,000 --> 00:41:04,000 kjo është një pjesë që tani për tani ne nuk do të shpenzojnë shumë kohë në 740 00:41:04,000 --> 00:41:07,000 sepse sintaksa është një kompleks pak, dhe ne nuk kemi për të krijuar tabela 741 00:41:07,000 --> 00:41:10,000 të gjithë që shpesh, por SQL në vetvete është një gjuhë, 742 00:41:10,000 --> 00:41:13,000 sintaksa për të cilën është e drejtë këtu që unë kam theksuar. 743 00:41:13,000 --> 00:41:18,000 Çfarë phpMyAdmin vërtetë nuk është ajo krijon një GUI web-based për ju 744 00:41:18,000 --> 00:41:23,000 me të cilat ju mund të kurseni kohë dhe nuk kanë në dorë të tipit jashtë 745 00:41:23,000 --> 00:41:26,000 një pyetje mjaft e gjatë SQL si kjo. 746 00:41:26,000 --> 00:41:29,000 >> Me fjalë të tjera, në qoftë se ju të kërkuar për të krijuar këtë tryezë me dorë, 747 00:41:29,000 --> 00:41:32,000 ose në atë phpMyAdmin zezë dhe të bardhë të shpejtë, ose edhe në 748 00:41:32,000 --> 00:41:35,000 duke përdorur këtë skedë tjetër, ky tab SQL ku ju mund të shtypni në çdo pyetje SQL 749 00:41:35,000 --> 00:41:38,000 ju dëshironi, sinqerisht, kjo do të marrë më një minutë 750 00:41:38,000 --> 00:41:41,000 që në fakt mend sintaksë të tërë, dhe madje edhe atëherë unë ndoshta do të ketë 751 00:41:41,000 --> 00:41:45,000 bërë disa gabime shkrimi, kështu që ky mjet është i dobishëm për gjëra si kjo, dhe kjo është gjithashtu e dobishme. 752 00:41:45,000 --> 00:41:49,000 Ju mund të filloni të konkludoj se çfarë Sintaksa është 753 00:41:49,000 --> 00:41:52,000 vetëm me ngjyrë të bukur coding se phpMyAdmin është shtuar 754 00:41:52,000 --> 00:41:54,000 për lehtësi tonë vizuale. 755 00:41:54,000 --> 00:41:56,000 Por tani le ta bëjmë këtë vend. 756 00:41:56,000 --> 00:42:00,000 Më lejoni të shkoj në tab futur në krye, dhe më lejoni të shkoj përpara dhe të futur për shembull 757 00:42:00,000 --> 00:42:04,000 një ID të le të themi, në fakt unë nuk e kujdesit. 758 00:42:04,000 --> 00:42:07,000 Ajo do të auto ardhura. Unë jam duke shkuar për të le të merren me këtë database. 759 00:42:07,000 --> 00:42:11,000 Por unë do të jetë David, dhe email tim duhet të jetë malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> Le të shkojnë përpara dhe të vënë këtu në Mike Smith si një tjetër. 761 00:42:16,000 --> 00:42:18,000 Unë do të jap vetes një emër fundit, si edhe, 762 00:42:18,000 --> 00:42:22,000 dhe ne do të kemi atë të jetë smith@example.com, 763 00:42:22,000 --> 00:42:24,000 dhe pastaj ku do shkoj e ardhshme? 764 00:42:24,000 --> 00:42:27,000 E pra, kjo duket si go është butonin për të klikoni, dhe voila. 765 00:42:27,000 --> 00:42:30,000 Vini re në 2 rreshtave lartë futur. 766 00:42:30,000 --> 00:42:32,000 Kjo është aktuale query SQL. 767 00:42:32,000 --> 00:42:36,000 Kjo është mjet i phpMyAdmin ekzekutuar për mua, 768 00:42:36,000 --> 00:42:40,000 por rezultati përfundimtar, njoftim, nëse unë tani të shkojnë në tab shfletoni, 769 00:42:40,000 --> 00:42:43,000 është për të parë 2 rreshtave në këtë tabelë, shumë të kujton aesthetically 770 00:42:43,000 --> 00:42:46,000 të tabelës pamë më herët për përdoruesit tanë nga pset 7, 771 00:42:46,000 --> 00:42:51,000 njëri prej të cilëve është David Malan, njëri prej të cilëve tani është Mike Smith. 772 00:42:51,000 --> 00:42:54,000 Por vetëm të jetë i qartë, unë nuk kam nevojë për të përdorur phpMyAdmin, 773 00:42:54,000 --> 00:42:56,000 dhe në të vërtetë, ju jeni do të jetë së shpejti shkruar kodin për pset 7 774 00:42:56,000 --> 00:43:01,000 që automatizojnë procesin e shtimit të rreshtave, fshirjes rreshtave, përditësimin rreshtave dhe të ngjashme, 775 00:43:01,000 --> 00:43:04,000 kështu që le mua në vend të shkojnë në tab SQL deri këtu 776 00:43:04,000 --> 00:43:14,000 dhe lloji në * zgjidhni nga ku studentët 777 00:43:14,000 --> 00:43:18,000 email = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> Me fjalë të tjera mendoj se tani ju keni 779 00:43:21,000 --> 00:43:26,000 disa forma HTML, dhe lloje përdorues në adresës së tyre elektronike, në mesin e fusha të tjera, 780 00:43:26,000 --> 00:43:29,000 dhe tani qëllimi është në PHP në kodin fund mbrapa 781 00:43:29,000 --> 00:43:31,000 që në fakt kërkoni detaje të tjera që përdoruesit. 782 00:43:31,000 --> 00:43:34,000 Cili është emri juaj i plote? Cili është numri juaj ID? 783 00:43:34,000 --> 00:43:37,000 Ju mund të shkruani një pyetje SQL si kjo, zgjidhni * nga studentët 784 00:43:37,000 --> 00:43:40,000 ku mail = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 Dhe në qoftë se unë pastaj kliko të shkojnë, vëreni se unë duhet, dhe në të vërtetë unë, kthehet vetëm një rresht. 786 00:43:46,000 --> 00:43:50,000 Mike është hequr nga ky grup rezultat, si mbledhjen e rreshtave 787 00:43:50,000 --> 00:43:53,000 quhet në përgjithësi, sepse ai nuk ka të njëjtën adresë email si mua. 788 00:43:53,000 --> 00:43:57,000 >> Tani, përsëri, këtu për pset 7 ju do të përdorni phpMyAdmin si një mjet administrativ 789 00:43:57,000 --> 00:44:00,000 dhe një mjet pedagogjik për të mësuar në rrugën tuaj 790 00:44:00,000 --> 00:44:03,000 rreth botën e SQL, por në fund të ditës 791 00:44:03,000 --> 00:44:08,000 ju do të jeni të shkruar këto pyetje brenda kodit aktual PHP, 792 00:44:08,000 --> 00:44:11,000 dhe kështu stay tuned në walkthrough Zamyla në veçanti 793 00:44:11,000 --> 00:44:14,000 ku ju do të merrni një turne të Kodit të Shpërndarjes për këtë grup të problemit 794 00:44:14,000 --> 00:44:18,000 ku ne kemi dhënë juve jo vetëm për estetikë faqja e identifikimit 795 00:44:18,000 --> 00:44:21,000 dhe logo e bukur sexy që thotë CS50 Financave, por ne kemi dhënë edhe ju 796 00:44:21,000 --> 00:44:24,000 një bandë e funksioneve që do të bëjë jetën tuaj pak më e lehtë. 797 00:44:24,000 --> 00:44:27,000 Ne kemi shkruar edhe pjesë të pset për ju, 798 00:44:27,000 --> 00:44:32,000 pjesa login e saj në veçanti, që të ju jap një ndjenjë të një dizajn përfaqësuese 799 00:44:32,000 --> 00:44:36,000 që në fakt përdor një kontrollues, për shembull, index.php, 800 00:44:36,000 --> 00:44:40,000 login.php dhe si, dhe pastaj ju do të shihni pset gjithashtu ka nje liste templates 801 00:44:40,000 --> 00:44:43,000 që ka të gjitha mendimet tuaja, të gjitha estetikë. 802 00:44:43,000 --> 00:44:46,000 Dhe kështu workflow e përgjithshme në pset 7 do të jetë që 803 00:44:46,000 --> 00:44:49,000 përdoruesit tuaj vizitoni një kontrollues me anë të një URL në një shfletues. 804 00:44:49,000 --> 00:44:53,000 Kjo kontrollues përmban kodin PHP që ju ka shkruajtur, dhe brenda kodin tuaj PHP 805 00:44:53,000 --> 00:44:57,000 mund të jetë disa linja të SQL mbivendosur në mes thonjëza dyshe 806 00:44:57,000 --> 00:45:00,000 dhe kaloi në një funksion të quajtur kemi shkruar query 807 00:45:00,000 --> 00:45:03,000 që do t'ju ndihmojë ju të flisni me bazën e të dhënave pa përdorur diçka si 808 00:45:03,000 --> 00:45:05,000 një mjet administrative si phpMyAdmin. 809 00:45:05,000 --> 00:45:08,000 >> Ju do të jenë në gjendje të shkruajnë deklarata SQL në PHP kodin 810 00:45:08,000 --> 00:45:11,000 dhe për të marrë përsëri një grup të caktuar PHP rezultat, 811 00:45:11,000 --> 00:45:14,000 i rreshtave që në fakt përputhet me atë pyetje. 812 00:45:14,000 --> 00:45:18,000 Dhe në mënyrë të ngjashme do të jetë në gjendje të bëjë fut ose fshin 813 00:45:18,000 --> 00:45:22,000 ose përditësime ose të ngjashme, sintaksë, për të cilat është mjaft e ngjashme, 814 00:45:22,000 --> 00:45:25,000 dhe ju do të shihni disa nga referencat online, nga kodi shpërndarjes 815 00:45:25,000 --> 00:45:29,000 dhe nga pset dal vetë saktësisht se si të shkojë për të bërë këtë. 816 00:45:29,000 --> 00:45:33,000 Kuptojnë përfundimisht ne jemi me të vërtetë vetëm kruarje sipërfaqen e SQL 817 00:45:33,000 --> 00:45:36,000 dhe MySQL, por fuqia e tij me të vërtetë është se ajo ju çliron 818 00:45:36,000 --> 00:45:40,000 të përqëndrohet në problemet që ju doni të zgjidhur, rastet e përdorimit të doni për të zbatuar 819 00:45:40,000 --> 00:45:43,000 pa pasur nevojë të shqetësuar mjaft sa më shumë, të paktën në fillim, 820 00:45:43,000 --> 00:45:47,000 se ku dhe si për të ruajtur dhe të kërkoni bazën e të dhënave tuaja, 821 00:45:47,000 --> 00:45:50,000 dhe kjo është mjaft fjalë për fjalë, ku vetë Facebook mori fillimin e tij 822 00:45:50,000 --> 00:45:53,000 duke përdorur MySQL dhe pastaj duke përdorur më shumë servers MySQL dhe pastaj më shumë servers MySQL 823 00:45:53,000 --> 00:45:57,000 para se të gjatë derisa ata pastaj kishin me të vërtetë e vështirë për të filluar të menduarit rreth asaj se si për të 824 00:45:57,000 --> 00:46:00,000 Të dhënat dyqan, si për të ruajtur gjërat edhe më efikase, 825 00:46:00,000 --> 00:46:04,000 Pra, edhe pse ne do të marrë për të dhënë faktin se indekset dhe kufizimet unik 826 00:46:04,000 --> 00:46:08,000 dhe kështu me radhë vetëm punë ka një bisedë shumë interesante 827 00:46:08,000 --> 00:46:12,000 se kjo mund të çojë përfundimisht në të gjitha, kështu kuptojnë se ne jemi vetëm kruarje sipërfaqe 828 00:46:12,000 --> 00:46:17,000 të asaj që përfundimisht mund të për ju apo projektet tuaja të bëhet mjaft e të dhënave të mëdha. 829 00:46:17,000 --> 00:46:22,000 >> Me tha se, le të përfundojë këtu, dhe ne do të shohim se javën e ardhshme. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]