1 00:00:00,000 --> 00:00:03,920 >> [MUSIC Playing] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> DAVID J. Malan: Në rregull. 4 00:00:13,800 --> 00:00:15,640 Kjo është CS50. 5 00:00:15,640 --> 00:00:17,620 Ky është fillimi i javës tetë. 6 00:00:17,620 --> 00:00:22,440 Dhe ju mund të kujtojnë se ne e kemi lënë jashtë Hera e fundit në kërkim të një gjuhe të re 7 00:00:22,440 --> 00:00:23,240 krejt. 8 00:00:23,240 --> 00:00:25,905 Në fakt, kjo është një mënyrë të drejtë lehtë dhe kjo nuk është edhe 9 00:00:25,905 --> 00:00:26,940 një gjuhë programimi. 10 00:00:26,940 --> 00:00:31,100 Kjo është një gjuhë markup që na lejon të në fakt të strukturuar dhe të bëjë faqet e internetit. 11 00:00:31,100 --> 00:00:33,350 Dhe kur ju diçka tjetër në lidhje me this-- 12 00:00:33,350 --> 00:00:35,670 ose ju së shpejti do të, në qoftë se ju nuk e keni tashmë. 13 00:00:35,670 --> 00:00:38,530 Ne jemi duke shkuar për të përdorur Cascading Style Sheets, apo CSS, e cila 14 00:00:38,530 --> 00:00:40,971 është një tjetër lloj i gjuhës me pronat dhe vlerat 15 00:00:40,971 --> 00:00:43,220 që do të na bëjë gjërat pëlqen të ndryshojë ngjyra 16 00:00:43,220 --> 00:00:46,010 dhe për të ndryshuar pozicionin dhe këto lloje të tweaks. 17 00:00:46,010 --> 00:00:49,940 Por sot e tutje, ne fillojmë të të përqëndrohet në gjuhët më të fuqishme, 18 00:00:49,940 --> 00:00:52,810 Gjuhët aktuale programimi si PHP. 19 00:00:52,810 --> 00:00:54,880 >> Pra PHP ka qenë rreth e rrotull për disa kohë. 20 00:00:54,880 --> 00:00:56,810 Dhe si ju do të shihni atë, është projektuar kryesisht 21 00:00:56,810 --> 00:01:00,280 herët për aktuale përdorur në zhvillimin e web 22 00:01:00,280 --> 00:01:02,360 dhe në fakt gjenerimin e faqeve web. 23 00:01:02,360 --> 00:01:04,849 Pra, çfarë llojet e Karakteristika bën një gjuhë 24 00:01:04,849 --> 00:01:10,040 duhet në mënyrë që të bëjë web faqet dinamike me të? 25 00:01:10,040 --> 00:01:14,760 >> Me fjalë të tjera, në qoftë se ju dëshironi për të gjeneruar dynamically-- përmbajtje si Facebook 26 00:01:14,760 --> 00:01:19,480 Newsfeed, e cila ndryshon vazhdimisht, apo Mesazhet e çastit që pop up nga koha 27 00:01:19,480 --> 00:01:21,872 të time-- si ajo është pjesë kryesore e funksionalitetit 28 00:01:21,872 --> 00:01:24,580 ju keni nevojë për një gjuhë programimi që do të ju lejojnë dinamike 29 00:01:24,580 --> 00:01:28,070 shtypura informacion të ri në ekran? 30 00:01:28,070 --> 00:01:28,685 >> STUDENT: Kodi. 31 00:01:28,685 --> 00:01:29,560 DAVID J. Malan: Kodi. 32 00:01:29,560 --> 00:01:30,440 OK. 33 00:01:30,440 --> 00:01:31,995 Ne do të marrë atë. 34 00:01:31,995 --> 00:01:35,310 A pak më të saktë. 35 00:01:35,310 --> 00:01:37,639 Unë do të thotë, që ne mund të bëjmë këtë me C, sinqerisht. 36 00:01:37,639 --> 00:01:38,930 Ajo do të jetë një dhimbje në qafë. 37 00:01:38,930 --> 00:01:41,045 But-- është ky angazhim? 38 00:01:41,045 --> 00:01:41,895 >> STUDENT: Po. 39 00:01:41,895 --> 00:01:42,677 Variablat, ndoshta? 40 00:01:42,677 --> 00:01:43,760 DAVID J. Malan: Ndryshore. 41 00:01:43,760 --> 00:01:44,160 OK, i sigurt. 42 00:01:44,160 --> 00:01:45,740 Variablat siguri mund të na ndihmojë jashtë. 43 00:01:45,740 --> 00:01:47,020 Dhe madje edhe diçka të thjeshtë. 44 00:01:47,020 --> 00:01:50,640 Ne kemi përdorur atë në e parë Programi i ditës së parë 45 00:01:50,640 --> 00:01:55,686 kur ne fakt tha "hello botë." 46 00:01:55,686 --> 00:01:56,570 >> STUDENT: Print. 47 00:01:56,570 --> 00:01:57,778 >> DAVID J. Malan: Print, e drejtë? 48 00:01:57,778 --> 00:02:01,050 Print, ose printf në Bota e C. Pra, të gjithë këtë kohë, 49 00:02:01,050 --> 00:02:03,362 ne kemi pasur në tonë Dispozicion a language-- C, 50 00:02:03,362 --> 00:02:05,570 në particular-- dhe madje edhe Scratch për këtë çështje se 51 00:02:05,570 --> 00:02:07,400 mund të gjenerojnë vargjet e tekstit. 52 00:02:07,400 --> 00:02:11,090 >> E pra, në qoftë se HTML, siç e pamë javën e kaluar, është vetëm një bandë e tërë e vargjet e tekstit 53 00:02:11,090 --> 00:02:14,692 megjithëse me kllapa të hapura dhe të mbyllura kllapa dhe disa lloj rimë 54 00:02:14,692 --> 00:02:16,650 dhe arsyeja pas saj, edhe atëherë ne mund të vërtetë 55 00:02:16,650 --> 00:02:20,440 fillojnë gjeneruar web pages ose dorë nga shtypja e tyre në gedit 56 00:02:20,440 --> 00:02:23,870 ose në Microsoft Word, për këtë matter-- ne vetëm duhet një editor teksti. 57 00:02:23,870 --> 00:02:26,830 >> Ose ne mund të shkruani kodin, sugjerimin tuaj 58 00:02:26,830 --> 00:02:30,435 më parë, që do të na lejojnë dinamike të gjenerojë HTML, 59 00:02:30,435 --> 00:02:32,560 dhe kjo është ajo që ne jemi duke shkuar të fillojnë të bëjnë me PHP 60 00:02:32,560 --> 00:02:34,900 dhe në fund të fundit edhe me një gjuha e quajtur JavaScript, 61 00:02:34,900 --> 00:02:37,910 është të përdorin një gjuhë për të gjeneruar një tjetër. 62 00:02:37,910 --> 00:02:40,720 Dhe në të vërtetë, kjo është ajo që Facebook dhe shumë, shumë vende të tjera 63 00:02:40,720 --> 00:02:44,530 të bëjë në fakt dinamike të shfaqur informacion të ri për ju. 64 00:02:44,530 --> 00:02:47,117 >> Pra, le të fillojmë me this-- a Linja fshehtë në kërkim, por një 65 00:02:47,117 --> 00:02:48,450 kjo është në të vërtetë mjaft i fuqishëm. 66 00:02:48,450 --> 00:02:51,210 Deri tani, ne kemi qenë duke përdorur C, e cila është një gjuhë e hartuar. 67 00:02:51,210 --> 00:02:55,050 Dhe vetëm një recap-- shpejtë a hartuar Gjuha ka çfarë karakteristikë? 68 00:02:55,050 --> 00:02:59,050 Ju padyshim duhet të hartojë atë, por çfarë do të thotë kjo? 69 00:02:59,050 --> 00:03:00,505 Vërtet? 70 00:03:00,505 --> 00:03:02,940 >> STUDENT: Ajo duhet të jetë e mbledhur në kodin e makinës. 71 00:03:02,940 --> 00:03:03,060 >> DAVID J. Malan: OK. 72 00:03:03,060 --> 00:03:04,530 Ajo ka nevojë për të mbledhur në kodin e makinës. 73 00:03:04,530 --> 00:03:07,340 Pra, ju merrni kodin tuaj burim, e cila është lloj i anglisht-si. 74 00:03:07,340 --> 00:03:09,270 Ju konvertojë atë në Niveli i ulët diçka, 75 00:03:09,270 --> 00:03:11,590 e cila është quajtur në fund të fundit Objekti code-- 0 dhe 1 i. 76 00:03:11,590 --> 00:03:14,830 Dhe kjo është këto 0 dhe 1 i se një CPU, si ato të bëra nga Intel, 77 00:03:14,830 --> 00:03:16,110 në të vërtetë kuptojnë. 78 00:03:16,110 --> 00:03:19,690 >> Tani, PHP dhe Python dhe Ruby dhe JavaScript dhe bunches e të tjera 79 00:03:19,690 --> 00:03:23,190 Gjuhët nuk janë hartuar Gjuhët por interpretuar gjuhë, 80 00:03:23,190 --> 00:03:26,630 që do të thotë që ju vetëm shkruani ato dhe pastaj ju nuk do të kthejnë ato në 0 dhe 1 i. 81 00:03:26,630 --> 00:03:30,790 Ju në vend që vetëm të sigurojë pastaj si input për programin e dikujt tjetër, 82 00:03:30,790 --> 00:03:32,080 quajtur një përkthyes. 83 00:03:32,080 --> 00:03:34,460 Dhe ai person të Programi është hartuar 84 00:03:34,460 --> 00:03:38,280 për të kuptuar se çfarë secili dhe çdo simbol në Python ose PHP 85 00:03:38,280 --> 00:03:42,650 ose Ruby apo ndonjë numër të gjuhë të tjera do të thotë. 86 00:03:42,650 --> 00:03:44,760 >> Dhe kështu që të gjithë ne kemi nevojë është diçka si kjo. 87 00:03:44,760 --> 00:03:46,350 Pra, në fakt, unë jam duke shkuar për kalojmë në aplikim 88 00:03:46,350 --> 00:03:48,100 këtu, vetëm në ndonjë dritare të vjetra, dhe ne jemi 89 00:03:48,100 --> 00:03:52,580 do të shkoj përpara dhe të hapur një skedar të quajtur, të themi, përshëndetje. 90 00:03:52,580 --> 00:03:55,780 Tani më parë, unë mund të shpëtohet kjo edhe me një file extension, 91 00:03:55,780 --> 00:03:57,910 por unë jam duke shkuar për të bërë diçka edhe më të thjeshta këtu. 92 00:03:57,910 --> 00:04:02,450 Unë jam duke shkuar për të shkuar përpara dhe të fillojnë të kjo skedë me këtë sintaksë fshehtë. 93 00:04:02,450 --> 00:04:06,310 Pra "përdoruesit, bin, env, për mjedisin, php. " 94 00:04:06,310 --> 00:04:10,670 >> Kjo është thjesht një linjë të kodit që është do të tregoj sistemin tim operativ, 95 00:04:10,670 --> 00:04:13,730 shkoni gjeni në lokal tuaj Mjedisi çfarëdo që është, 96 00:04:13,730 --> 00:04:18,149 kudo PHP is-- e interpreter-- dhe të shkojnë përpara dhe të përdorin këtë përkthyes 97 00:04:18,149 --> 00:04:20,589 për të interpretuar kodin e mëposhtëm. 98 00:04:20,589 --> 00:04:22,760 Tani, kjo është lloj i një tipar i shëmtuar për PHP. 99 00:04:22,760 --> 00:04:24,980 Por në këtë gjuhë, çdo Koha që ju shkruani kodin PHP, 100 00:04:24,980 --> 00:04:29,200 ju duhet të keni një nga këto shëmtuar PHP tags shënimin fillim 101 00:04:29,200 --> 00:04:32,220 i juaj code-- 00:04:37,430 >> Por poshtë këtu, unë tani mund të bëjë diçka fare e thjeshtë, si printf përshëndetje presje 103 00:04:37,430 --> 00:04:40,922 Bota ngushtë backslash n quote, kllapë të ngushtë. 104 00:04:40,922 --> 00:04:42,630 Dhe pastaj vetëm për të mirë masë, unë jam duke shkuar 105 00:04:42,630 --> 00:04:45,380 për të shkuar përpara dhe të ngushtë tag im php këtu 106 00:04:45,380 --> 00:04:47,390 Kështu që çdo gjë duket bukur goxha të shtypura. 107 00:04:47,390 --> 00:04:50,780 >> Dhe, sa më shpejt që unë klikoni Save, gedit është e mjaftueshme në të vërtetë i zgjuar 108 00:04:50,780 --> 00:04:54,620 për të parë në këtë linjë të parë dhe kuptojnë, oh, ju jeni të shkruar kodin PHP. 109 00:04:54,620 --> 00:04:56,710 Më lejoni të theksoj sintakse ajo me ngjyra 110 00:04:56,710 --> 00:04:58,690 here kështu që ajo qëndron një pak më shumë. 111 00:04:58,690 --> 00:05:01,300 Por tani unë jam duke shkuar për të shkuar poshtë në dritaren time terminal. 112 00:05:01,300 --> 00:05:02,340 Unë do të zoom in. 113 00:05:02,340 --> 00:05:06,860 >> Ky program u quajt "hello," kështu që unë jam duke shkuar për të bërë dot plagë hello, 114 00:05:06,860 --> 00:05:07,990 por leje mohuar. 115 00:05:07,990 --> 00:05:08,490 Dhe bash. 116 00:05:08,490 --> 00:05:10,610 Ne fakt dëgjuar se gjë nja dy javë më parë 117 00:05:10,610 --> 00:05:13,140 në kontekstin e Shellshock, një nga ato bugs. 118 00:05:13,140 --> 00:05:16,240 >> Por leje mohoi ne kemi parë më parë, ndoshta në një kontekst të ndryshëm. 119 00:05:16,240 --> 00:05:19,060 A kujtohet dikush se si ju mund të rregullojmë diçka 120 00:05:19,060 --> 00:05:22,100 ku leja është refuzuar si kjo? 121 00:05:22,100 --> 00:05:23,490 Çfarë është komandë, të paktën? 122 00:05:23,490 --> 00:05:24,159 >> STUDENT: chmod. 123 00:05:24,159 --> 00:05:26,700 DAVID J. Malan: Yeah, chmod, për ndryshimin e mënyrën e një skedar. 124 00:05:26,700 --> 00:05:30,171 Dhe ju do të merrni të gjitha më e përdorur për të këtë javën e ardhshme me një problem të mëvonshme 125 00:05:30,171 --> 00:05:30,670 vendosur. 126 00:05:30,670 --> 00:05:33,211 Por tani për tani, unë jam duke shkuar për të ndryshuar mënyrë që të mos jenë të lexueshme, 127 00:05:33,211 --> 00:05:36,650 por për të dhënë të gjithëve executeability privilegje, aftësia 128 00:05:36,650 --> 00:05:37,710 për të drejtuar këtë fotografi. 129 00:05:37,710 --> 00:05:40,360 Dhe unë jam duke shkuar për të caktojë që në dosjen përshëndetje. 130 00:05:40,360 --> 00:05:45,150 >> Nëse unë tani bëj dot plagë përshëndetje të hyjë, ju shih, në fakt, programi im, hello world. 131 00:05:45,150 --> 00:05:48,760 Dhe çfarë bëri hap I në mënyrë të qartë kaloni krejt? 132 00:05:48,760 --> 00:05:49,520 Hartimin. 133 00:05:49,520 --> 00:05:51,680 Kështu që unë vetëm u zhvillua këtë program mjaft thjesht. 134 00:05:51,680 --> 00:05:55,690 >> Dhe kjo rezulton se ju mund ta bëni këtë me një shumë të sintaksës kujton C. 135 00:05:55,690 --> 00:06:03,400 Më lejoni të shkoj te kodin e sotme, që unë vënë në directory time vhost 136 00:06:03,400 --> 00:06:05,250 këtu, për arsye të vërteta ne do të kthehen në. 137 00:06:05,250 --> 00:06:09,350 Dhe unë jam duke shkuar për të shkuar në, le të themi, kushtet 1. 138 00:06:09,350 --> 00:06:12,450 >> Dhe ju do të shihni këtu, së pari dhe së gjithash, një bandë e tërë e komenteve. 139 00:06:12,450 --> 00:06:15,240 Por kjo është në të vërtetë një ri-krijim në PHP 140 00:06:15,240 --> 00:06:18,960 e një programi që ne bëmë në javë një quajtur kushtet 1.c 141 00:06:18,960 --> 00:06:20,690 ku qëllimi në Jeta e këtij programi 142 00:06:20,690 --> 00:06:22,950 është me sa duket për të kërkuar përdoruesit për një numër të plotë 143 00:06:22,950 --> 00:06:25,270 dhe pastaj të bëjë disa me gëzof Analiza mbi atë anë të të cilit 144 00:06:25,270 --> 00:06:29,510 ju thoni nëse është pozitive ose negative ose e barabartë me zero. 145 00:06:29,510 --> 00:06:34,220 Dhe unë të sjellë këtë ide vetëm për shkak se, me përjashtim të ndoshta një detaj të vogël, 146 00:06:34,220 --> 00:06:37,150 është i padallueshëm aq larg C. 147 00:06:37,150 --> 00:06:39,930 >> Çfarë është një karakteristikë këtu se ndoshta hedhje jashtë 148 00:06:39,930 --> 00:06:41,410 në ju si një pak më ndryshe? 149 00:06:41,410 --> 00:06:42,160 Ndoshta dy gjëra. 150 00:06:42,160 --> 00:06:42,660 Vërtet? 151 00:06:42,660 --> 00:06:44,070 >> STUDENT: Dollar shenjë n? 152 00:06:44,070 --> 00:06:44,944 >> DAVID J. Malan: Po. 153 00:06:44,944 --> 00:06:46,210 Pra shenjë dollar n është i pranishëm. 154 00:06:46,210 --> 00:06:48,120 Dhe shenja dollar, si ne do të shohim, do 155 00:06:48,120 --> 00:06:51,460 të jetë një fix në fillim për çdo variabël në PHP. 156 00:06:51,460 --> 00:06:54,250 Kjo është edhe e mirë e mirë dhe bad-- në se kjo është lloj i qartë se çfarë është 157 00:06:54,250 --> 00:06:56,797 një variabël, e keqe në atë që është e një tjetër gjë për të tipit. 158 00:06:56,797 --> 00:06:58,630 Dhe ka një tjetër gjë që ne nuk e kemi mjaft të 159 00:06:58,630 --> 00:07:00,876 parë, të paktën nga ky drejtshkrim. vërtet? 160 00:07:00,876 --> 00:07:01,630 >> STUDENT: linja leximi. 161 00:07:01,630 --> 00:07:02,671 >> DAVID J. Malan: linja leximi. 162 00:07:02,671 --> 00:07:06,550 Linja leximi ne nuk shohim, per se, në C, edhe pse ekziston diçka 163 00:07:06,550 --> 00:07:09,530 të ngjashme, por ne kemi përdorur getstring, dhe kjo është homologu i tij. 164 00:07:09,530 --> 00:07:12,950 Pra, nëse unë shkoj në këtë Lista, e cila ndodh të jetë, 165 00:07:12,950 --> 00:07:18,030 si unë do të shpjegojë në një grimë në vhost tim Lista dhe burimi im A directory, 166 00:07:18,030 --> 00:07:22,730 dhe të shkoj përpara dhe të bëjë dot plagë conditions-- whoops-- dot slash 167 00:07:22,730 --> 00:07:26,710 Kushtet e 1, ju do të shihni, përsëri, njëjta leje issue-- mohuar. 168 00:07:26,710 --> 00:07:33,610 >> Pra më lejoni të zoom në dhe të bëjë chmod një plus x nga kushtet, kushtet dot slash. 169 00:07:33,610 --> 00:07:35,222 Unë do të doja një numër të plotë, ju lutem, 50. 170 00:07:35,222 --> 00:07:36,930 Dhe ne mund të luajë këtë Lojë e gjatë gjithë ditës. 171 00:07:36,930 --> 00:07:39,140 Ajo do të sillen tamam ashtu siç bëri në një javë. 172 00:07:39,140 --> 00:07:42,860 >> OK kështu që jo të gjithë aq të ndryshëm, me përjashtim të jo vetëm se pak e vogël e sintaksës, 173 00:07:42,860 --> 00:07:45,490 por në krye, unë përsëri kishte këtë linjë e cila 174 00:07:45,490 --> 00:07:49,760 lejuar mua për të krijuar diçka që duket si një program C quajtur hello, 175 00:07:49,760 --> 00:07:51,150 quajtur kushte 1. 176 00:07:51,150 --> 00:07:54,520 Por kjo nuk është 0 dhe ato Unë jam ekzekutimin direkt. 177 00:07:54,520 --> 00:07:57,620 Është vend running këtë Përkthyesi emri i të cilit 178 00:07:57,620 --> 00:07:59,440 ndodh të jetë identike me gjuhën. 179 00:07:59,440 --> 00:08:04,970 Programi quhet PHP, dhe kodi im nën një linjë është kaluar në të. 180 00:08:04,970 --> 00:08:07,740 >> Ne mund të bëjmë një tjetër mjaft e thjeshtë shembull kujton diçka 181 00:08:07,740 --> 00:08:09,240 ne e bëmë javë më parë. 182 00:08:09,240 --> 00:08:12,020 Përsëri, kjo është një lloj i copë arbitrare të kodit 183 00:08:12,020 --> 00:08:14,000 që me sa duket ka çfarë, kur keni drejtuar atë? 184 00:08:14,000 --> 00:08:15,625 Çfarë është kjo do të shtypura, me sa duket? 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> Pra, fillimisht on line 16, është e do të thonë se x është tani 2, ndoshta. 187 00:08:28,250 --> 00:08:30,920 % D është njëjtë si $ i për printf. 188 00:08:30,920 --> 00:08:33,460 Pra, atëherë ajo është cubing, dot, dot, dot, në përputhje 17. 189 00:08:33,460 --> 00:08:36,299 Dhe pastaj të vijë 18 afishohet për të thirrur një funksion kub. 190 00:08:36,299 --> 00:08:37,600 Dhe ku është përcaktuar Cubed? 191 00:08:37,600 --> 00:08:40,319 >> E pra, kjo duket si në linjë 25, kështu që nuk është e gjitha që të ndryshme. 192 00:08:40,319 --> 00:08:42,610 Unë kam marrë disa komente më sipër ajo, por për pjesën më të madhe, 193 00:08:42,610 --> 00:08:45,370 kjo është një mjaft i thjeshtë porting apo konvertimit 194 00:08:45,370 --> 00:08:48,470 nga programi C në versionin e PHP. 195 00:08:48,470 --> 00:08:52,670 Por tani ka një çift të dallime që ndoshta duhet të hidhen jashtë. 196 00:08:52,670 --> 00:08:56,100 Çfarë tjetër është e ndryshme për mënyrën se si ju mund të shkruaj këtë program të njëjtë në C? 197 00:08:56,100 --> 00:08:57,900 >> STUDENT: [padëgjueshme]. 198 00:08:57,900 --> 00:09:00,070 >> DAVID J. Malan: Nuk ka nuk prototip up top. 199 00:09:00,070 --> 00:09:03,210 Pra PHP-- dhe sinqerisht, një Shumë languages-- moderne 200 00:09:03,210 --> 00:09:06,920 janë shumë të zgjuar dhe më të dobishme se C Hartuesit në atë që ju 201 00:09:06,920 --> 00:09:09,740 mund të vihet në funksion deri këtu, ju mund të vendosni një funksion këtu poshtë, 202 00:09:09,740 --> 00:09:12,740 dhe përkthyesi është duke shkuar për të bërë ju të mirat e leximit 203 00:09:12,740 --> 00:09:16,010 tërë dosja para se të vendos se disa funksion nuk ekziston. 204 00:09:16,010 --> 00:09:17,970 Pra përmirësime bukur vjet më vonë. 205 00:09:17,970 --> 00:09:22,126 Por ka edhe diçka tjetër i ndryshëm ose mungon këtu. 206 00:09:22,126 --> 00:09:22,626 Vërtet? 207 00:09:22,626 --> 00:09:25,084 >> STUDENT: [padëgjueshme]. 208 00:09:25,084 --> 00:09:27,750 DAVID J. Malan: Ne nuk duhet të deklarojnë llojet e variablave, 209 00:09:27,750 --> 00:09:31,780 kështu që ne do të shohim para se të gjatë se ka lloje të ndryshme në PHP, 210 00:09:31,780 --> 00:09:34,970 por ju nuk keni nevojë të specifikojë ato, i cili gjithashtu është edhe e mirë dhe e keqe. 211 00:09:34,970 --> 00:09:36,623 Dhe nuk është një gjë që mungon tjetër. 212 00:09:36,623 --> 00:09:37,430 >> STUDENT: Nuk ka biblioteka. 213 00:09:37,430 --> 00:09:38,630 >> DAVID J. Malan: Nuk ka biblioteka. 214 00:09:38,630 --> 00:09:39,350 OK, kështu që është e bukur. 215 00:09:39,350 --> 00:09:40,540 Ne kemi marrë një shumë më tepër të dalë nga kutia. 216 00:09:40,540 --> 00:09:43,373 Pra, nuk është në fakt një shumë më tepër gjëra se sa kam menduar ishin të ndryshme. 217 00:09:43,373 --> 00:09:44,350 Si në lidhje me mënyrën në shpinë? 218 00:09:44,350 --> 00:09:46,032 Çfarë është kjo? 219 00:09:46,032 --> 00:09:46,740 Thonë se edhe një herë? 220 00:09:46,740 --> 00:09:47,960 >> STUDENT: Pointer. 221 00:09:47,960 --> 00:09:49,270 >> DAVID J. Malan: Nuk pointers. 222 00:09:49,270 --> 00:09:51,280 OK, të paktën në këtë shembull, nr. 223 00:09:51,280 --> 00:09:52,070 Kjo është e drejtë. 224 00:09:52,070 --> 00:09:55,090 Pra, nuk ka pointers në PHP fakt në përgjithësi. 225 00:09:55,090 --> 00:09:58,730 Ka diçka të quajtur referenca, por ne nuk do të kalojnë shumë kohë atje. 226 00:09:58,730 --> 00:09:59,520 Dhe çfarë tjetër? 227 00:09:59,520 --> 00:10:00,185 >> STUDENT: Main. 228 00:10:00,185 --> 00:10:01,060 DAVID J. Malan: Main. 229 00:10:01,060 --> 00:10:02,768 Pra, kjo ishte biggie Unë isha duke menduar për të. 230 00:10:02,768 --> 00:10:04,660 Njoftim nuk ka asnjë pikë kryesore e hyrjes. 231 00:10:04,660 --> 00:10:06,525 Ju thjesht filloni të shkruani kodin tuaj. 232 00:10:06,525 --> 00:10:08,400 Dhe kjo është në të vërtetë do të jetë e dobishme 233 00:10:08,400 --> 00:10:10,560 kur ne tranzicion një çast që në fakt duke përdorur 234 00:10:10,560 --> 00:10:13,980 kjo gjuhë njëjtë për web-bazuar programimi, për të cilat ne 235 00:10:13,980 --> 00:10:16,580 nuk duan që të ketë vetëm një pikë e hyrjes. 236 00:10:16,580 --> 00:10:19,980 Ne mund të dëshironi që të ketë një bandë e URLs, një bandë e dosjeve të ndryshme 237 00:10:19,980 --> 00:10:22,930 të gjitha duke marrë në input të përdoruesit dhe prodhimin e prodhimit. 238 00:10:22,930 --> 00:10:27,130 >> Por këtu është shumë i dobët Shembulli që kam premtuar për herë të fundit, 239 00:10:27,130 --> 00:10:30,130 përkatësisht në këtë dosje këtu, misspellings. 240 00:10:30,130 --> 00:10:33,680 Pra, në këtë fotografi speller, të cilat ne nuk do të kalojnë shumë kohë në, nuk ka 241 00:10:33,680 --> 00:10:37,870 thelb a porting-- P-O-R-T. Është vetëm fjala jepet kur, të themi, 242 00:10:37,870 --> 00:10:40,800 ju konvertojë nga një gjuhë në një tjetër dorë zakonisht. 243 00:10:40,800 --> 00:10:45,680 >> Kjo është një porting e PC version i speller nga PSET 5. 244 00:10:45,680 --> 00:10:48,856 Dhe unë në thelb u përpoq për të kthyer ajo rresht pas rreshti aq afër sa mundem. 245 00:10:48,856 --> 00:10:51,730 Pra, nëse ju pëlqen këtë lloj gjë, ai në fakt është me vlerë në një pikë 246 00:10:51,730 --> 00:10:54,229 tërhequr ata të dy deri në krah anë dhe duke parë se çfarë është e njëjtë 247 00:10:54,229 --> 00:10:55,230 dhe çfarë është e ndryshme. 248 00:10:55,230 --> 00:10:57,510 Por, ata janë goxha i mallkuar të ngjashme. 249 00:10:57,510 --> 00:11:00,110 Nëse ju kujtohet se çfarë speller madje dukej si, 250 00:11:00,110 --> 00:11:02,110 edhe pse ju nuk e keni duhet të ndryshojë këtë fotografi, 251 00:11:02,110 --> 00:11:04,860 kjo është goxha e ngjashme strukturalisht me vetëm një çift 252 00:11:04,860 --> 00:11:06,200 i ndryshimeve këtu dhe atje. 253 00:11:06,200 --> 00:11:10,140 >> Pra, kjo është vetëm për të thënë se kjo është goxha hapur për të kthyer speller 254 00:11:10,140 --> 00:11:12,000 nga C në PHP. 255 00:11:12,000 --> 00:11:15,390 Por në fjalor, nuk ka diçka edhe më bindëse. 256 00:11:15,390 --> 00:11:19,270 Më lejoni të shkojnë përpara dhe për të krijuar vetë dosjen time dictionary.php. 257 00:11:19,270 --> 00:11:24,010 Pra, pak më ndryshe se ne do të thërrasë atë Php vend të .c. 258 00:11:24,010 --> 00:11:26,980 Për shkak se kjo është një fotografi PHP, I do-- pak annoyingly-- kanë 259 00:11:26,980 --> 00:11:30,132 për të filluar me fotografi a tag php si kjo. 260 00:11:30,132 --> 00:11:32,340 Dhe unë jam duke shkuar për të shkuar përpara dhe të përcaktojë një funksionet disa. 261 00:11:32,340 --> 00:11:35,770 Funksion quajtur kontroll, i cili është shkuar për të marrë në një fjalë si më parë. 262 00:11:35,770 --> 00:11:37,520 Por ky argument të do të ketë një dollar 263 00:11:37,520 --> 00:11:39,840 nënshkruajë, sepse ne jemi, përsëri, duke përdorur PHP. 264 00:11:39,840 --> 00:11:42,350 Një tjetër funksion nga dictionary.c ishte load 265 00:11:42,350 --> 00:11:47,120 dhe ajo mori në emër të një fjalor, kështu që unë do të merrni atë funksion gati për të shkuar. 266 00:11:47,120 --> 00:11:50,920 >> Një tjetër në dictionary.c ishte ajo? 267 00:11:50,920 --> 00:11:54,580 Madhësia ishte një nga ato nicest, në më pak në qoftë se ju mbajtur disa ndryshore përreth. 268 00:11:54,580 --> 00:11:57,830 prandaj madhësia e vetëm ka për t'u kthyer një ndryshore. 269 00:11:57,830 --> 00:11:59,090 Dhe pastaj ishte shkarkoj. 270 00:11:59,090 --> 00:12:02,830 >> Pra, ka qenë këto katër Funksionet në problemin vendosur 5 271 00:12:02,830 --> 00:12:06,770 që ju nevojitet për të zbatuar me disa struktura të dhënave ose struktura. 272 00:12:06,770 --> 00:12:10,170 Kështu që unë premtoi se në PHP, mund të deklarojë 273 00:12:10,170 --> 00:12:14,490 një tavolinë hash, për shembull, të gjitha që më lehtë. 274 00:12:14,490 --> 00:12:17,377 Në fakt, në qoftë se unë dua një tabelë hash, Unë jam vetëm duke shkuar për të shkuar si kjo 275 00:12:17,377 --> 00:12:18,460 dhe ka tabela ime hash. 276 00:12:18,460 --> 00:12:21,555 Dhe kjo është shënim, jashtëzakonisht e dobët, që ne e kemi lënë jashtë në kohë të fundit. 277 00:12:21,555 --> 00:12:23,930 Dhe ju e dini se çfarë, nëse kam kërkuar një variabël për madhësinë, mirë, 278 00:12:23,930 --> 00:12:25,867 kjo nuk është e gjitha që ndryshme nga C, 279 00:12:25,867 --> 00:12:27,450 por unë jam duke shkuar për të shkuar përpara dhe të bëjë atë. 280 00:12:27,450 --> 00:12:28,630 Dhe vini re asnjë lloj të dhënash. 281 00:12:28,630 --> 00:12:31,180 Dhe unë do të kthehem më vonë dhe në të vërtetë të shtoni disa komente ketu. 282 00:12:31,180 --> 00:12:32,480 Por ajo që për të ngarkesës? 283 00:12:32,480 --> 00:12:35,780 >> Nëse shenja dollar dictionary është emri i skedarit tim 284 00:12:35,780 --> 00:12:39,600 dhe unë në fakt dua të ngarkesës Fjalët Në këtë tryezë tani, 285 00:12:39,600 --> 00:12:42,360 Unë në fakt mund të bëjë diçka mjaft e thjeshtë. 286 00:12:42,360 --> 00:12:44,880 One-- dhe kjo është minorly annoying-- në PHP, 287 00:12:44,880 --> 00:12:47,710 ju duhet të specifikoni brenda një funksion, nëse ju 288 00:12:47,710 --> 00:12:51,060 duan për të hyrë në disa globale variabël që është definuar jashtë. 289 00:12:51,060 --> 00:12:53,530 >> Por kjo nuk është veçanërisht e interesante tani. 290 00:12:53,530 --> 00:12:57,920 Çfarë është më interesante është kjo për secilin ndërtuar që kam përmendur për herë të fundit. 291 00:12:57,920 --> 00:13:01,880 Dhe kjo rezulton se PHP ka një funksion quajtur fotografi qëllimi i të cilit në jetë 292 00:13:01,880 --> 00:13:05,550 është për të hapur një file dhe të lexoni në të gjithë linjat e saj në një rrjet 293 00:13:05,550 --> 00:13:06,840 dhe dorën e tyre prapa për të. 294 00:13:06,840 --> 00:13:12,170 >> Që do të thotë unë mund të bëjë fjalor kështu që tani në mënyrë efektive, kur unë e quaj file, 295 00:13:12,170 --> 00:13:15,472 kjo do të dorëzojë më mbrapa një grup i fjalëve nga file. 296 00:13:15,472 --> 00:13:16,430 Kjo nuk është e gjitha që i mirë. 297 00:13:16,430 --> 00:13:20,130 Kjo është ende do të jetë një linjë e fjalëve, diçka lineare. 298 00:13:20,130 --> 00:13:23,880 Por unë mund të shkoni përpara dhe të iterate mbi secilin prej këtyre fjalëve përdorimit 299 00:13:23,880 --> 00:13:25,710 se sintaksa pamë herë shkurtimisht fundit. 300 00:13:25,710 --> 00:13:27,940 Dhe ju do të shihni atë në mënyrë më në PSET ardhshme. 301 00:13:27,940 --> 00:13:32,070 >> Por tani unë kam një iterating lak mbi çdo fjalë në fjalor. 302 00:13:32,070 --> 00:13:36,100 Dhe në çdo përsëritje, kujtoj unë jam duke e quajtur fjalën aktuale "Fjala". 303 00:13:36,100 --> 00:13:39,790 Dhe të gjithë ajo do të marrë të vënë një fjalë në fjalor është 304 00:13:39,790 --> 00:13:43,530 do të jetë fjalë me mend "të vërtetë." 305 00:13:43,530 --> 00:13:44,740 Kjo është insert funksioni im. 306 00:13:44,740 --> 00:13:46,661 Kjo është funksioni im load për fjalorin tim. 307 00:13:46,661 --> 00:13:49,410 Tani kjo është pak e një mashtrojnë, sepse, ju e dini se çfarë, në të vërtetë ka 308 00:13:49,410 --> 00:13:52,920 backslash n-së në fund të fjalëve që unë ndoshta duhet të heqin qafe, 309 00:13:52,920 --> 00:13:56,380 por kjo nuk është një problem, sepse PHP ka një funksion të quajtur pres që fjalë për fjalë 310 00:13:56,380 --> 00:13:58,480 chops off një karakter në fund. 311 00:13:58,480 --> 00:13:59,400 Kështu që nuk ka problem atje. 312 00:13:59,400 --> 00:14:02,199 Ne kemi shkuar përpara dhe në fakt shkurtuar se vetëm kjo. 313 00:14:02,199 --> 00:14:05,240 Dhe tani unë ndoshta duhet të mbajnë gjurmët e madhësisë, kështu që le të paktën të bëjë this-- 314 00:14:05,240 --> 00:14:05,835 Madhësia ++. 315 00:14:05,835 --> 00:14:07,339 Unë mund të bëjë që si më parë. 316 00:14:07,339 --> 00:14:10,380 Dhe atëherë kjo është ndoshta do të punojnë vetëm gjobë, në mënyrë që të kthehen vërtetë. 317 00:14:10,380 --> 00:14:10,930 Bërë. 318 00:14:10,930 --> 00:14:11,797 PSET 5. 319 00:14:11,797 --> 00:14:13,545 >> [Qeshura] 320 00:14:13,545 --> 00:14:14,420 >> DAVID J. Malan: OK. 321 00:14:14,420 --> 00:14:16,628 Ne jemi duke shkuar për të bërë atë përsëri me PSET tjetër, too. 322 00:14:16,628 --> 00:14:18,730 Pra, çka në lidhje me madhësinë e? 323 00:14:18,730 --> 00:14:22,080 E pra, kjo shpresë është rreth si ju do të presin për herë të fundit, 324 00:14:22,080 --> 00:14:24,460 edhe pse unë duhet të bëj kjo gjë budalla globale. 325 00:14:24,460 --> 00:14:26,610 Kjo është vetëm një nga Objekti Dizajni gjuhës së. 326 00:14:26,610 --> 00:14:28,450 >> Por kontrolloni është pak më interesante. 327 00:14:28,450 --> 00:14:31,420 Pra, nëse kam kaluar në dollarit nënshkruajë fjalë, kam parë 328 00:14:31,420 --> 00:14:34,060 duan të kenë qasje në Tryeza globale variabel. 329 00:14:34,060 --> 00:14:36,700 Dhe tani, nëse unë dua të kontrolloni nëse një fjalë është atje, 330 00:14:36,700 --> 00:14:44,350 Unë thjesht mund të them nëse kjo është e vërtetë se në vijim është vendosur në tryezë, 331 00:14:44,350 --> 00:14:49,957 pastaj të shkojnë përpara dhe kthimi e vërtetë; tjetër, të kthehen rreme. 332 00:14:49,957 --> 00:14:51,180 Bërë. 333 00:14:51,180 --> 00:14:52,440 Gjysma tjetër e PSET 5. 334 00:14:52,440 --> 00:14:54,540 >> Në rregull, kështu që përsëri, unë jam prerja qoshet një pak. 335 00:14:54,540 --> 00:14:56,831 Në drejtësi, unë duhet ndoshta kalojnë disa sekonda më shumë 336 00:14:56,831 --> 00:14:58,300 në këtë zbatim. 337 00:14:58,300 --> 00:15:01,860 Dhe unë ndoshta nuk duhet të tallin të gjithë ore ju vënë në PSET aq shumë. 338 00:15:01,860 --> 00:15:04,045 Pra strtolower është një funksion. 339 00:15:04,045 --> 00:15:06,670 Diçka e ngjashme ekzistencialist në C, të paktën për karaktere, 340 00:15:06,670 --> 00:15:08,560 por PHP të marrë një version të tërë varg. 341 00:15:08,560 --> 00:15:11,226 >> Kjo do të detyrojë çdo gjë jo kapitale, të cilat disa prej jush 342 00:15:11,226 --> 00:15:14,944 mund të ketë bërë që të canonicalize çfarë ju u vënë në fjalorin tuaj. 343 00:15:14,944 --> 00:15:16,360 Dhe tani ju mund ta bëni këtë në C, too. 344 00:15:16,360 --> 00:15:17,780 Kjo ka të bëjë asgjë me PHP. 345 00:15:17,780 --> 00:15:20,260 >> Por çdo herë ju keni një kusht Boolean, 346 00:15:20,260 --> 00:15:22,680 si diçka në linjë 10 atje, e cila është e vetme 347 00:15:22,680 --> 00:15:27,145 do të vlerësojë të vërtetë apo false, dhe tuaj në qoftë tjetër në mënyrë të qartë 348 00:15:27,145 --> 00:15:33,620 kthehet e vërtetë apo e rreme, unë mund të thjesht të bëjë këtë sexier 349 00:15:33,620 --> 00:15:38,360 dhe vetëm të bëjë diçka si kjo. 350 00:15:38,360 --> 00:15:40,500 Pra, kjo nuk ka funksion im kontrolloni. 351 00:15:40,500 --> 00:15:42,560 E drejta, nëse Boolean kthehet një e vërtetë apo e rreme, 352 00:15:42,560 --> 00:15:44,630 le të vetëm të kthejë atë menjëherë. 353 00:15:44,630 --> 00:15:47,340 >> Dhe ka disa tweaks disa të tjera Unë mund të bëjë këtu dhe atje. 354 00:15:47,340 --> 00:15:51,380 Shkarkoj Load--, nga rruga, që është bërë. 355 00:15:51,380 --> 00:15:52,850 Asgjë për të bërë atje. 356 00:15:52,850 --> 00:15:55,840 Që të gjithë e kujtesës në PHP dhe shumë gjuhë të tjera 357 00:15:55,840 --> 00:15:57,570 menaxhohet në të vërtetë për ju. 358 00:15:57,570 --> 00:16:00,330 Pra, ndërsa në C, si keni mësuar me dhimbje, 359 00:16:00,330 --> 00:16:04,700 çdo gjë që ju malloc ose calloc ose risigurimi, ju duhet për të liruar veten. 360 00:16:04,700 --> 00:16:08,770 Çdo gjë që ju fopen, ju duhet të fclose, në mënyrë që burimet janë liruar në fund të fundit 361 00:16:08,770 --> 00:16:11,690 dhe mjetet si Valgrind nuk njoftim dhe nuk ankohen, 362 00:16:11,690 --> 00:16:13,570 e cila është një gjë e mirë për të drejtuar mbi ta. 363 00:16:13,570 --> 00:16:16,190 >> Por me siguri, nuk duhet të jetë një kapur, e drejtë? 364 00:16:16,190 --> 00:16:19,400 Përndryshe, ne lloj i tretur një bandë e tërë e javëve. 365 00:16:19,400 --> 00:16:23,270 Pra, nuk ka ndonjë numër arsyesh pse ne lloj e marrë këtë trajektore, 366 00:16:23,270 --> 00:16:24,440 por ekziston një tregti-off. 367 00:16:24,440 --> 00:16:25,820 E drejta, kjo ka qenë tematik. 368 00:16:25,820 --> 00:16:29,690 >> Pra, çfarë mund një tregti-off këtu lëviz, nga C në PHP? 369 00:16:29,690 --> 00:16:33,250 Ndjehet si gjithë të fituar deri më tani përveç pak i shëmtisë këtu apo atje. 370 00:16:33,250 --> 00:16:34,040 Po. 371 00:16:34,040 --> 00:16:34,700 Çfarë është kjo? 372 00:16:34,700 --> 00:16:36,064 >> STUDENT: [padëgjueshme] kujtesës. 373 00:16:36,064 --> 00:16:36,980 DAVID J. Malan: Speed. 374 00:16:36,980 --> 00:16:37,479 OK. 375 00:16:37,479 --> 00:16:40,720 Well, shpejtësia ime ishte mjaft i shpejtë. 376 00:16:40,720 --> 00:16:42,020 E drejtë? 377 00:16:42,020 --> 00:16:44,320 Por shpejtësia e ekzekutimit të programit? 378 00:16:44,320 --> 00:16:45,580 OK, kështu që kjo është një pikë e drejtë. 379 00:16:45,580 --> 00:16:50,930 >> Pra, pasi kjo do të ndodhë, unë më parë e shkaktuar deri dy zgjidhje time provoni, një 380 00:16:50,930 --> 00:16:53,510 I kishte në bord madh ishte një zgjidhje provoni me bazë, 381 00:16:53,510 --> 00:16:55,510 dhe unë kam që në këtë directory këtu. 382 00:16:55,510 --> 00:16:58,510 Kështu që unë në një moment, unë mund të shkoni përpara dhe të drejtuar këtë në King James Biblës, 383 00:16:58,510 --> 00:16:59,657 goditur Enter. 384 00:16:59,657 --> 00:17:01,990 Dhe kjo është shpresë e saktë Zbatimi në fund, 385 00:17:01,990 --> 00:17:05,109 Më jep kohë në gjithsej e 0,38 sekonda për të cilat 386 00:17:05,109 --> 00:17:07,270 një shembull disi arbitrare. 387 00:17:07,270 --> 00:17:09,270 >> Dhe në qoftë se unë tani të shkojnë në këtë dritare e dytë terminal 388 00:17:09,270 --> 00:17:14,569 këtu, ku unë të parë u hap Gedit, le iki në code-- sotme e cila, përsëri, 389 00:17:14,569 --> 00:17:19,650 është në këtë directory here-- dhe më lejoni të shkoj përpara dhe të drejtuar speller. 390 00:17:19,650 --> 00:17:23,470 Pra, vetëm të jetë i qartë, ky është versioni i PHP. 391 00:17:23,470 --> 00:17:25,170 Unë jam vetëm duke treguar pjesën e sipërme të saj këtu. 392 00:17:25,170 --> 00:17:32,020 >> Pra, nëse unë bëj speller të Tilde CS50 PSET 5 tekste, Mbreti James, të hyjë. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 Është ende shpejt se shkrimi atë në C, por koha e përgjithshme 395 00:17:43,050 --> 00:17:47,650 eshte, njoftim, 0.93, ndërsa im Zbatimi C-i bazuar ishte 0.38. 396 00:17:47,650 --> 00:17:49,110 Pra, kjo është një dallim jo-parëndësishëm. 397 00:17:49,110 --> 00:17:51,100 >> Dhe kjo është vetëm në një skedar. 398 00:17:51,100 --> 00:17:53,480 Në qoftë se keni qenë për të drejtuar dy Programet kundrejt bordit të mëdha 399 00:17:53,480 --> 00:17:56,510 dhe kanë një bandë e tërë e inputeve testuar, kjo me siguri do të shtoni deri. 400 00:17:56,510 --> 00:18:00,310 Dhe nëse do të kishim të dhëna të vendos edhe më të mëdha, kjo, gjithashtu, do të shtoni deri të gjitha më shumë. 401 00:18:00,310 --> 00:18:04,820 Pra, po, duke paguar një çmim i shpejtësisë është me të vërtetë rasti. 402 00:18:04,820 --> 00:18:05,470 Çfarë tjetër? 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 Vërtet? 405 00:18:08,860 --> 00:18:10,340 >> STUDENT: Shuma e përdorimit RAM. 406 00:18:10,340 --> 00:18:11,756 >> DAVID J. Malan: Shuma e përdorimit RAM. 407 00:18:11,756 --> 00:18:15,380 Kështu që unë nuk ka dhënë një të dytë menduar kur shkruar këtë PHP 408 00:18:15,380 --> 00:18:17,300 Versioni për sa kujtesës Unë kam qenë duke përdorur. 409 00:18:17,300 --> 00:18:22,080 Unë jam plotësisht i shtyrë që të PHP në vetvete dhe kushdo që shkroi atë program. 410 00:18:22,080 --> 00:18:24,500 Dhe kjo mund të jetë në rregull, por në qoftë se unë në fakt të vërtetë 411 00:18:24,500 --> 00:18:28,420 kujdesen për squeezing sa më shumë performancën nga programi time ose nga web faqen time 412 00:18:28,420 --> 00:18:31,150 ose nga çfarëdo mjeti Unë jam ndërtimin, ndoshta 413 00:18:31,150 --> 00:18:33,310 PHP, në të vërtetë, nuk është gjuha e drejtë. 414 00:18:33,310 --> 00:18:36,330 >> Dhe në fakt, kjo është arsyeja pse, për shembull, shumë web servers-- 415 00:18:36,330 --> 00:18:38,980 programet aktuale që shërbejë deri web content-- 416 00:18:38,980 --> 00:18:41,810 nuk janë të shkruara në PHP ose në Python ose Ruby. 417 00:18:41,810 --> 00:18:44,630 Ato janë të shkruara, si tani ju do të bëni me PSEt 6, 418 00:18:44,630 --> 00:18:48,120 në C në mënyrë që ju mund të shtrydh çdo bit i performancës nga ajo 419 00:18:48,120 --> 00:18:50,780 dhe me të vërtetë ushtrojnë kontrollin e gjobë-kokërr mbi atë që është e 420 00:18:50,780 --> 00:18:52,980 zihej individualitet dhe jo vetëm të marrë atë 421 00:18:52,980 --> 00:18:54,890 për të dhënë disa të lartë Struktura e të dhënave të nivelit. 422 00:18:54,890 --> 00:18:58,071 >> Konsideroni, pasi të gjithë, kushdo që në PHP zbatuar 423 00:18:58,071 --> 00:19:00,070 se nocioni i një hash table-- kjo është në fakt më shumë 424 00:19:00,070 --> 00:19:04,260 quajtur si duhet një array-- associative A ai ose ajo kanë ndonjë ide se çfarë lloj 425 00:19:04,260 --> 00:19:07,090 e inputeve që ju do të jenë të vënë në strukturën? 426 00:19:07,090 --> 00:19:08,260 Pra natyrisht jo, e drejtë? 427 00:19:08,260 --> 00:19:10,340 Është një mjet gjenerik në veglën që është 428 00:19:10,340 --> 00:19:13,430 kusht për këdo që dëshiron të përdorin atë, dhe kështu me siguri që 429 00:19:13,430 --> 00:19:17,680 nuk mund të jetë i optimizuar në fund të fundit sepse pikërisht ajo që ju doni të bëni. 430 00:19:17,680 --> 00:19:21,180 >> Pra, zhvillimi i tregtisë offs-- kohë mund ndryshojnë, performanca mund të ndryshojnë, 431 00:19:21,180 --> 00:19:23,120 Kompleksiteti ose përdorimin e kujtesës mund të ndryshojnë. 432 00:19:23,120 --> 00:19:24,820 Dhe kështu që ajo që ju do të gjeni gjithnjë e më shumë është se ka 433 00:19:24,820 --> 00:19:26,570 do të jetë i ndryshëm mjete për tregti. 434 00:19:26,570 --> 00:19:31,160 Dhe në fakt për një shumicë super e Projektet përfundimtare e njerëzve në këtë klasë, 435 00:19:31,160 --> 00:19:34,360 besoj se kjo apo jo, C nuk është duke shkuar të jetë gjuha e drejtë për të përdorur. 436 00:19:34,360 --> 00:19:37,880 >> Dhe në fakt, një nga takeaways në fund të fundit për çdo klasë si kjo 437 00:19:37,880 --> 00:19:40,510 është që të merrni ju të menduarit në lidhje me, mirë, çfarë duhet të tërheqë off 438 00:19:40,510 --> 00:19:42,710 raft kur të doni për të zgjidhur ndonjë problem. 439 00:19:42,710 --> 00:19:46,720 Dhe me të vërtetë, ne do të kalojnë këtë urë edhe më shumë si ne shikojmë në më shumë gjuhë 440 00:19:46,720 --> 00:19:47,920 madje edhe përtej të sotmes. 441 00:19:47,920 --> 00:19:50,530 >> Pra, le të tranzicionit tani ndoshta një kontekst më të njohur 442 00:19:50,530 --> 00:19:52,480 për të përdorur një gjuhë si PHP. 443 00:19:52,480 --> 00:19:56,720 Është disi e zakonshme për të përdorur në command line, me shkrim Scripts 444 00:19:56,720 --> 00:19:59,050 ashtu si kam bërë, por është e shumë, shumë më të zakonshme. 445 00:19:59,050 --> 00:20:02,350 Dhe kjo është për qëllim të përdoret në formë e dosjeve që zakonisht përfundojnë 446 00:20:02,350 --> 00:20:05,060 në .php-- por kjo është jo a prerequisite-- 447 00:20:05,060 --> 00:20:07,990 që vetë gjenerojnë përmbajtje web. 448 00:20:07,990 --> 00:20:11,310 >> Pra më lejoni të shkoj përpara dhe të hapur disa shembuj I përgatitur paraprakisht. 449 00:20:11,310 --> 00:20:15,100 Dhe këto janë në fakt lloj i vërtetë tregime në se një nga gjërat e para 450 00:20:15,100 --> 00:20:18,200 Kam bërë veten time pas mbarimit CS50 dhe ndoshta, unë mendoj, 451 00:20:18,200 --> 00:20:21,350 Vjet më parë, është CS51 im shokun dhe unë u ndihmuar 452 00:20:21,350 --> 00:20:24,320 për të drejtuar i brendshëm studente program sportive, i cili, në kohë, 453 00:20:24,320 --> 00:20:28,610 kishte fillestar regjistrimit për ndryshme sportive duke plotësuar një copë letër, 454 00:20:28,610 --> 00:20:31,800 siç u quajt, duke ecur nëpër oborr në Wigglesworth, 455 00:20:31,800 --> 00:20:34,030 dhe rënie atë në disa Rënia Proctor është dera. 456 00:20:34,030 --> 00:20:37,210 Dhe atëherë ai ose ajo do të kalojnë nëpër ata dhe pastaj në fakt na dërgoni me email në mënyrë manuale 457 00:20:37,210 --> 00:20:39,140 që janë regjistruar për një sport. 458 00:20:39,140 --> 00:20:41,166 >> Pra në mënyrë të qartë, një mundësi për përmirësim. 459 00:20:41,166 --> 00:20:44,040 Këto ditë, ju mund të kthehet vetëm Format Google, por mbrapa në ditë, 460 00:20:44,040 --> 00:20:46,914 na u desh që në fakt arritur for-- këtë nuk ishte edhe aq gjatë ago-- arrijnë 461 00:20:46,914 --> 00:20:49,410 për programimin e gjuhë që nuk ishte i PHP. 462 00:20:49,410 --> 00:20:51,200 Në atë kohë, ajo ishte diçka që quhet Perl, 463 00:20:51,200 --> 00:20:52,890 i cili ka dalë nga modë viti. 464 00:20:52,890 --> 00:20:54,160 Por ideja është e njëjtë. 465 00:20:54,160 --> 00:20:58,940 >> Dhe unë në thelb u ul për të provoni në port shkon versionet Perl në PHP, 466 00:20:58,940 --> 00:21:03,710 por në mohim të plotë, nuk ka dhënë çdo menduar për estetikë vetëm ende. 467 00:21:03,710 --> 00:21:04,960 Kështu që këtu është një faqe web. 468 00:21:04,960 --> 00:21:05,670 Kjo është një fotografi. 469 00:21:05,670 --> 00:21:09,470 Nëse unë zoom në, e saj duket quajtur froshim0.php 470 00:21:09,470 --> 00:21:12,060 vetëm për shkak se ajo është e jonë e parë Shembull në këtë seri. 471 00:21:12,060 --> 00:21:15,970 Dhe vini re se ajo ka atë që duket të jetë një formë shumë të shëmtuar HTML, 472 00:21:15,970 --> 00:21:18,680 por një formë interesante sepse ai ua mundëson 473 00:21:18,680 --> 00:21:21,910 Më të japin kontributin e përdoruesit për të shfletuesit. 474 00:21:21,910 --> 00:21:27,730 >> Tani është koha e fundit, kur kemi pasur një formë, për të të cilin nuk e kemi të paraqesë parametër tonë query, 475 00:21:27,730 --> 00:21:30,450 parametri radhë siç u quajt? 476 00:21:30,450 --> 00:21:31,330 Pra, për Google, e drejtë? 477 00:21:31,330 --> 00:21:34,090 Ne tërësisht goditur për në idenë e bëjnë asgjë me atë input. 478 00:21:34,090 --> 00:21:36,160 >> Por sot, ne fillojmë prodhimin e prodhimit. 479 00:21:36,160 --> 00:21:39,420 Dhe sjellja që unë jam duke shkuar për të parë këtu fillimisht është shumë i parëndësishëm. 480 00:21:39,420 --> 00:21:42,980 David, unë do të kontrolloni off gjinisë këtu, thonë Matthews këtu. 481 00:21:42,980 --> 00:21:43,800 Unë nuk do të jetë kapiten. 482 00:21:43,800 --> 00:21:45,410 Unë jam duke shkuar për të klikoni Regjistrohu. 483 00:21:45,410 --> 00:21:50,720 Dhe vini re se URL ka ndryshuar për të regjistruar, 0.php, 484 00:21:50,720 --> 00:21:52,310 dhe pastaj nuk ka, ky tekst shëmtuar këtu. 485 00:21:52,310 --> 00:21:54,460 I dha asnjë mendim formatimin e kësaj. 486 00:21:54,460 --> 00:21:59,900 >> Por ajo që është interesante është se tre Vlerat janë miratuar me sa duket në të. 487 00:21:59,900 --> 00:22:02,960 Kjo është lloj i PHP ekuivalente me printf-- 488 00:22:02,960 --> 00:22:06,330 ne do të shohim se çfarë është quajtur me të vërtetë në një bit-- që sapo printime nga 489 00:22:06,330 --> 00:22:08,300 çfarë keni kaluar në të. 490 00:22:08,300 --> 00:22:11,414 Pra, kjo sugjeron se atë formë kishin të paktën tri fusha të tij, 491 00:22:11,414 --> 00:22:12,580 dhe keni parë mua shkruani ato në. 492 00:22:12,580 --> 00:22:15,739 Njëri ishte emri im, një ishte gjinore, një ishte konvikt. 493 00:22:15,739 --> 00:22:18,780 Dhe Kapiteni nuk e merrni edhe dërguar server sepse unë nuk e kam kontrolluar atë. 494 00:22:18,780 --> 00:22:22,150 >> Pra, kjo do të thotë me sa duket, Kur ju të paraqesë gjëra në web, 495 00:22:22,150 --> 00:22:26,830 jo vetëm që e bën URL ndonjëherë change-- nganjëherë kjo nuk ka. 496 00:22:26,830 --> 00:22:30,330 Në fakt, emrin e file ndryshuar, por ajo që mungon nga URL 497 00:22:30,330 --> 00:22:32,861 se ne e bëmë të shohim për herë të fundit me Google. 498 00:22:32,861 --> 00:22:33,360 Vërtet? 499 00:22:33,360 --> 00:22:34,380 >> STUDENT: Nuk string query 500 00:22:34,380 --> 00:22:35,220 >> DAVID J. Malan: Nuk ka string query. 501 00:22:35,220 --> 00:22:37,270 Nuk ka diçka pikëpyetje. 502 00:22:37,270 --> 00:22:40,050 Nuk ka q pikëpyetje është e barabartë me macet, siç bëmë për herë të fundit. 503 00:22:40,050 --> 00:22:42,170 Dhe ka sigurisht asnjë Emri pikëpyetje barabartë 504 00:22:42,170 --> 00:22:46,310 David ose fjetore barabartë Matthews, mënyrë ku që të gjithë shkon? 505 00:22:46,310 --> 00:22:51,290 >> E pra, më lejoni të kthehem tek gedit këtu dhe hapin e parë të këtyre dosjeve 506 00:22:51,290 --> 00:22:57,020 në vhost time, host lokale, publike Lista këndej dhe shko në froshim0. 507 00:22:57,020 --> 00:23:02,060 Pra, rezulton se thuajse të gjithë këtë faqe është vetëm HTML. 508 00:23:02,060 --> 00:23:05,410 Dhe kjo mund të jetë e panjohur për ju, por ajo së shpejti do të jetë më aq me PSET 6 509 00:23:05,410 --> 00:23:07,370 dhe PSET 7 PSET 8. 510 00:23:07,370 --> 00:23:09,160 Por kjo është vetëm një faqe HTML. 511 00:23:09,160 --> 00:23:12,400 >> Dhe sende interesante duket të jetë këtu. 512 00:23:12,400 --> 00:23:16,290 Një tag formë veprimi i të cilit atribut ka një vlerë prej regjistrit 0. 513 00:23:16,290 --> 00:23:18,890 Kjo është arsyeja pse, kur unë të paraqesë kjo, ai shkon në atë dosje. 514 00:23:18,890 --> 00:23:20,620 Por metodë është postimi ndryshme today--. 515 00:23:20,620 --> 00:23:23,120 Pra, ajo rezulton atje është të paktën dy metoda në web përdorura 516 00:23:23,120 --> 00:23:24,911 për të dërguar informacion nga shfletuesi në server. 517 00:23:24,911 --> 00:23:25,980 Get vë atë në URL. 518 00:23:25,980 --> 00:23:27,950 Post vë atë diku tjetër. 519 00:23:27,950 --> 00:23:30,570 Dhe, kur dhe pse mund ti në të vërtetë duan një faqe interneti 520 00:23:30,570 --> 00:23:34,110 të përdorë postin atëherë në vend i marrë, vetëm intuitive? 521 00:23:34,110 --> 00:23:37,080 Çdo website. 522 00:23:37,080 --> 00:23:42,010 Çfarë lloj i të dhënave duhet të kalohen vetëm me konkluzion tani nëpërmjet postë në krahasim 523 00:23:42,010 --> 00:23:45,184 për të marrë, në qoftë se ne kemi parë dy dallime? 524 00:23:45,184 --> 00:23:46,350 STUDENT: [padëgjueshme] sigurtë. 525 00:23:46,350 --> 00:23:47,790 DAVID J. Malan: Nëse ju doni diçka që të jetë e sigurt. 526 00:23:47,790 --> 00:23:50,360 Kështu që ju mund të shkruani një fjalëkalim në një faqe interneti, një kartë krediti 527 00:23:50,360 --> 00:23:53,030 në një faqe interneti do të lloj i këtyre optimale 528 00:23:53,030 --> 00:23:56,220 nëse shfletuesi vendos se Vlera brenda URL. 529 00:23:56,220 --> 00:23:57,680 Pse? 530 00:23:57,680 --> 00:24:00,059 Ju shikoni atë, e cila nuk duket të jetë një marrëveshje e tillë e madhe, 531 00:24:00,059 --> 00:24:03,350 por shanset janë që ju goxha shpesh ecni larg nga kompjuteri ose përdorimin tuaj kompjuter 532 00:24:03,350 --> 00:24:05,310 laboratorë, dhe kështu dikush tjetër apo edhe një shokun 533 00:24:05,310 --> 00:24:08,220 lehtë mund të ecin dhe të shohin se informacioni private. 534 00:24:08,220 --> 00:24:10,220 Kur ju të dërgoni një email nëpërmjet web, ju ndoshta 535 00:24:10,220 --> 00:24:12,350 nuk duan që fund e të dhënave deri në URL si. 536 00:24:12,350 --> 00:24:15,266 Dhe kështu që nuk ka ndonjë numër arsyesh pse ne mund të dëshironi të vënë këtu. 537 00:24:15,266 --> 00:24:18,610 Dhe të drejtën photos--, unë nuk mund edhe të mjaft imagjinoni se si ju do të marrë një grafik, 538 00:24:18,610 --> 00:24:21,480 si një JPEG, dhe e vënë atë në një URL. 539 00:24:21,480 --> 00:24:22,330 Ju mund të bëni atë. 540 00:24:22,330 --> 00:24:25,840 Ka mënyra të kodon atë, por është e jo vetëm e thjeshtë si kjo. 541 00:24:25,840 --> 00:24:29,030 >> Pra regjistroheni 0 është në të vërtetë shumë underwhelming. 542 00:24:29,030 --> 00:24:31,610 Të gjitha ai thotë fjalë për fjalë është kjo. 543 00:24:31,610 --> 00:24:35,910 Ajo printon nga brenda e disa HTML tags në vijim. 544 00:24:35,910 --> 00:24:38,640 Unë kam marrë një kod PHP këtu mbivendosur brenda një tag para. 545 00:24:38,640 --> 00:24:42,300 "Pre" thjesht do të thotë tekst para-formatuar, mono-Spaced, si një makinë shkrimi. 546 00:24:42,300 --> 00:24:44,836 >> Printr është një funksion të shtypura rekursive. 547 00:24:44,836 --> 00:24:46,710 Dhe pastaj nuk ka kjo Gjëja interesante këtu. 548 00:24:46,710 --> 00:24:48,835 Dhe ne do të kthehen në këtë sepse ka të tjerë, 549 00:24:48,835 --> 00:24:51,140 por nënvizojnë shenjë dollar pas duket të jetë 550 00:24:51,140 --> 00:24:56,110 një variabël në PHP në të cilën çdo gjë ju dërgoni nga shfletuesi në server 551 00:24:56,110 --> 00:24:58,040 merr ruhet për ju. 552 00:24:58,040 --> 00:25:00,930 Dhe ne do të shohim se si për të marrë në që informacioni para se të gjatë. 553 00:25:00,930 --> 00:25:04,000 >> Por së pari, le të kthehemi në një shembull pak më të ndryshme. 554 00:25:04,000 --> 00:25:09,050 Shkuarja në register-- ose në vend, froshims1.php, 555 00:25:09,050 --> 00:25:10,470 e cila duket pak më ndryshe. 556 00:25:10,470 --> 00:25:12,670 Kam marrë një pak më shumë përpjekje me formatimin, 557 00:25:12,670 --> 00:25:14,370 edhe pse kjo është ende mjaft e shëmtuar. 558 00:25:14,370 --> 00:25:16,990 Por unë jam duke shkuar për të shkuar përpara dhe shkruani "David" tani. 559 00:25:16,990 --> 00:25:17,850 Male. 560 00:25:17,850 --> 00:25:19,360 Ne do të kontrolloni "kapiten" këtë kohë. 561 00:25:19,360 --> 00:25:20,660 Ne do të bëjmë Matthews. 562 00:25:20,660 --> 00:25:22,430 Dhe të regjistroheni. 563 00:25:22,430 --> 00:25:24,110 >> Dhe këtë herë ajo thotë, HM, jo të vërtetë. 564 00:25:24,110 --> 00:25:26,180 Në rregull, kështu që ajo të regjistrohesh 1? 565 00:25:26,180 --> 00:25:30,509 Më lejoni të shkoj në regjistrin e hapur 1 HM and--. 566 00:25:30,509 --> 00:25:32,300 Në rregull, kështu që kjo është interesante, dhe kjo 567 00:25:32,300 --> 00:25:34,880 është një hap drejt tani Programet më interesante. 568 00:25:34,880 --> 00:25:38,970 >> Njoftim të lartë për këtë fotografi ka a PHP tag si dhe disa komente. 569 00:25:38,970 --> 00:25:42,590 Dhe këto janë, tani për tani, një zbavitje kështu që le të vetëm të shpëtoj prej atyre komenteve 570 00:25:42,590 --> 00:25:47,070 ashtu si ata janë në C. Dhe unë pretendojnë me këtë copë të kodit me një koment 571 00:25:47,070 --> 00:25:49,280 se ky kod është Vleresimin e dorëzimit. 572 00:25:49,280 --> 00:25:51,690 >> E pra, ajo rezulton se Variablat si shenjë e dollarit 573 00:25:51,690 --> 00:25:53,739 nënvizojnë postim janë quhet super Globals. 574 00:25:53,739 --> 00:25:55,530 Ata janë si këto variablave të veçanta globale 575 00:25:55,530 --> 00:25:58,840 që janë vetëm omni-aktualisht dispozicion brenda programit tuaj. 576 00:25:58,840 --> 00:26:03,870 Dhe ju mund të përdorni katror simbol kllapa të indeksit në ato jo duke përdorur numrat 577 00:26:03,870 --> 00:26:07,460 si 0, 1, 2, 3, por fjalët aktuale. 578 00:26:07,460 --> 00:26:12,100 >> Kështu që ju mund të mendoni se e shenjës së dollarit nënvizojnë postin si lloj i një tabelë hash 579 00:26:12,100 --> 00:26:15,920 që ju të mund të kalojë një kyç në, një lookup fjalë në mes të kllapave, 580 00:26:15,920 --> 00:26:19,370 dhe ajo do të ju jap përsëri Vlera që përdoruesi dhënë në të vërtetë. 581 00:26:19,370 --> 00:26:21,210 PHP ka një funksion quajtur bosh që vetëm 582 00:26:21,210 --> 00:26:23,720 thotë po ose jo, kjo variabël është bosh apo jo. 583 00:26:23,720 --> 00:26:27,250 Ne kemi këto bare të dyfishtë, i cili vetëm do të thotë ose, si në C. 584 00:26:27,250 --> 00:26:31,740 >> Pra në fakt, kjo linjë është vetëm 4 duke thënë se në qoftë se përdoruesi nuk ka dhënë një emër 585 00:26:31,740 --> 00:26:36,540 apo nuk ka dhënë një gjini apo nuk ka japin një konvikt, të shkojnë përpara dhe të përcjellim atë 586 00:26:36,540 --> 00:26:38,184 ose të saj nëpërmjet kësaj linje këtu. 587 00:26:38,184 --> 00:26:40,600 Pra, kjo është pak e fshehtë, por kjo thjesht do të thotë fjalë për fjalë 588 00:26:40,600 --> 00:26:43,330 shkoni përsëri në këtë vend, kështu që punts përdorues 589 00:26:43,330 --> 00:26:45,420 përsëri në kudo që ai ose ajo erdhi nga. 590 00:26:45,420 --> 00:26:47,880 Por kjo është një pashije pak Në rast se kam të vështirë të koduar atë. 591 00:26:47,880 --> 00:26:52,150 >> Por, çka nëse ky kusht nëse nuk e vlerëson të vërtetë? 592 00:26:52,150 --> 00:26:55,790 Çka në qoftë se përdoruesi ka dhënë mua tij ose emrin e saj dhe fjetore dhe gjinore? 593 00:26:55,790 --> 00:26:58,540 Se në qoftë se gjendja nuk është e do të vlerësojë të vërtetë, 594 00:26:58,540 --> 00:27:00,650 kështu që unë nuk e goditi dalje në linjë 7. 595 00:27:00,650 --> 00:27:01,680 Pra, çfarë ndodh? 596 00:27:01,680 --> 00:27:03,880 Dhe kjo është ajo që është interesante në lidhje me PHP. 597 00:27:03,880 --> 00:27:07,470 >> Ju mund të bjerë brenda dhe jashtë mode PHP, kështu që të flasin. 598 00:27:07,470 --> 00:27:10,985 Nëse ju doni disa kodi për të ekzekutuar, ju mund të hapur dhe të mbyllur një tag PHP 599 00:27:10,985 --> 00:27:13,010 dhe të vënë kodin atje si unë kam bërë këtu. 600 00:27:13,010 --> 00:27:16,810 Sapo ju mbyllni tag PHP, server 601 00:27:16,810 --> 00:27:19,407 është vetëm do të nxjerr nga goja çdo gjë që ju vënë atje. 602 00:27:19,407 --> 00:27:21,740 Dhe në të vërtetë, kjo ishte pjesë e dizajn origjinal e PHP, 603 00:27:21,740 --> 00:27:25,280 për të mirë për të keq, ishte kjo përzien e kodit dhe Markup 604 00:27:25,280 --> 00:27:25,920 Gjuha. 605 00:27:25,920 --> 00:27:28,670 Dhe ne do të shohim se kjo shumë shpejt bie në një rrëmujë. 606 00:27:28,670 --> 00:27:31,280 Dhe kështu që ne do të bëjmë më mirë se kjo në fund të fundit, por vetëm 607 00:27:31,280 --> 00:27:35,620 njoftim lehtësinë me të cilën unë jam i të vërtetë në gjendje për të ekzekutuar disa logjikën. 608 00:27:35,620 --> 00:27:37,440 >> Por ende pak underwhelming. 609 00:27:37,440 --> 00:27:41,210 Le të hapim up version dy Frosh IMs, të cilat 610 00:27:41,210 --> 00:27:44,270 duket dorëzon register2.php. 611 00:27:44,270 --> 00:27:47,600 Pra, kjo fotografi është në të vërtetë ndodh që duken pothuajse njëjtë. 612 00:27:47,600 --> 00:27:50,780 Unë jam duke shkuar për të shkuar në Frosh IMs 2. 613 00:27:50,780 --> 00:27:53,050 Por në Frosh IMs 2, le të shohim se çfarë ndodh. 614 00:27:53,050 --> 00:27:58,110 >> David, kliko butonin e radios, si është quajtur; Matthews, asnjë kapiten. 615 00:27:58,110 --> 00:27:59,230 Regjistrohu. 616 00:27:59,230 --> 00:28:00,130 Ju jeni të regjistruar. 617 00:28:00,130 --> 00:28:00,700 Jo me të vërtetë. 618 00:28:00,700 --> 00:28:02,574 Oh wait, ne vetëm e bëri qe shembull, a nuk jemi ne? 619 00:28:02,574 --> 00:28:04,520 Të gjitha të drejtat, stand by. 620 00:28:04,520 --> 00:28:06,602 Ne do të bëjmë tre. 621 00:28:06,602 --> 00:28:08,560 Është e qartë se diçka është gati të ndodhë me Gmail. 622 00:28:08,560 --> 00:28:09,600 Ne do të merrni atje. 623 00:28:09,600 --> 00:28:11,900 >> Pra Frosh IMs 3 duket si kjo. 624 00:28:11,900 --> 00:28:13,050 Nuk është e ndryshme. 625 00:28:13,050 --> 00:28:19,850 Por kur unë David, mashkull, Matthews, dhe regjistrohen, këtë version të tretë dhe të fundit 626 00:28:19,850 --> 00:28:22,230 pretendimet, shumë thjesht, ju janë të regjistruar me të vërtetë. 627 00:28:22,230 --> 00:28:23,560 Kjo është lloj i parëndësishëm. 628 00:28:23,560 --> 00:28:25,600 Por unë thonë me këtë versioni i tretë dhe i fundit 629 00:28:25,600 --> 00:28:30,610 Unë kam rikrijuar tashmë saktësisht se çfarë tim shokun dhe i ndërtuar për IMs Frosh 630 00:28:30,610 --> 00:28:31,731 vjet më parë e programit. 631 00:28:31,731 --> 00:28:32,480 Dhe kjo ishte e thjeshtë. 632 00:28:32,480 --> 00:28:34,330 Nuk kishte asnjë bazë të dhënash, nuk Excel spreadsheet. 633 00:28:34,330 --> 00:28:36,450 Por më e rëndësishmja, nuk kishte shumë letra 634 00:28:36,450 --> 00:28:42,520 sepse ajo që ne e bëmë me këtë program ishte në fakt email kujdestar, i cili 635 00:28:42,520 --> 00:28:44,530 ishte më parë duke marrë këto gjëra nëpërmjet formave. 636 00:28:44,530 --> 00:28:48,890 >> Dhe me sa duket ne kemi programuar këtë në një mënyrë të tillë që kur dikush regjistrat, 637 00:28:48,890 --> 00:28:52,470 Llogari email John Harvardit proctor-- ose vetë në këtë rast, 638 00:28:52,470 --> 00:28:55,960 John Harvard-- me pas text-- "Ky person vetëm i regjistruar." 639 00:28:55,960 --> 00:29:00,560 Emri është David, kapiteni është bosh; gjinore, meshkuj; dhe fjetore, Matthews. 640 00:29:00,560 --> 00:29:01,560 >> Pra, çfarë ka ndodhur atje? 641 00:29:01,560 --> 00:29:05,360 Well, dosja në fjalë këtu është me sa duket register3.php. 642 00:29:05,360 --> 00:29:09,080 Dhe në qoftë se kam hapur këtë, ju do të shihni edhe fuqia e kodit si kjo 643 00:29:09,080 --> 00:29:12,380 dhe gjithashtu, sinqerisht, pasiguria e një sistemi si email. 644 00:29:12,380 --> 00:29:16,290 Unë kam pretenduar vetëm në mënyrë efektive për të të jetë John Harvard në mënyrën e mëposhtme. 645 00:29:16,290 --> 00:29:20,920 >> Kam tag hapur php up top, e cila vetëm thotë këtu vjen një kod PHP. 646 00:29:20,920 --> 00:29:23,155 Këtu poshtë, rezulton atje janë bibliotekat në PHP. 647 00:29:23,155 --> 00:29:26,410 Ju thjesht nuk kanë nevojë për të përfshijnë Header fotografi sa më shumë. 648 00:29:26,410 --> 00:29:28,900 Ju merrni më shumë me lavaman kuzhine, mënyrë që të flasin. 649 00:29:28,900 --> 00:29:31,820 >> Por këtë herë në linjë 4, bëj dua të bibliotekë të veçantë të quajtur 650 00:29:31,820 --> 00:29:36,087 PHP mailer, e cila është diçka që ju mund të instaloni falas në shumë sisteme. 651 00:29:36,087 --> 00:29:37,920 Poshtë këtu unë jam Vleresimin paraqitja vetëm 652 00:29:37,920 --> 00:29:40,540 duke kontrolluar ka dhënë përdoruesit me një emër, një gjinore, dhe një fjetore. 653 00:29:40,540 --> 00:29:44,130 Dhe nëse është kështu, të shkojnë përpara dhe të ilustroj me shembull konkret një postues. 654 00:29:44,130 --> 00:29:47,020 >> Ju mund të mendoj për këtë si një linjë e kodit që vetëm shpërndan. 655 00:29:47,020 --> 00:29:48,950 Është si malloc, por kjo është një sexier pak 656 00:29:48,950 --> 00:29:51,790 në atë që ju nuk e përmend vetëm malloc dhe disa numri i përgjithshëm. 657 00:29:51,790 --> 00:29:55,030 Ju thoni jepni një nga këto, më jepni një të ri nga këto. 658 00:29:55,030 --> 00:29:57,950 >> Dhe në qoftë se ju keni programuar në Java ose C ++ apo gjuhë të tjera, 659 00:29:57,950 --> 00:29:59,130 ju mund të keni parë këtë. 660 00:29:59,130 --> 00:30:01,840 Por të shkurtër të tij, nëse panjohura, kjo linjë 661 00:30:01,840 --> 00:30:05,410 vë në postë shenjë dollar një struct të veçantë të quajtur 662 00:30:05,410 --> 00:30:08,731 një objekt që ka ndërtuar-in funksionalitetin email. 663 00:30:08,731 --> 00:30:10,355 Dhe në fakt, njoftim dhe sintaksë të ngjashme. 664 00:30:10,355 --> 00:30:11,900 >> Kjo nuk është një tregues, në vetvete. 665 00:30:11,900 --> 00:30:13,990 PHP vetëm përdor të njëjtën sintaksë. 666 00:30:13,990 --> 00:30:17,660 Kjo linjë është thënë përdorim SMTP-- Simple Mail Transfer 667 00:30:17,660 --> 00:30:20,900 Protokolli, i cili është vetëm Protokolli përdoret për të dërguar postë. 668 00:30:20,900 --> 00:30:24,240 Kjo është e specifikuar përdorimin Server SMTP Harvardit, i cili 669 00:30:24,240 --> 00:30:25,830 është diku këtu në kampus. 670 00:30:25,830 --> 00:30:28,480 >> Kjo është thënë se ajo TCP port numër për të folur për të, 671 00:30:28,480 --> 00:30:31,650 dhe unë vetëm artistikisht se nga googling ose duke pyetur tavolinë ndihmë. 672 00:30:31,650 --> 00:30:34,640 Dhe pastaj për shkak se Harvardit përdor disa sigurisë të sistemit të postës server-- 673 00:30:34,640 --> 00:30:37,060 të paktën për të encrypt Trafiku midis jush dhe, 674 00:30:37,060 --> 00:30:41,380 edhe pse dikush mund të dërgoni it-- Unë jam duke shkuar për të kthehet në protokollin TLS 675 00:30:41,380 --> 00:30:42,710 për ta mbajtur këtë të sigurt. 676 00:30:42,710 --> 00:30:44,730 >> Por kjo është ajo ku gjërat merrni pak e frikshme. 677 00:30:44,730 --> 00:30:47,970 Unë mund vetëm në mënyrë arbitrare të them se unë jam jharvard, 678 00:30:47,970 --> 00:30:51,930 dhe unë mund vetëm në mënyrë arbitrare email veten këtu. 679 00:30:51,930 --> 00:30:55,650 Dhe atëherë unë mund të specifikoni një lëndë me këtë linjë këtu. 680 00:30:55,650 --> 00:30:58,460 >> Dhe kjo vetëm duket i shëmtuar, por kjo është vetëm një bandë e varg. 681 00:30:58,460 --> 00:31:04,480 Rezulton nga PHP ka një simbol super të dobishme, si disa gjuhë, dot operatori, 682 00:31:04,480 --> 00:31:07,340 të cilat vetëm fjalë për fjalë concatenates string string pas pas vargut, 683 00:31:07,340 --> 00:31:09,810 dhe ju nuk keni për malloc ose figurë nga gjatësia totale e vargut. 684 00:31:09,810 --> 00:31:10,820 Ju vetëm bëni atë. 685 00:31:10,820 --> 00:31:15,220 Dhe me të vërtetë, sepse unë jam concatenating në të gjitha këto gjëra me këto pika, 686 00:31:15,220 --> 00:31:18,330 kjo është arsyeja pse unë e email dërgoi dukej si ajo e bëri. 687 00:31:18,330 --> 00:31:20,610 >> Dhe pastaj në fund këtu, unë jam i dërguar postën. 688 00:31:20,610 --> 00:31:22,580 Pra, nëse kjo është e rreme, Unë jam vetëm duke shkuar për të vdekur, 689 00:31:22,580 --> 00:31:25,680 cila është një funksion që vetëm printime në ekran një mesazh gabimi. 690 00:31:25,680 --> 00:31:29,170 Por kjo është, në fakt, duke e quajtur funksion të dërguar. 691 00:31:29,170 --> 00:31:31,780 Përndryshe, në qoftë se e gjithë kjo dështon, ajo përcjellëse me mbrapa këtu. 692 00:31:31,780 --> 00:31:34,050 >> Dhe pse nuk kam parë se Unë jam i regjistruar me të vërtetë? 693 00:31:34,050 --> 00:31:36,110 E pra, kjo ka ndodhur këtu. 694 00:31:36,110 --> 00:31:38,170 Kështu që unë të sjellë këtë për disa arsye. 695 00:31:38,170 --> 00:31:41,542 >> Një, kjo është pikërisht si në qoftë se ju të ndërtuar disa website për një projekt përfundimtar 696 00:31:41,542 --> 00:31:44,000 ose për botën e vërtetë, kjo është e si ju dërgoni lajmërimeve email 697 00:31:44,000 --> 00:31:45,924 për klientët tuaj ose abonentë tuaj. 698 00:31:45,924 --> 00:31:47,590 Kjo është se si ju të dërgoni lajmërimeve fjalëkalim. 699 00:31:47,590 --> 00:31:50,760 Kjo është se si ju të dërgoni njerëz mesazhe se ata kanë një të re Facebook 700 00:31:50,760 --> 00:31:52,990 Mesazhi pritje ose diçka të tillë. 701 00:31:52,990 --> 00:31:55,010 >> Por ajo gjithashtu flet për Fakti që kjo mund 702 00:31:55,010 --> 00:31:58,160 kanë qenë shumë mirë nga Davin apo dikush tjetër. 703 00:31:58,160 --> 00:32:00,567 Dhe unë them këtë lloj me një buzëqeshje, sepse unë jam 704 00:32:00,567 --> 00:32:03,400 mjaft i sigurt se çfarë po ndodh nëpër disa nga mendjet tuaja në këtë pikë. 705 00:32:03,400 --> 00:32:11,910 Por kjo është një nga ata që bëjnë si unë thonë, jo si dua unë bëj llojet e gjërave, 706 00:32:11,910 --> 00:32:14,480 sepse ai është i parëndësishëm për trillojnë email si kjo. 707 00:32:14,480 --> 00:32:16,480 Por si ju mund të keni parë ose lexuar në Crimson, 708 00:32:16,480 --> 00:32:18,271 kohët e fundit është edhe goxha parëndësishëm për njerëzit 709 00:32:18,271 --> 00:32:20,050 për të gjetur ata të kthehen në një origjinë. 710 00:32:20,050 --> 00:32:23,790 Dhe pyesni mua disa kohë, ndoshta në drekë CS50, sa kam parë 711 00:32:23,790 --> 00:32:27,080 u njoh nga afër pothuajse të bordit ed shumë vite 712 00:32:27,080 --> 00:32:30,890 më parë, kur kam zbuluar si internet punuar. 713 00:32:30,890 --> 00:32:36,940 Pra, në çdo case-- pak pasi bordi ed bëri. 714 00:32:36,940 --> 00:32:42,300 >> Pra, në çdo rast, nuk është një tërë bandë e super Globals, 715 00:32:42,300 --> 00:32:45,960 pasi ata janë quajtur këtu, njëri prej të cilëve ne saw-- postin dollar shenjë në pah. 716 00:32:45,960 --> 00:32:49,530 Ka një homologu të quajtur get, e cila është vendi ku sende nga një URL 717 00:32:49,530 --> 00:32:50,690 përfundon duke shkuar. 718 00:32:50,690 --> 00:32:54,051 Dhe ka një bandë e tërë e të tjerëve, Sesioni too-- dhe server dhe të cookie. 719 00:32:54,051 --> 00:32:55,800 Ne do të kthehen në cookie disa kohë të tjera, 720 00:32:55,800 --> 00:33:01,340 por sesion është lloj i ftohtë sepse e drejta now-- deri now-- 721 00:33:01,340 --> 00:33:06,350 çdo gjë që ne kemi bërë me një shfletues web është lloj i pa shtetësi, në mënyrë që të flasin. 722 00:33:06,350 --> 00:33:10,060 Unë mund të klikoni përreth, qasja fotografi në server, diçka 723 00:33:10,060 --> 00:33:13,500 ndodh në ekran, por atëherë lidhja mbyllet. 724 00:33:13,500 --> 00:33:17,450 Internet Explorer ose Firefox icon ndalesa tjerrje 725 00:33:17,450 --> 00:33:20,340 dhe ju vetëm shikoni çfarë se web faqja përmban. 726 00:33:20,340 --> 00:33:23,530 >> Pra HTTP është pa shtetësi në atë pasi ai bën një lidhje, 727 00:33:23,530 --> 00:33:25,050 merr disa të dhëna, kjo është ajo. 728 00:33:25,050 --> 00:33:29,940 Nuk ka lidhje më shumë, ndryshe nga Skype, ndryshe nga FaceTime, GChat dallim, e cila 729 00:33:29,940 --> 00:33:32,180 mban një konstante lidhja me serverin. 730 00:33:32,180 --> 00:33:34,650 Web është krejtësisht shkëputur, edhe pse ne do të 731 00:33:34,650 --> 00:33:36,630 të shihni para se të gjatë si ne mund të simulojnë gjëra 732 00:33:36,630 --> 00:33:39,300 si chat Facebook dhe GChat, të cilat mbajnë illusion-- 733 00:33:39,300 --> 00:33:41,680 ose të bëjë në fakt të mbajë një lidhje të vazhdueshme duke përdorur 734 00:33:41,680 --> 00:33:43,270 teknologji më moderne. 735 00:33:43,270 --> 00:33:49,000 >> Por në qoftë se unë shkoj në, të themi, counter.php, ky është një tjetër shembull i thjeshtë, 736 00:33:49,000 --> 00:33:52,700 si ne do të shohim, se për momentin mendon I vizituar faqen zero kohë. 737 00:33:52,700 --> 00:33:56,790 Por në qoftë se unë thjesht rifreskoni faqen, ajo disi e di unë kam qenë këtu më parë. 738 00:33:56,790 --> 00:33:58,840 Nëse unë reload përsëri, atë e di se kam qenë këtu më parë. 739 00:33:58,840 --> 00:34:01,100 Dhe përsëri dhe përsëri dhe përsëri dhe përsëri. 740 00:34:01,100 --> 00:34:03,610 >> Pra, ka disa plus-plussing në vazhdim e sipër, por njoftim 741 00:34:03,610 --> 00:34:07,090 gjë e vogël vishet kurrë kështu shkurtimisht up krye dhe pastaj disconnects, 742 00:34:07,090 --> 00:34:11,179 kështu që nuk është si unë kam një konstante Lidhja për aplikim tim. 743 00:34:11,179 --> 00:34:16,929 E pra, nëse unë shkoj në counter.php, njoftim sa e thjeshtë është. 744 00:34:16,929 --> 00:34:19,080 I pari e quaj këtë të veçantë funksion që ne do të së shpejti 745 00:34:19,080 --> 00:34:21,513 filloni duke marrë për të dhënë quhet fillimi sesion. 746 00:34:21,513 --> 00:34:22,179 Fillo një seancë. 747 00:34:22,179 --> 00:34:25,095 >> Dhe një sesion tani e tutje është vetëm do të jetë një kovë, si një pazar 748 00:34:25,095 --> 00:34:28,120 karroca në të cilën ju mund të vendosni vlerat dhe lloji i besimit si një programues 749 00:34:28,120 --> 00:34:31,590 se ata do të jenë këtu kur që përdoruesi vjen back-- një të dytë 750 00:34:31,590 --> 00:34:35,670 më vonë, një orë më vonë, edhe një vit më vonë, për sa kohë që ai ose ajo nuk i qartë 751 00:34:35,670 --> 00:34:37,602 biskota e tyre, si ne do të shohim përfundimisht. 752 00:34:37,602 --> 00:34:39,310 Dhe tani unë vetëm kanë një kusht nëse këtu. 753 00:34:39,310 --> 00:34:44,679 Pra, nëse kyçe në vijim, quajtur counter, është vendosur brenda 754 00:34:44,679 --> 00:34:49,210 i këtij super global-- këtë hash tavolinë, në qoftë se ju will-- quajtur seancë, 755 00:34:49,210 --> 00:34:53,350 pastaj të shkojnë përpara dhe të kap Vlera nga session-- think 756 00:34:53,350 --> 00:34:55,250 këtë si një pazar cart-- dhe ruajtur atë 757 00:34:55,250 --> 00:34:57,680 në një variabël të përkohshëm të quajtur counter. 758 00:34:57,680 --> 00:35:02,240 >> Përndryshe, në qoftë se vlera counter ishte nuk është caktuar në të ashtu-quajtur karrocë pazar, 759 00:35:02,240 --> 00:35:04,430 vetëm nisja atë në 0. 760 00:35:04,430 --> 00:35:09,830 Së fundi, këtu poshtë, shkoni dhe të vënë prapa në karrocat pazar apo të seancës 761 00:35:09,830 --> 00:35:13,000 vlera e kundër +1. 762 00:35:13,000 --> 00:35:16,730 Pra, rezulton se ky here-- veçantë enë 763 00:35:16,730 --> 00:35:20,355 cila, përsëri, është një nga këto lidhur vargjeve, një koleksion që ju mund indeksi 764 00:35:20,355 --> 00:35:25,010 në fjalë në vend të numbers-- vazhdon edhe pas përdoruesi shkon larg. 765 00:35:25,010 --> 00:35:26,510 Përsëri, unë do të kthehem tek faqja tani. 766 00:35:26,510 --> 00:35:28,400 Kjo ka qenë një minutë apo më shumë. 767 00:35:28,400 --> 00:35:31,300 Por ajo kujton se unë kam qenë këtu 19 herë më parë. 768 00:35:31,300 --> 00:35:32,740 Kjo është vizita ime e 20-të. 769 00:35:32,740 --> 00:35:36,560 >> Dhe kështu që kjo do të jetë kyç për zbatimin e çdo faqe interneti që kujton 770 00:35:36,560 --> 00:35:40,640 që ju të jeni të regjistruar, që ju vënë diçka literal në your shopping cart 771 00:35:40,640 --> 00:35:43,902 për të blerë apo se ju keni disa Numri i mesazheve në pritje. 772 00:35:43,902 --> 00:35:45,610 Çdoherë që ju doni të kujtohet informata, 773 00:35:45,610 --> 00:35:48,130 ne do të shohim se PHP, si disa gjuhë të tjera, 774 00:35:48,130 --> 00:35:53,640 na ofron me këtë iluzion të shtetit edhe pse, si ju do të shihni në PSET 6, 775 00:35:53,640 --> 00:35:57,642 si ju jeni duke bërë HTTP kërkesa nga klienti në server, kjo është ajo. 776 00:35:57,642 --> 00:35:59,850 Pasi ju merrni mbrapa se Përgjigja, nuk ka asgjë më shumë 777 00:35:59,850 --> 00:36:01,790 vijnë nga serveri by default. 778 00:36:01,790 --> 00:36:03,820 Por ne do të shohim se si të punojnë rreth se. 779 00:36:03,820 --> 00:36:07,430 >> E pra tani, le të përpiqemi të pastruar këtë deri pak. 780 00:36:07,430 --> 00:36:09,470 Ne kemi parë disa Shembuj të ndryshme atje. 781 00:36:09,470 --> 00:36:12,250 Oh, dhe si një mënjanë, për ata të njohur apo të panjohur, 782 00:36:12,250 --> 00:36:14,230 arsyeja se Shembulli Frosh IMs shkoi 783 00:36:14,230 --> 00:36:18,060 nga të shikuarit e vërtetë shëmtuar të slightly-- mirë, 784 00:36:18,060 --> 00:36:23,160 ende ugly-- për pak më pak të shëmtuar edhe pse ende i shëmtuar 785 00:36:23,160 --> 00:36:25,230 është sepse nëse ne shikojmë në kodin burim këtu, 786 00:36:25,230 --> 00:36:28,240 rezulton se kam këtë në krye të file. 787 00:36:28,240 --> 00:36:32,570 >> Rezulton se bootstrap është një nga shumë Bibliotekat lirisht në dispozicion atje 788 00:36:32,570 --> 00:36:37,140 që nuk ekzistojnë për gjuhët e programimit gjithmonë, por për CSS JavaScript ose për 789 00:36:37,140 --> 00:36:39,190 ose HTML ose ndonjë numër të gjuhëve. 790 00:36:39,190 --> 00:36:42,160 >> Dhe këto folks here-- fillimisht doli 791 00:36:42,160 --> 00:36:44,730 e Twitter-- vetëm duhet një bandë e tërë e stileve. 792 00:36:44,730 --> 00:36:47,360 Kjo është një fotografi masiv këtu se dikush ka shkruar, 793 00:36:47,360 --> 00:36:51,020 apo dikush e ka shkruajtur, me kalimin e kohës që përcakton ngjyrat dhe formatimin 794 00:36:51,020 --> 00:36:53,740 dhe gjësend në mënyrë që unë mund të lloj hua sintaksën e tyre 795 00:36:53,740 --> 00:36:56,157 dhe nuk duhet të kuptoj se si për të hedhur formularin tim. 796 00:36:56,157 --> 00:36:57,990 Kjo është edhe minified në mënyrë që një kompjuter mund të 797 00:36:57,990 --> 00:37:00,560 e kuptojnë atë, por nuk domosdoshmërisht një njeri. 798 00:37:00,560 --> 00:37:03,050 Pra, kjo është vetëm pse stilizim atje ndryshuar. 799 00:37:03,050 --> 00:37:05,450 >> Por tani le të bëjë më mirë në aspektin e dizajnit, 800 00:37:05,450 --> 00:37:07,490 sepse në qoftë se ne të qëndrojnë poshtë kjo rrugë shumë e gjatë, 801 00:37:07,490 --> 00:37:11,290 Kodi ynë do të të marrë çrregullt dhe të çrregullt. 802 00:37:11,290 --> 00:37:13,040 Pra, le të përqëndrohet në këto shembuj këtu. 803 00:37:13,040 --> 00:37:15,090 Fundit për sot. 804 00:37:15,090 --> 00:37:18,720 >> Kështu që këtu është një super i thjeshtë version 1.0 e internetit CS50-së. 805 00:37:18,720 --> 00:37:21,250 Ajo vetëm ka lidhje me ligjërata dhe plani mësimor, 806 00:37:21,250 --> 00:37:25,490 dhe kjo është duke përdorur këtë listë renditura tag-- tag UL që kemi përdorur për herë të fundit. 807 00:37:25,490 --> 00:37:28,800 Dhe në qoftë se në të vërtetë, në qoftë se unë hapur deri View Page Source, 808 00:37:28,800 --> 00:37:31,710 ju do të shihni se kjo është e me të vërtetë, të vërtetë të thjeshtë HTML. 809 00:37:31,710 --> 00:37:35,460 Dhe në fakt, edhe pse kjo është e një skedar PHP nën kapuç, 810 00:37:35,460 --> 00:37:38,620 kjo është ende vetëm pështypje vetëm HTML për tani. 811 00:37:38,620 --> 00:37:41,312 >> Pra, nëse unë klikoni mbi Ligjeratat, ne e shohim që kjo të ndodhë. 812 00:37:41,312 --> 00:37:43,020 Dhe në qoftë se unë klikoni në javë zero, ne e shohim këtë. 813 00:37:43,020 --> 00:37:44,920 Dhe në qoftë se unë klikoni mbi E mërkurë, ne e shohim këtë. 814 00:37:44,920 --> 00:37:47,900 Dhe kjo me sa duket ishte PDF i slides nga ajo ditë. 815 00:37:47,900 --> 00:37:52,020 Të gjitha unë kam bërë është lidhja me një spirancë tag në këtë URL këtu. 816 00:37:52,020 --> 00:37:55,400 >> Pra, kjo është vetëm për të thonë se kjo është një goxha version i thjeshtë i internetit CS50-së. 817 00:37:55,400 --> 00:37:56,790 Le të shohim se si është implementuar. 818 00:37:56,790 --> 00:38:01,240 Nëse unë shkoj në directory mvc0, ne do të shohim një fotografi pak. 819 00:38:01,240 --> 00:38:03,250 Njëra është një README, kështu që nëse disa nga kjo është shumë e shpejtë, 820 00:38:03,250 --> 00:38:05,166 ju vetëm mund të thes rreth më nge vonë. 821 00:38:05,166 --> 00:38:07,930 Dhe njoftim në këtu është një file index.php. 822 00:38:07,930 --> 00:38:09,960 Ajo rezulton se në qoftë se ju vetë, njeriut, 823 00:38:09,960 --> 00:38:14,460 nuk specifikoni një emër përfundimtar në a URL, web server zakonisht 824 00:38:14,460 --> 00:38:17,010 infers emërin e parazgjedhur për ju. 825 00:38:17,010 --> 00:38:20,060 Një indeks dot diçka është përgjithësisht default. 826 00:38:20,060 --> 00:38:23,010 >> Pra, kjo është arsyeja pse një moment më parë kur kam vizituar këtë URL këtu, 827 00:38:23,010 --> 00:38:26,750 no name file, asnjë fotografi extension, asnjë periudhë në URL. 828 00:38:26,750 --> 00:38:29,710 Ajo vetëm e dinte disi magjike për të kërkuar index.php. 829 00:38:29,710 --> 00:38:30,870 Kjo është vetëm një konventë. 830 00:38:30,870 --> 00:38:32,360 Mund të quhet asgjë. 831 00:38:32,360 --> 00:38:35,110 >> Pra, nëse unë tani të shkojnë në index.php, ju do të shihni 832 00:38:35,110 --> 00:38:37,100 që, indeed-- le shpëtoj nga komentet 833 00:38:37,100 --> 00:38:39,500 këtu, sepse nuk ka të vërtetë asgjë interesante për të it-- 834 00:38:39,500 --> 00:38:41,579 kjo është vetëm e vështirë koduar HTML. 835 00:38:41,579 --> 00:38:43,370 Pra, kjo është në përputhje, edhe pse, me kërkesën time 836 00:38:43,370 --> 00:38:45,230 që ju mund të trazoj HTML dhe PHP. 837 00:38:45,230 --> 00:38:48,060 Nuk ka asnjë aktuale programimit logjikën këtu. 838 00:38:48,060 --> 00:38:51,030 >> Dhe fotografi të tjera janë mjaft të shumë vetëm si jointeresant. 839 00:38:51,030 --> 00:38:56,240 Është vetëm e vështirë-koduar javë një këtu për javë një m dhe një javë w, 840 00:38:56,240 --> 00:38:57,510 për të hënën dhe të mërkurën. 841 00:38:57,510 --> 00:39:01,890 Dhe pastaj, nëse unë të hapë javën zero, njoftim është pothuajse identike. 842 00:39:01,890 --> 00:39:03,320 >> Dhe kjo është lloj i një takeaway kyç. 843 00:39:03,320 --> 00:39:06,180 Vini re se sa e tepërt kjo është. 844 00:39:06,180 --> 00:39:10,710 Këto fotografi mezi ndryshojnë, por unë nxorrën një nga këto kopje / paste punë 845 00:39:10,710 --> 00:39:13,420 ku kam marrë një file-- duket në javën zero-- kopjuar atë 846 00:39:13,420 --> 00:39:16,320 Kur javën erdhi përreth, dhe tweaked një vlerat e disa. 847 00:39:16,320 --> 00:39:18,590 Ne ndoshta duhet të jetë në gjendje të bëjë më mirë se sa kjo. 848 00:39:18,590 --> 00:39:21,800 >> Pra, le të shkojë mbrapa deri në MVC dhe shko në versionin e parë. 849 00:39:21,800 --> 00:39:24,810 Dhe vini re unë kam marrë një disa fotografi, sepse ajo 850 00:39:24,810 --> 00:39:29,870 ishte e zakonshme për të gjitha ato fotografi vetëm a moment ago-- nëse unë kthehem në versionin 0, 851 00:39:29,870 --> 00:39:32,600 le të kthehemi në indeks, dhe vetëm postulate-- 852 00:39:32,600 --> 00:39:36,090 një herë unë të shpëtoj nga comments-- ajo pjesë e kësaj faqeje 853 00:39:36,090 --> 00:39:40,072 është me sa duket në çdo një nga dosjet e mia? 854 00:39:40,072 --> 00:39:40,780 Vetëm telefononi atë. 855 00:39:40,780 --> 00:39:44,620 Cilat linja janë të dyfishta ndoshta nëpër të gjitha këto faqe? 856 00:39:44,620 --> 00:39:45,120 Vërtet? 857 00:39:45,120 --> 00:39:46,110 >> STUDENT: [padëgjueshme]. 858 00:39:46,110 --> 00:39:47,660 >> DAVID J. Malan: 1 deri në 9. 859 00:39:47,660 --> 00:39:48,720 Po, absolutisht. 860 00:39:48,720 --> 00:39:52,080 1 deri 9, me përjashtim të ndoshta 8 ndryshon pak, sepse CS50 861 00:39:52,080 --> 00:39:54,650 bëhet ligjërata ose Javën zero apo diçka. 862 00:39:54,650 --> 00:39:55,970 Por pothuajse identike. 863 00:39:55,970 --> 00:39:58,657 Pra, e gjithë kjo stuff është vetëm lloj të kopjohet dhe të ngjit. 864 00:39:58,657 --> 00:40:00,490 Dhe ka një çift linja të tjera që unë mund të mendoj 865 00:40:00,490 --> 00:40:05,000 e që ndoshta janë identike të gjitha dosjet. 866 00:40:05,000 --> 00:40:06,315 >> STUDENT: 12 dhe 13. 867 00:40:06,315 --> 00:40:07,190 DAVID J. Malan: Po. 868 00:40:07,190 --> 00:40:11,220 Sure, 12, 13, dhe 14 ndoshta, vetëm për shkak të gjëra interesante 869 00:40:11,220 --> 00:40:15,460 po ndodh në linjat 11 dhe 10, kështu që do të duket. 870 00:40:15,460 --> 00:40:18,350 Pra, le të shohim në versionin 1, i cili përpiqet për të përmirësuar këtë. 871 00:40:18,350 --> 00:40:24,020 Në versionin 1 të këtij example-- MVC ne do të të shpjegojë se çfarë do të thotë MVC në një moment-- 872 00:40:24,020 --> 00:40:27,420 nëse unë shkoj në indeks, kjo lloj duket pak konfuze tani. 873 00:40:27,420 --> 00:40:28,880 Kjo nuk është fare aq e thjeshtë si më parë. 874 00:40:28,880 --> 00:40:30,906 >> Por sapo ju të filloni të lexuar atë me kujdes, është e 875 00:40:30,906 --> 00:40:32,530 shumë i thjeshtë se çfarë është bërë. 876 00:40:32,530 --> 00:40:34,397 Me sa duket line 1 dhe Linja 8 kanë zëvendësuar 877 00:40:34,397 --> 00:40:37,230 të gjitha gjëra që ju sapo identified-- edhe pse vetëm për masë të mirë, 878 00:40:37,230 --> 00:40:41,900 I la ULs atje vetëm në rast se disa Ditët e caktuara nuk kishin një listë të gjërave. 879 00:40:41,900 --> 00:40:47,860 Dhe kështu kërkojnë është lloj i si paund të përfshijë në C. Kjo kopje dhe pastat 880 00:40:47,860 --> 00:40:50,470 përmbajtjet në mënyrë efektive të drejtë këtu në këtë skedë. 881 00:40:50,470 --> 00:40:53,650 >> Pra në header.php, si ti mund të konkludoj nga emri i saj, 882 00:40:53,650 --> 00:40:55,330 do të jetë header të faqes. 883 00:40:55,330 --> 00:40:57,110 Është lloj i jetimë këtu. 884 00:40:57,110 --> 00:41:01,820 Ajo ka vetëm pjesën e sipërme të tij, por nuk ka më shumë përmbajtje më poshtë. 885 00:41:01,820 --> 00:41:05,070 >> Dhe në qoftë se unë shoh në futboll ndërkohë, e cila ishte dosja tjetër mentioned-- 886 00:41:05,070 --> 00:41:08,830 kjo është edhe më pak interesante, por përsëri, kjo është e zakonshme për çdo gjë. 887 00:41:08,830 --> 00:41:10,250 Pra, kjo është futboll. 888 00:41:10,250 --> 00:41:11,300 Kjo është header. 889 00:41:11,300 --> 00:41:13,950 Ky është fotografi që është e ndryshuar, kështu që pse të mos 890 00:41:13,950 --> 00:41:18,140 të përpiqet të faktor jashtë bashkësinë me këto dy linja këtu? 891 00:41:18,140 --> 00:41:20,090 >> Por ne mund të pastër këtë deri pak më tej. 892 00:41:20,090 --> 00:41:23,260 Unë jam duke shkuar për të shkuar përpara dhe të hapur deri version dy, ku 893 00:41:23,260 --> 00:41:27,106 ne do të shohim se ka një skedë të re, helpers.php. 894 00:41:27,106 --> 00:41:28,610 Ne do të shohim se çfarë është në një moment. 895 00:41:28,610 --> 00:41:30,930 Le të shkojnë në indeks, si Pika hyrëse si më parë. 896 00:41:30,930 --> 00:41:35,230 >> Dhe tani vini re unë jam duke kërkuar helpers.php, nuk header ose futboll. 897 00:41:35,230 --> 00:41:41,720 Por ndihmësit është lloj i pëlqen helpers.c dhe helpers.h nga PSET 2 898 00:41:41,720 --> 00:41:46,150 ose PSET 3 kohë më parë, kur në të vërtetë ka kërkuar dhe për të gjetur për këtë PSET, 899 00:41:46,150 --> 00:41:50,950 dhe keni pasur të gjithë kodin tuaj për klasifikim dhe të kërkoni në një dosje të veçantë. 900 00:41:50,950 --> 00:41:52,510 Kjo është ajo që po ndodh këtu. 901 00:41:52,510 --> 00:41:54,390 >> Dhe tani alineja 3 duket pak më ndryshe. 902 00:41:54,390 --> 00:41:55,920 Dhe kjo është vetëm një linjë. 903 00:41:55,920 --> 00:41:57,950 Për ta bërë këtë edhe më shumë i qartë, unë mund vetëm të 904 00:41:57,950 --> 00:42:01,820 e që kjo të jetë në përputhje stilistikisht me çdo gjë tjetër që kemi bërë. 905 00:42:01,820 --> 00:42:04,130 Por kjo nuk është e vërtetë ndryshimin funksionalitetin. 906 00:42:04,130 --> 00:42:05,880 Kjo është vetëm një linjë e kodit të vërtetë. 907 00:42:05,880 --> 00:42:09,010 >> Me sa duket, ka një funksion quajtur diku bëjnë header, 908 00:42:09,010 --> 00:42:11,420 dhe kjo është ajo ku gjërat të merrni mjaft të fuqishme. 909 00:42:11,420 --> 00:42:17,040 Vini re se brenda kllapa e saj është ajo pjesë të tjera të sintaksës? 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 Kjo është ndoshta pak e vështirë për të thënë, por të njoftim there's-- Unë do të vënë një njollë të bardhë 912 00:42:23,350 --> 00:42:24,300 hapësirë. 913 00:42:24,300 --> 00:42:25,530 Ka kllapa katrore. 914 00:42:25,530 --> 00:42:29,700 >> Dhe kllapa katrore pamë pak më parë në kontekstin e vargjeve associative, 915 00:42:29,700 --> 00:42:31,580 të cilat janë, përsëri, si tavolina hash. 916 00:42:31,580 --> 00:42:36,230 Dhe në qoftë se ju mendoni se tani për C, Radhitja e argumenteve në një funksion 917 00:42:36,230 --> 00:42:37,570 duhet të jetë gjithmonë njëjtë. 918 00:42:37,570 --> 00:42:41,146 Ju duhet të mbani mend se çfarë e urdhërojë x is--, y, z, ose z, y, x-- 919 00:42:41,146 --> 00:42:44,020 dhe ju duhet që gjithmonë të sigurojë ato në të njëjtën mënyrë ose shikoni ata 920 00:42:44,020 --> 00:42:45,100 në qoftë se ju keni harruar. 921 00:42:45,100 --> 00:42:51,140 >> Por kjo duket të jetë një mënyrë e zgjuar e kalon një vlerë arbitrare kyç 922 00:42:51,140 --> 00:42:55,840 palë ku titulli është emri për një argument në këtë rast 923 00:42:55,840 --> 00:42:58,334 dhe CS50 është vlera e saj. 924 00:42:58,334 --> 00:43:00,250 Dhe fakti që kam këto kllapa katrore 925 00:43:00,250 --> 00:43:02,560 këtu do të thotë se unë mund të edhe të kalojë në diçka 926 00:43:02,560 --> 00:43:07,550 si nje jave eshte 1 ose 0 ose 2 ose 3. 927 00:43:07,550 --> 00:43:10,550 Pra, ne kemi parameterized këtë funksion në një mënyrë të tillë 928 00:43:10,550 --> 00:43:15,180 se ajo mund të marrë inputeve të shumta, por tani për tani ajo është vetëm një. 929 00:43:15,180 --> 00:43:20,060 >> Nëse unë tani të shkojnë në helpers.php, vini re se çfarë është bërë. 930 00:43:20,060 --> 00:43:22,030 Kjo është pak e funksionalitetit të ri, 931 00:43:22,030 --> 00:43:24,190 por tani për tani vetëm të marrë me besimin se kjo është 932 00:43:24,190 --> 00:43:26,570 sintaksë me të cilën ju të përcaktojë një funksion në PHP. 933 00:43:26,570 --> 00:43:27,840 Ju fjalë për fjalë thoni funksion. 934 00:43:27,840 --> 00:43:30,090 Ju nuk mund të specifikoni një kthim lloji, dhe kjo është në përputhje 935 00:43:30,090 --> 00:43:33,880 me detaje ndryshueshme parë ku ju nuk mund të vërtetë të fuqishëm lloji. 936 00:43:33,880 --> 00:43:35,650 >> Kjo vetëm specifikon se, by default, kjo 937 00:43:35,650 --> 00:43:37,460 merr nje shoqerues array si një argument. 938 00:43:37,460 --> 00:43:38,210 Dhe ju e dini se çfarë? 939 00:43:38,210 --> 00:43:41,450 Në qoftë se përdoruesi nuk ka kaluar një në, të marrë një vlerë të paracaktuar. 940 00:43:41,450 --> 00:43:44,680 >> Ky është një tipar që C nuk ka për ne, e cila është e bukur, sepse tani 941 00:43:44,680 --> 00:43:46,430 Të dhënat, edhe në qoftë se ju nuk jepte asgjë, 942 00:43:46,430 --> 00:43:49,300 do të jetë një array por një bosh. 943 00:43:49,300 --> 00:43:51,860 Dhe, si një mënjanë, ekstrakt thjesht e bën diçka të shokuar 944 00:43:51,860 --> 00:43:56,380 ku ajo merr të gjithë çelësat e kësaj array associative, të gjitha gjërat 945 00:43:56,380 --> 00:43:59,950 ju mund të vënë në kllapa katrore, dhe krijon variablave prej tyre 946 00:43:59,950 --> 00:44:06,270 në mënyrë që ne në fund të fundit mund të kenë qasje për ta në footet.php dhe header.php. 947 00:44:06,270 --> 00:44:08,950 Kjo është një abstrakt të vogël, kështu që më lejoni të theksoj këtë. 948 00:44:08,950 --> 00:44:12,990 >> Në index.php, vëreni se unë jam duke kaluar në një palë kyçe vlerës së titullit 949 00:44:12,990 --> 00:44:14,850 me një vlerë prej CS50. 950 00:44:14,850 --> 00:44:18,660 Nëse unë tani shikojmë në helpers.php, njoftim se RenderHeader 951 00:44:18,660 --> 00:44:23,870 është nxjerrë që të dhënat që unë jam duke kaluar në, dhe pastaj kërkon header.php. 952 00:44:23,870 --> 00:44:27,970 Ajo që unë kam bërë është lloj i një njeriu të varfër Zbatimi tani e në vijim. 953 00:44:27,970 --> 00:44:31,720 >> Nëse unë të hapur header.php, njoftim se unë kam më të vështirë 954 00:44:31,720 --> 00:44:34,890 koduar CS50 fjalën në këtë skedë header. 955 00:44:34,890 --> 00:44:39,310 Unë e kam vënë këtë dyshim atrociously funksion të quajtur, chars veçanta HTML, 956 00:44:39,310 --> 00:44:40,170 në atje. 957 00:44:40,170 --> 00:44:41,640 Por vini re atë që unë kam bërë. 958 00:44:41,640 --> 00:44:44,240 Unë kam marrë HTML hapur. 959 00:44:44,240 --> 00:44:47,420 Unë pastaj kanë kokën të hapur dhe titullin hapur. 960 00:44:47,420 --> 00:44:52,380 >> Dhe pastaj brenda titullin e hapur dhe tags ngushtë, unë kam një grimë e kodit PHP. 961 00:44:52,380 --> 00:44:56,670 Dhe kjo është një e bukur, por i sintaksës, e cila do të thotë vetëm jehonë jashtë. 962 00:44:56,670 --> 00:44:59,840 Kjo fjalë do të thotë this-- jehonë following-- 963 00:44:59,840 --> 00:45:01,910 por kjo është sexier për të shkruar. 964 00:45:01,910 --> 00:45:05,000 Jehonë out titullin që është miratuar në. 965 00:45:05,000 --> 00:45:07,560 >> Por çfarë mendoni ju HTML char veçantë është mbi të gjitha, 966 00:45:07,560 --> 00:45:10,590 veçanërisht në qoftë se ju keni disa para Përvoja HTML? 967 00:45:10,590 --> 00:45:14,050 Cilat karaktere mund të jetë të rrezikshme për të kaluar në një faqe 968 00:45:14,050 --> 00:45:17,980 ku ju jeni duke gjeneruar dinamike faqja web me kodin si kjo? 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 Më lejoni të shkoj tek kjo skedë, version dy, dhe të shohim nëse unë nuk mund të sjell këtë. 971 00:45:24,650 --> 00:45:26,210 >> Version dy është kjo. 972 00:45:26,210 --> 00:45:28,510 Dhe vini re çdo gjë është e mirë, duke punuar mirë. 973 00:45:28,510 --> 00:45:35,280 Por mendoj të shkoj në index.php dhe I përcaktuar se titulli i faqes sime 974 00:45:35,280 --> 00:45:36,630 nuk është CS50. 975 00:45:36,630 --> 00:45:44,930 Ajo është e kllapa e hapur vigjilent script Hello World, japin kuotën e ngushtë të vetme, 976 00:45:44,930 --> 00:45:49,740 kllapë të ngushtë, pikëpresje, parantezë të hapur, plagë script. 977 00:45:49,740 --> 00:45:51,897 >> Script, pasi ne do të në fund të parë, është një tag 978 00:45:51,897 --> 00:45:54,480 që ju mund të përdorni për përdorimin e një tjetër gjuhë programimi të quajtur 979 00:45:54,480 --> 00:45:56,330 JavaScript brenda një faqeje web. 980 00:45:56,330 --> 00:45:57,960 Dhe tani vini re logjikën këtu. 981 00:45:57,960 --> 00:45:59,840 Këtu është një kyç të quajtur titull. 982 00:45:59,840 --> 00:46:02,690 Këtu është ajo e vlerës së çmendur të gjatë tani. 983 00:46:02,690 --> 00:46:07,840 >> Por në qoftë se unë shkoj në ndihmësit page- ose më mirë, faqja header, 984 00:46:07,840 --> 00:46:11,310 Unë jam duke e quajtur këtë funksion në atë titullin e parë. 985 00:46:11,310 --> 00:46:15,250 Pra, nëse unë tani rifreskoni këtë faqe, unë shih kjo, e cila duket qesharake, 986 00:46:15,250 --> 00:46:16,110 por kjo është e sigurt. 987 00:46:16,110 --> 00:46:17,310 Ajo vetëm duket budallallëk. 988 00:46:17,310 --> 00:46:20,320 >> Por mendoj vend I kishte harruar këtë. 989 00:46:20,320 --> 00:46:24,660 Dhe shënojnë fjalët e mia, një numër nonzero e ju do të harroni ta bëni këtë 990 00:46:24,660 --> 00:46:27,790 dhe ju do të merrni disa zellshëm student ose mik vjen 991 00:46:27,790 --> 00:46:31,540 për ju në panair CS50, ose në mënyrë anonime gjatë natës poking rreth në faqen tuaj 992 00:46:31,540 --> 00:46:35,300 dhe në thelb injektuar kodin unbeknownst për ju në faqen tuaj 993 00:46:35,300 --> 00:46:35,800 disi. 994 00:46:35,800 --> 00:46:39,000 >> Sepse në qoftë se unë thjesht pështyjnë out titull këtu dhe titullin 995 00:46:39,000 --> 00:46:44,330 there-- mirë, nëse titulli fjalë për fjalë duket si kjo dhe PHP 996 00:46:44,330 --> 00:46:47,660 si një gjuhë që mund të pështyjnë nga gjuhët tjera të tekstit, 997 00:46:47,660 --> 00:46:50,650 kjo është fjalë për fjalë do për të zëvendësuar me këtë kod, 998 00:46:50,650 --> 00:46:53,010 Sigurisht, ajo që kam vënë diku tjetër. 999 00:46:53,010 --> 00:46:57,640 >> Pra, nëse unë tani shkoni këtu dhe ringarkoni pas zhbërjen e këtyre mekanizmave të sigurisë, 1000 00:46:57,640 --> 00:46:59,982 tani kam përshëndetje botë këtu. 1001 00:46:59,982 --> 00:47:02,690 Tani kjo nuk është e gjitha që e madhe e një marrëveshje, por ju mund të bëni diçka 1002 00:47:02,690 --> 00:47:05,119 a pak më shumë me qëllim të keq këtu, ashtu si ka 1003 00:47:05,119 --> 00:47:08,410 tags---tjetrin si ne do të shohim një herë të kalojmë më shumë kohë në JavaScript-- si lokacionin 1004 00:47:08,410 --> 00:47:14,910 dot href merr, quote, mbyll thonjëzat, HTTP business.com, por e kundërta e kësaj 1005 00:47:14,910 --> 00:47:15,950 nga dita tjetër. 1006 00:47:15,950 --> 00:47:20,120 Dhe tani ju mund të shkaktoj një web Faqja e që në fakt shkojnë menjëherë 1007 00:47:20,120 --> 00:47:21,190 në këtë web faqe këtu. 1008 00:47:21,190 --> 00:47:23,000 >> Dhe në të vërtetë, unë nuk dua për të shkuar deri në business.com 1009 00:47:23,000 --> 00:47:24,749 sepse unë nuk dua të dinë se çka është. 1010 00:47:24,749 --> 00:47:28,710 Por kjo, gjithashtu, do të shkaktojë kodin për t'u injektuar në këtë faqe. 1011 00:47:28,710 --> 00:47:32,680 Pra, kjo është vetëm për të thënë se edhe pse ne jemi futur super herët në disa 1012 00:47:32,680 --> 00:47:36,800 këto struktura më komplekse, kjo është e gjitha drejt një fundi të bërë të sigurtë 1013 00:47:36,800 --> 00:47:39,320 se kodi juaj nuk është i shfrytëzueshëm. 1014 00:47:39,320 --> 00:47:40,960 >> Deri tani një version të tretë këtu. 1015 00:47:40,960 --> 00:47:42,470 Është marrë një njohës të vogël. 1016 00:47:42,470 --> 00:47:44,875 Unë nuk të vërtetë like-- anën anal mua 1017 00:47:44,875 --> 00:47:47,750 ishte duke marrë një pak i mërzitur nga Fakti që unë kam një funksion të quajtur 1018 00:47:47,750 --> 00:47:51,940 RenderHeader dhe RenderFooter që ishin pothuajse identike. 1019 00:47:51,940 --> 00:47:55,400 Pra, kjo ka ndodhur me mua, pse nuk e bëni I parameterize këto funksione 1020 00:47:55,400 --> 00:47:59,180 në vetëm një të quajtur bëjnë, atë e kanë marrë një argument të dytë 1021 00:47:59,180 --> 00:48:04,420 si emrin e template, final të render-- ose header ose futboll? 1022 00:48:04,420 --> 00:48:07,160 Dhe pastaj opsionale, në qoftë se unë dua për të kaluar në disa çifte kyçe me vlerë 1023 00:48:07,160 --> 00:48:10,580 si bëj unë për titullin e header por jo për futboll, 1024 00:48:10,580 --> 00:48:11,800 Unë mund ta bëjë këtë. 1025 00:48:11,800 --> 00:48:16,510 >> Dhe kështu që tani, nëse unë shkoj në helpers.php, kjo është një kompleks pak më shumë. 1026 00:48:16,510 --> 00:48:19,670 Dhe unë do të tundë duart e mia në detaje, por kjo është vetëm një funksion. 1027 00:48:19,670 --> 00:48:21,890 Pra, kjo është një hap drejt një dizajn më të mirë. 1028 00:48:21,890 --> 00:48:23,360 >> Ne mund të marrë këtë hap më tej. 1029 00:48:23,360 --> 00:48:28,890 Nëse unë shkoj në të katërtën e mia version i kësaj, njoftim tani 1030 00:48:28,890 --> 00:48:31,320 që unë jam duke bërë diçka edhe më shumë lloj të fshehtë. 1031 00:48:31,320 --> 00:48:33,230 Dhe unë e di që kjo është një shumë për të absorbuar në të njëjtën kohë, 1032 00:48:33,230 --> 00:48:35,080 por ne jemi vetëm lloj e pastrimit gjërat. 1033 00:48:35,080 --> 00:48:38,550 Tani unë jam duke i dhënë ndihmëtarë mia paraqesë në një dosje të quajtur 1034 00:48:38,550 --> 00:48:41,190 includes-- vetëm një arbitrare emrin ku unë dua të vënë sende 1035 00:48:41,190 --> 00:48:44,300 që unë dua të include-- dhe pastaj pjesa tjetër e ky është i njëjti. 1036 00:48:44,300 --> 00:48:47,140 >> Por, nëse unë shoh tani në gedit, njoftim që unë kam marrë shpëtoj 1037 00:48:47,140 --> 00:48:51,940 të gjitha këto fotografi të tjera dhe unë kam lëvizur ato, për shembull, në këtu. 1038 00:48:51,940 --> 00:48:55,110 Dhe pastaj në templates, Unë kam këtë këtu, too. 1039 00:48:55,110 --> 00:48:59,292 Dhe kështu kjo është e gjitha tani drejt një hap e duke përdorur një model shumë të mirë të projektimit. 1040 00:48:59,292 --> 00:49:01,000 Dhe ne jemi shumë shpejt do të shkojë larg 1041 00:49:01,000 --> 00:49:03,870 nga funksionalitetin PHP parazgjedhur, të cilat kemi filluar këtu me, 1042 00:49:03,870 --> 00:49:07,655 ku ju vetëm trazoj PHP, dhe HTML tuaj, dhe CSS tuaj, 1043 00:49:07,655 --> 00:49:09,780 dhe ju vetëm fol drejt dhe ju shkoni në lidhje me rrugën tuaj. 1044 00:49:09,780 --> 00:49:11,404 Kjo nuk do të jetë shumë maintainable. 1045 00:49:11,404 --> 00:49:14,481 Ashtu si në C, kemi filluar duke përdorur fotografi të shumta dhe funksionet e shumta 1046 00:49:14,481 --> 00:49:15,730 dhe factoring gjëra që jashtë. 1047 00:49:15,730 --> 00:49:16,688 Ne do të bëjmë të njëjtën gjë këtu. 1048 00:49:16,688 --> 00:49:19,970 Dhe në fakt, në muajin e pestë dhe e fundit version këtu, kam bërë një gjë tjetër. 1049 00:49:19,970 --> 00:49:23,710 Ju mund të përdorni edhe dot dot, e cila, përsëri, është vetëm directory prind. 1050 00:49:23,710 --> 00:49:28,260 Për të qenë edhe më të sigurisë të ndërgjegjshëm, sepse në qoftë se unë shoh në dëgjim 1051 00:49:28,260 --> 00:49:32,450 këtu për të pestë dhe të versionit final, njoftimin se unë kam një direktori të quajtur këtu 1052 00:49:32,450 --> 00:49:35,180 publik, dhe pastaj në Niveli i njëjtë, kështu që të flasin, 1053 00:49:35,180 --> 00:49:38,490 Kam përfshin dhe templates dhe pastaj se skedar teksti README. 1054 00:49:38,490 --> 00:49:41,130 >> Dhe arsyeja kam strukturuar ajo pëlqen this-- dhe kaq shumë web 1055 00:49:41,130 --> 00:49:44,330 pret, sidomos ato 5 $ ato muaj apo ato 10 $ në muaj, 1056 00:49:44,330 --> 00:49:47,170 në qoftë se ju keni pasur ndonjëherë një nga këto services-- ajo kaq shumë prej tyre 1057 00:49:47,170 --> 00:49:50,690 është se ata vetëm presin që ju të hale të gjithë dosjet tuaja në një directory, 1058 00:49:50,690 --> 00:49:53,640 ashtu si ne e bëmë tashmë me ky shembull e parë. 1059 00:49:53,640 --> 00:49:56,740 >> Por, sa më shpejt që ju të fillojë ndërtimin e më shumë Faqet sofistikuara që vetëm dyqan 1060 00:49:56,740 --> 00:50:00,480 Të dhënat që ju intereson dhe ju fotografi intereson, në fakt organizimin e gjërave 1061 00:50:00,480 --> 00:50:05,060 korrekte dhe me shumë siguri Vetëdija në mendje mund të 1062 00:50:05,060 --> 00:50:07,927 ne fillojmë për të mbrojtur kundër të gjithë miqtë 1063 00:50:07,927 --> 00:50:10,135 se ju keni ose ose jashtë kësaj klase të cilët, 1064 00:50:10,135 --> 00:50:12,510 sa më shpejt që ju të filloni duke e bërë Programet veten në internet, 1065 00:50:12,510 --> 00:50:15,140 do të fillojë të rritet mbi ju dhe mbi to. 1066 00:50:15,140 --> 00:50:17,420 >> Dhe kështu që ne do të shohim në fund të fundit në këtë dizajn. 1067 00:50:17,420 --> 00:50:20,010 Kjo është vetëm një foto që përshkruan në vijim. 1068 00:50:20,010 --> 00:50:22,897 Ne jemi duke shkuar për të vënë të gjithë tona programimit logjikën në një ose më shumë fotografi, 1069 00:50:22,897 --> 00:50:25,230 dhe ne jemi duke shkuar për të filluar vetëm duke e quajtur ato kontrollorëve. 1070 00:50:25,230 --> 00:50:28,022 Kjo është ku trurin e faqet e internetit tonë të vërtetë janë. 1071 00:50:28,022 --> 00:50:29,730 Pastaj ne jemi duke shkuar për kanë pikëpamjet dhe qëndrimet 1072 00:50:29,730 --> 00:50:32,480 janë aq e thjeshtë sa vetëm të ndara files-- quajtur templates, shpesh. 1073 00:50:32,480 --> 00:50:34,410 Ata vetëm kanë estetikë e faqen time, 1074 00:50:34,410 --> 00:50:37,020 atë që unë dua të shikoni faqen like-- ngjyra dhe layout 1075 00:50:37,020 --> 00:50:38,870 dhe pozicionet e gjithë variablat. 1076 00:50:38,870 --> 00:50:41,120 >> Dhe pastaj më interesante se ne do të merrni në fund të 1077 00:50:41,120 --> 00:50:45,420 është model, e cila do të jetë vetëm fjala që mu në teknologjitë e tjera 1078 00:50:45,420 --> 00:50:47,771 që ne të sjellë në foto, si bazat e të dhënave aktuale, 1079 00:50:47,771 --> 00:50:49,520 në mënyrë që kur të doni për të ruajtur informacione, 1080 00:50:49,520 --> 00:50:52,140 ju nuk do të vetëm të dërgoni një email në Proctor tuaj ose për veten, 1081 00:50:52,140 --> 00:50:57,350 ju në të vërtetë të ruani atë në një bazë të dhënash duke përdorur një gjuhë tjetër të njohur si SQL. 1082 00:50:57,350 --> 00:51:00,450 Dhe kështu që ne do të lënë sot këtu dhe marr me këtë të mërkurën 1083 00:51:00,450 --> 00:51:02,990 dhe futjen e bazave të të dhënave atëherë. 1084 00:51:02,990 --> 00:51:06,940 >> [MUSIC Playing] 1085 00:51:06,940 --> 00:54:24,555