1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Croeso i adran ar gyfer yr wythnos hon. 3 00:00:08,440 --> 00:00:10,040 Nid wyf Andi. 4 00:00:10,040 --> 00:00:14,590 Andi wedi gostwng sâl heddiw, ac yr wyf yn wedi bod yn fath o alw i mewn ar y funud olaf 5 00:00:14,590 --> 00:00:15,700 i gymryd drosodd. 6 00:00:15,700 --> 00:00:20,920 Mae'n dymor y ffliw, felly gwnewch yn siŵr eich bod yn yn aros yn lân, golchi eich dwylo, 7 00:00:20,920 --> 00:00:24,800 a bwyta iach fel bod chi, hefyd, nid yn gaeth i'r gwely. 8 00:00:24,800 --> 00:00:26,870 >> Ond heb bellach ado, gadewch i ni ddechrau arni. 9 00:00:26,870 --> 00:00:29,970 Heddiw, rydym yn mynd i siarad am PHP ychydig bit-- sut 10 00:00:29,970 --> 00:00:33,900 PHP yn ymwneud yn HTML, sut y mae'n yn ymwneud â CSS, a rhai o'r we 11 00:00:33,900 --> 00:00:36,100 pethau a wnaethoch ar yr aseiniad diwethaf. 12 00:00:36,100 --> 00:00:37,930 Rydym yn mynd i siarad â ychydig bach am SQL 13 00:00:37,930 --> 00:00:41,360 a sut y gallwch weithio gyda chronfeydd data, sydd yn rhan eithaf allweddol P 14 00:00:41,360 --> 00:00:43,650 gosod 8-- P yn gosod 7. 15 00:00:43,650 --> 00:00:44,480 P yn gosod 7. 16 00:00:44,480 --> 00:00:48,400 >> Ac yna rydym yn mynd i siarad ychydig ychydig am sut mae barn rheolwyr yn gweithio 17 00:00:48,400 --> 00:00:54,640 a pham mae hynny'n athroniaeth tu ôl i rai tudalennau gwe modern a dylunio gwahanol. 18 00:00:54,640 --> 00:00:58,760 'N bert lawer mae llawer o fathau o apps a cheisiadau efallai y byddwch yn llong 19 00:00:58,760 --> 00:01:01,120 yn defnyddio'r model hwn, fframwaith rheolwr barn ni, 20 00:01:01,120 --> 00:01:02,890 y byddwch yn defnyddio yn P yn gosod 7, felly byddaf 21 00:01:02,890 --> 00:01:05,220 siarad ychydig am y rheswm pam mae hynny'n mynd yn 22 00:01:05,220 --> 00:01:07,970 boblogaidd, pam ei fod yn bwysig ac yn braf. 23 00:01:07,970 --> 00:01:12,052 Ac yna byddaf yn olaf symud ymlaen at rhai awgrymiadau ynglŷn â mynd i'r afael â P a osodwyd 7. 24 00:01:12,052 --> 00:01:13,760 Ac os ydym yn cael amser dros ben ar y diwedd, 25 00:01:13,760 --> 00:01:17,320 gallwn ni ei wneud mewn gwirionedd rhai gweithio ar hynny gyda'i gilydd. 26 00:01:17,320 --> 00:01:20,380 >> Felly, PHP. 27 00:01:20,380 --> 00:01:23,790 Yn wir, efallai eich bod wedi sylwi this-- Nid oedd yn rhaid i chi blymio i mewn 'n sylweddol iddo-- 28 00:01:23,790 --> 00:01:27,880 ond P yn gosod 6 wedi cael rhywfaint o PHP cod sy'n oedd yn digwydd. 29 00:01:27,880 --> 00:01:34,710 Ac oherwydd PHP yn C-fel iaith, PHP, yn wahanol i HTML a CSS, 30 00:01:34,710 --> 00:01:39,030 yn iaith raglennu, tra HTML a CSS yn statig. 31 00:01:39,030 --> 00:01:44,050 Maent yn ieithoedd markup delio gyda steil a diwyg gweledol. 32 00:01:44,050 --> 00:01:46,230 PHP yn y fargen go iawn. 33 00:01:46,230 --> 00:01:51,590 >> Mae gan PHP dolenni, mae wedi conditions-- holl bethau sy'n hwyl am C. 34 00:01:51,590 --> 00:01:56,190 Mae ganddo ychydig o bethau sydd ychydig yn ychydig yn well nag C, sy'n byddwn yn gweld, 35 00:01:56,190 --> 00:01:59,760 ond yr wyf yn credu bod y ffordd hawsaf i siarad am y PHP yn unig i ddeifio i mewn. 36 00:01:59,760 --> 00:02:04,087 Felly, yr wyf i'n mynd i fynd yn iawn i mewn i'r DRhA yn y fan hon. 37 00:02:04,087 --> 00:02:06,170 Y peth cyntaf rydym yn mynd ei wneud yw edrych mewn gwirionedd 38 00:02:06,170 --> 00:02:10,169 ychydig ar rai o'r Cod PHP a oedd yn P yn gosod 6. 39 00:02:10,169 --> 00:02:13,600 Felly, y ffordd yr ydym yn ei wneud that-- cyn, yn y ffordd yr ydym yn rhedeg 40 00:02:13,600 --> 00:02:18,550 y gweinydd ar gyfer y cyfarpar oedd y byddai'n rhaid i ni type-- 41 00:02:18,550 --> 00:02:21,750 naill ai ddefnyddio eich rhoi ar waith neu weithredu y staff 42 00:02:21,750 --> 00:02:27,059 o server.c drwy fynd i mewn i cyfeiriadur a rhedeg server.c gyda naill ai ddim 43 00:02:27,059 --> 00:02:30,100 arguments-- felly dim ond ei alw ar y llu lleol, sef yr hyn yr ydych yn ôl pob tebyg 44 00:02:30,100 --> 00:02:31,849 wnaeth y rhan fwyaf o'r adeg-- ac yna fwydo 45 00:02:31,849 --> 00:02:35,380 yn directory-- gyda sydd i'w ddefnyddio fel ei gwraidd 46 00:02:35,380 --> 00:02:38,310 lle byddai'r wefan yn rhedeg, yn y bôn. 47 00:02:38,310 --> 00:02:42,180 >> Yr wythnos hon ar gyfer P yn gosod 7, fel y fawr fel ein cod ar gyfer server.c 48 00:02:42,180 --> 00:02:47,580 yw, mae yna bobl sydd eisoes wedi ysgrifenedig hyn pethau gwych drosodd ar CS50 49 00:02:47,580 --> 00:02:49,630 sydd ag ychydig bach mwy o ymarferoldeb, 50 00:02:49,630 --> 00:02:52,920 rhaglen gweinydd sy'n gallu o ddelio gydag ychydig o mwy 51 00:02:52,920 --> 00:02:56,350 o'r cymhlethdodau sydd gennym chi helpu gweld yn y ddau P gosod 7 a P yn gosod 8. 52 00:02:56,350 --> 00:03:01,410 A'r ffordd yr ydych yn cychwyn y gweinyddwr yw at jyst yn teipio, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> A chyn i chi wneud unrhyw beth, ydych am wneud yn siŵr 54 00:03:03,960 --> 00:03:06,070 nad yw Apache 50 yw eisoes yn rhedeg fel y mae 55 00:03:06,070 --> 00:03:08,130 ar fy beiriant, yr wyf yn gwneud i'w brofi. 56 00:03:08,130 --> 00:03:10,320 A ydych yn gwneud hynny drwy alw apache50. 57 00:03:10,320 --> 00:03:14,070 Stopiwch, a byddwch yn gweld ei fod yn rhoi'r gorau i y gweinydd gwe, os gallwch chi edrych yno 58 00:03:14,070 --> 00:03:16,340 ar waelod y ffenestr derfynell. 59 00:03:16,340 --> 00:03:21,090 Ac yna dim ond i ddechrau, rydym yn mynd i alw, "apache50 dechrau." 60 00:03:21,090 --> 00:03:23,150 Ac yna rydym yn mynd i fwydo iddo cyfeiriadur. 61 00:03:23,150 --> 00:03:26,950 >> Yn awr, gan ein bod am edrych ar rai o'r P yn gosod 6 cod 62 00:03:26,950 --> 00:03:32,850 ein bod wedi rhoi ar waith, Fi 'n weithredol gopïo ychydig bach o P 63 00:03:32,850 --> 00:03:37,090 gosod 6 cod i mewn i fy ffolder ei hun, y gallwch ei weld ar y chwith yno. 64 00:03:37,090 --> 00:03:40,170 Mae'n cael ei alw "yn rhan 8" ym mhob priflythrennau 65 00:03:40,170 --> 00:03:44,510 oherwydd fy mod yn jyst mor gyffrous i fod yn fyw-ffrydio'n heddiw. 66 00:03:44,510 --> 00:03:47,330 >> Felly os rydym yn cynnal hyn, dylai i gyd yn gweithio'n eithaf effeithiol. 67 00:03:47,330 --> 00:03:52,350 Mae'n dweud, OK, mae ein safle bellach ar gael yn y cyfeiriad y DRhA, 68 00:03:52,350 --> 00:03:57,710 yn y bôn, sef yr hyn yr ydych yn ei defnyddio yn union fel yr oedd yn P gosod 7-- P yn gosod 6. 69 00:03:57,710 --> 00:04:00,899 Fy holl mynegeion yn un mynegai heddiw. 70 00:04:00,899 --> 00:04:02,940 Felly, gallwn fynd at y cyfeiriad, os byddwch yn cofio, 71 00:04:02,940 --> 00:04:05,710 gan glicio yma ychydig botwm yn y dde uchaf. 72 00:04:05,710 --> 00:04:14,200 >> A byddwch yn cofio y cod hwn, a oedd yn ddigwyddodd pan aeth chi i mewn hello.php. 73 00:04:14,200 --> 00:04:18,000 A beth mae'r cod wedi ei gynllunio i wneud yw pan fyddwch yn teipio mewn enw 74 00:04:18,000 --> 00:04:20,550 Yma-- os byddwch yn dweud Sam oherwydd dyna fy name-- 75 00:04:20,550 --> 00:04:23,620 ac yr wyf yn clicio Dweud Helo, pryd aethom i'r dudalen nesaf, 76 00:04:23,620 --> 00:04:25,270 yr enw hwnnw oedd i fod i gael ei arddangos. 77 00:04:25,270 --> 00:04:28,550 Byddai'n dweud, "Helo, Sam" neu "Helo," beth bynnag enw chi 78 00:04:28,550 --> 00:04:32,470 roi i mewn iddo hyd yn oed er ein bod yn mynd i dudalen gwe hollol newydd. 79 00:04:32,470 --> 00:04:36,610 >> Ac mae hyn yn y math o beth y gall PHP wneud i chi. 80 00:04:36,610 --> 00:04:42,840 PHP yn gallu pasio data rhwng dwy dudalen ar y we. 81 00:04:42,840 --> 00:04:44,390 Mae hon yn dudalen hollol wahanol. 82 00:04:44,390 --> 00:04:46,990 Byddwch yn gweld y teitl yw "helo" yma. 83 00:04:46,990 --> 00:04:49,080 Mewn gwirionedd, mae ganddynt yr un teitl, ond yr wyf yn 84 00:04:49,080 --> 00:04:52,560 addo eu bod yn wahanol ar y we Tudalennau os edrychwn ar y ffynhonnell. 85 00:04:52,560 --> 00:04:55,890 A gallwch basio'r data sy'n gofnodi yn y maes testun, 86 00:04:55,890 --> 00:04:59,830 chi gyflwyno i'r nesaf dudalen sy'n cael ei alw i fyny, 87 00:04:59,830 --> 00:05:02,490 ac yna y data sy'n gallu fod yno yn ei ffurf bresennol. 88 00:05:02,490 --> 00:05:04,810 >> Nawr, nid ydym wedi rhoi ar waith eto hyn ein hunain, a oedd yn 89 00:05:04,810 --> 00:05:08,710 yr hyn yr ydym yn mynd i'w wneud ar hyn o bryd i didoli cael blas ar gyfer sut y PHP yn gweithio, 90 00:05:08,710 --> 00:05:15,070 ond mae'r syniad allweddol yw bod PHP-- gallwch fath o feddwl am y peth fel swyddogaeth. 91 00:05:15,070 --> 00:05:18,570 Rhywbeth y gall PHP gadael i chi Nid yw gall gymryd paramedrau 92 00:05:18,570 --> 00:05:24,710 eich bod mewnbwn i dudalen HTML drwy ddefnyddio PHP a ffurflenni, 93 00:05:24,710 --> 00:05:29,960 a gall basio hynny fel paramedrau i'r dudalen nesaf y mae'n llwythi i fyny. 94 00:05:29,960 --> 00:05:35,110 >> Yn yr achos hwn, rydym yn llwytho i fyny yma dudalen gyda'r botwm "Dywedwch helo". 95 00:05:35,110 --> 00:05:38,960 Ond am nawr, Fi 'n weithredol dileu rhywfaint o'r cod 96 00:05:38,960 --> 00:05:44,850 yn y hello.php oedd yn cael ei redeg a oedd mewn gwirionedd yn arddangos y "hello, 97 00:05:44,850 --> 00:05:49,680 byd "neu" helo, Sam "neu "Helo," beth bynnag oedd mewnbwn yn unig. 98 00:05:49,680 --> 00:05:53,620 Felly, ar gyfer hyn o bryd, rydym yn mynd i wneud hynny, yn y bôn. 99 00:05:53,620 --> 00:05:56,570 Rydym yn mynd i ail-greu hynny a hefyd yn ychwanegu ychydig mwy o ymarferoldeb, 100 00:05:56,570 --> 00:06:00,210 yn gwneud ychydig yn fwy ag ef, gweler beth PHP yn wirioneddol gallu. 101 00:06:00,210 --> 00:06:04,870 >> Felly yn gyntaf, gadewch i ni siarad am y ffeil, hello.php. 102 00:06:04,870 --> 00:06:07,440 Felly, os ydym yn chwyddo i mewn a Ychydig bit-- ac erbyn hyn rwy'n 103 00:06:07,440 --> 00:06:10,520 math o geisio sgrolio i gyd y ffordd yr around-- dyna ni. 104 00:06:10,520 --> 00:06:14,220 Byddwch yn gweld ei fod yn enw hello.php, ond y gystrawen ohono 105 00:06:14,220 --> 00:06:16,880 edrych fel ffeil HTML. 106 00:06:16,880 --> 00:06:20,380 Mae hyn oherwydd bod y PHP gwirioneddol yn y ffeil hon 107 00:06:20,380 --> 00:06:25,220 i gyd sownd rhwng y rhain cwestiwn blociau mark-caret. 108 00:06:25,220 --> 00:06:28,610 Popeth yn iawn yma Ystyrir cod PHP. 109 00:06:28,610 --> 00:06:32,040 >> A byddwch yn sylwi bod pan wnes sylw, 110 00:06:32,040 --> 00:06:35,320 byddwch yn gweld y cyfarwydd dau ymlaen slaes. 111 00:06:35,320 --> 00:06:38,440 Ac os byddwch yn galw i gof, yn HTML, os wyf yn fath sylw, 112 00:06:38,440 --> 00:06:42,540 mae'n edrych rhywbeth yn nes at hwn, sydd yn sylw yn HTML. 113 00:06:42,540 --> 00:06:46,570 Felly mewn gwirionedd popeth rhwng y ddau cromfachau ongl 114 00:06:46,570 --> 00:06:50,060 yn awr cod PHP, a oedd yn yn cael ei adlewyrchu yn y ffaith 115 00:06:50,060 --> 00:06:53,270 bod hyn yn symbol sylw bach ei droi'n sylw. 116 00:06:53,270 --> 00:06:58,420 >> Felly, bob tro y byddwch yn ysgrifennu cod PHP, hyd yn oed os nad oes cod HTML y tu allan iddo, 117 00:06:58,420 --> 00:07:02,720 mae bob amser yn mynd i fod hamgáu mewn cromfachau ongl hyn 118 00:07:02,720 --> 00:07:04,080 gyda marciau cwestiwn. 119 00:07:04,080 --> 00:07:08,260 Gallwch fath o feddwl am iddo-- sut i gyd y cod a oedd yn rhedeg yn eich rhaglenni C 120 00:07:08,260 --> 00:07:13,950 wedi'i hamgáu mewn prif, ddi-rym int, Brace cyrliog, diwedd y datganiad Brace cyrliog. 121 00:07:13,950 --> 00:07:17,100 A byddwch yn gweld braces cyrliog mewn PHP, hefyd, ond mae hyn yn fath o 122 00:07:17,100 --> 00:07:20,490 fel y prif ddull o PHP. 123 00:07:20,490 --> 00:07:25,630 >> Felly nawr, sut ydyn ni'n gwneud unrhyw beth yn PHP? 124 00:07:25,630 --> 00:07:29,190 Yn awr, PHP yn rhaglennu iaith sy'n iawn C-fel, 125 00:07:29,190 --> 00:07:30,970 ond mae'n gweithredu ar y we. 126 00:07:30,970 --> 00:07:33,270 Felly, un peth sy'n byddwch yn immediately-- un 127 00:07:33,270 --> 00:07:38,130 o'r pethau cyntaf y byddwch yn wir ddim gyda C Roedd chi'n hargraffu pethau allan, dde? 128 00:07:38,130 --> 00:07:42,290 Felly, yn C gwnaethom hynny gyda swyddogaeth printf. 129 00:07:42,290 --> 00:07:46,430 Rydym rhoddodd llinyn, yn ôl pob tebyg gyda llinell newydd, 130 00:07:46,430 --> 00:07:49,850 ac yna rydym yn dod i ben 'i ag a hanner colon. 131 00:07:49,850 --> 00:07:53,790 >> Felly, y ffordd yr ydym yn mynd i wneud hynny yn PHP-- gan nad yw'n hollol printf. 132 00:07:53,790 --> 00:07:55,940 Mae'n ychydig bach o wahanol gystrawennau. 133 00:07:55,940 --> 00:08:02,580 Y modd yr ydym yn argraffu pethau allan yn PHP yn yr ydym yn dweud, "adlais helo" 134 00:08:02,580 --> 00:08:04,180 neu "adleisio" unrhyw air. 135 00:08:04,180 --> 00:08:09,830 A bod yn cael yr effaith o wneud printf gyda llinyn, "helo." 136 00:08:09,830 --> 00:08:11,990 Ac mae'n ychwanegu llinell newydd iddo. 137 00:08:11,990 --> 00:08:16,000 >> Felly gadewch i ni ar hyn o bryd yn gwneud sure-- 'N annhymerus' chwyddo allan eto ychydig bit-- 138 00:08:16,000 --> 00:08:18,250 gadewch i ni wneud yn siwr bod y cod yn gweithio 139 00:08:18,250 --> 00:08:21,030 oherwydd bod efallai iawn yn dda fod yn bug yn y cod hwn 140 00:08:21,030 --> 00:08:22,880 y bydd yn rhaid i fynd i'r afael. 141 00:08:22,880 --> 00:08:25,860 Felly y gweinydd eisoes yn rhedeg. 142 00:08:25,860 --> 00:08:30,630 Felly, os ydym yn sgrolio yn ôl i lawr i'r gwaelod, yup, y gweinydd yn dal i redeg. 143 00:08:30,630 --> 00:08:34,510 Felly, os ydym yn unig tap ar hyn ychydig bach iawn Yma-- 144 00:08:34,510 --> 00:08:37,620 welcome-- dylem get-- wych. 145 00:08:37,620 --> 00:08:39,930 >> Rydym yn dal yn cael y "Dywedwch helo" deialog cyfarwydd, 146 00:08:39,930 --> 00:08:45,750 ond pan fyddaf yn teipio i mewn "hi," rydym yn gweld fe bod y testun "helo" yn wir 147 00:08:45,750 --> 00:08:50,080 hargraffu, sydd yn union fel y rydym yn disgwyl am fod yn adleisio yn PHP 148 00:08:50,080 --> 00:08:53,190 yn union fel datganiad printf. 149 00:08:53,190 --> 00:09:01,410 Felly, yn ôl at y cod, sut yn P yn gosod 6 wnaeth y cod dosbarthu rydych yn cael eu darparu 150 00:09:01,410 --> 00:09:05,920 yn ei gwneud yn fel y byddai PHP allbwn y peth yr ydych 151 00:09:05,920 --> 00:09:07,920 teipio i mewn ar y sgrin flaenorol? 152 00:09:07,920 --> 00:09:10,350 >> Ac i fath o archwilio pam mae hynny'n digwydd, rydym yn 153 00:09:10,350 --> 00:09:15,510 mynd i fynd i mewn i index.html, a oedd yn yw'r ffeil wreiddiol, y ffeil sy'n 154 00:09:15,510 --> 00:09:18,710 yn dangos i fyny ar y sgrin hon gyda'r botwm "Dywedwch helo". 155 00:09:18,710 --> 00:09:20,950 Byddwch yn sylwi fod yna yr holl bethau clasurol 156 00:09:20,950 --> 00:09:26,910 rydym wedi dod i'w ddisgwyl gan HTML fath fel y pethau hyn, tagiau hyn caeedig 157 00:09:26,910 --> 00:09:31,080 mewn cromfachau ongl, fel PHP ond heb y marciau cwestiwn, 158 00:09:31,080 --> 00:09:34,650 sy'n dangos yn beth arbennig i HTML. 159 00:09:34,650 --> 00:09:36,895 Mae gennym teitl, sy'n "helo." 160 00:09:36,895 --> 00:09:41,010 A byddwch yn sylwi bod fel y gwelsom, y teitl yw "helo" yn y ddau achos. 161 00:09:41,010 --> 00:09:43,260 Gadewch i ni newid hyn un i "yn dweud" dim ond er mwyn i ni 162 00:09:43,260 --> 00:09:48,170 gallu gwahaniaethu ein hunain lle yr ydym. 163 00:09:48,170 --> 00:09:49,600 >> Ond mae gennym gorff. 164 00:09:49,600 --> 00:09:52,690 Ac yna y darn diddorol, mae'r bit sy'n dangos i fyny yn y HTML, 165 00:09:52,690 --> 00:09:54,530 yn yr elfen hon ffurflen. 166 00:09:54,530 --> 00:09:56,370 Ac felly mae gennym ffurflen. 167 00:09:56,370 --> 00:09:58,330 Ac mae hyn yn allweddol. 168 00:09:58,330 --> 00:10:00,530 Mae hyn yn sut yr ydym yn gweithio gyda PHP. 169 00:10:00,530 --> 00:10:05,790 Mae'r paramedr gweithredu ffurflen yn dweud bod hello.php 170 00:10:05,790 --> 00:10:09,310 beth rydym yn mynd i anfon gwerthoedd yn y ffurflen hon i. 171 00:10:09,310 --> 00:10:13,830 Dyma lle rydym yn pasio y paramedrau, fel petai. 172 00:10:13,830 --> 00:10:18,680 >> Byddwch yn sylwi beth arall yma yw bod y dull yn "mynd." 173 00:10:18,680 --> 00:10:24,450 Mae dau brif dulliau a fydd yn 174 00:10:24,450 --> 00:10:28,750 yn defnyddio PHP i basio data rhwng tudalennau gwe websites--, 175 00:10:28,750 --> 00:10:30,500 rather-- yn yr aseiniad hwn. 176 00:10:30,500 --> 00:10:34,070 A'r dulliau hynny yn "mynd" a "post." 177 00:10:34,070 --> 00:10:37,010 Mae rhai cynnil gwahaniaethau rhwng get ac ôl 178 00:10:37,010 --> 00:10:40,520 y byddwn yn cael into-- ydym Bydd "mynd" i mewn, os mynnwch. 179 00:10:40,520 --> 00:10:44,030 >> Ond ar gyfer bob pwrpas a dibenion, ei gael ac ôl 180 00:10:44,030 --> 00:10:47,120 ill dau yn unig ffyrdd y byddwch yn pasio paramedrau 181 00:10:47,120 --> 00:10:49,500 gyda ychydig yn wahanol executions. 182 00:10:49,500 --> 00:10:53,500 Am y tro, rydym yn mynd i ddefnyddio ei gael oherwydd cael oedd yr hyn a ddefnyddiwyd yn wreiddiol 183 00:10:53,500 --> 00:10:57,340 yn y ffeil PHP P yn gosod 6. 184 00:10:57,340 --> 00:11:00,850 Ac mewn gwirionedd, os ydym yn mynd i mewn ac yn edrych cyn i ni wedi ei golygu unrhyw beth arall, 185 00:11:00,850 --> 00:11:03,090 Rydw i'n mynd i ddweud helo canlynol-- beth yw eich enw? 186 00:11:03,090 --> 00:11:03,812 >> GYNULLEIDFA: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: O, diar. 188 00:11:04,770 --> 00:11:05,600 Nid wyf yn gwybod sut i sillafu hynny. 189 00:11:05,600 --> 00:11:06,766 Allech chi sillafu hynny i mi? 190 00:11:06,766 --> 00:11:08,710 GYNULLEIDFA: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> GYNULLEIDFA: Yeah. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Perffaith. 194 00:11:10,960 --> 00:11:11,210 IAWN. 195 00:11:11,210 --> 00:11:12,751 Amcana i ddim yn gwybod sut i sillafu hynny. 196 00:11:12,751 --> 00:11:13,510 Mae'n ddrwg gennyf am hynny. 197 00:11:13,510 --> 00:11:16,560 Ond os ydym yn dweud "Say helo," nid yw'n nid yw'n mynd i ddangos i fyny ar y sgrin 198 00:11:16,560 --> 00:11:18,476 eto oherwydd ein haddasu y cod ychydig. 199 00:11:18,476 --> 00:11:21,290 Ond os ydym yn "Dywedwch helo" - Iawn, felly "helo" yn fan hyn. 200 00:11:21,290 --> 00:11:24,137 Ond os ydym yn cymryd yn nes edrych ar y URL ei hun, 201 00:11:24,137 --> 00:11:26,220 byddwn yn gweld ei fod yn dod i ben gyda hello.php? enw = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Felly, mae hyn yn ffordd o cyfathrebu i'r dudalen gwe nesaf 204 00:11:37,180 --> 00:11:39,240 y paramedrau yr ydym wedi pasio. 205 00:11:39,240 --> 00:11:40,870 Dywedasom enw = Elliot. 206 00:11:40,870 --> 00:11:46,290 A dyna yn y pen draw sut P gosod 6 mynediad y newidyn sydd gennym pasio yn 207 00:11:46,290 --> 00:11:47,520 trwy'r ffurflen. 208 00:11:47,520 --> 00:11:51,470 Ac mae hyn yn rhywbeth y yn arbennig i gais get. 209 00:11:51,470 --> 00:11:57,480 Mae cais get yn gwneud y paramedrau hysbys yn y URL y wefan. 210 00:11:57,480 --> 00:12:01,190 >> A byddwch yn cofio, hefyd, yn P yn gosod 6 bod chi 211 00:12:01,190 --> 00:12:04,450 roedd yn rhaid i ysgrifennu swyddogaeth a oedd yn ymdrin â'r ffaith 212 00:12:04,450 --> 00:12:09,700 bod y llinyn ymholiad Gallai bodoli ar ôl ffeil. 213 00:12:09,700 --> 00:12:14,684 Gallai fod marc cwestiwn wedi'i ddilyn gan y bôn unrhyw nifer o gymeriadau. 214 00:12:14,684 --> 00:12:16,350 A dyna'n union beth sy'n mynd ymlaen fan hyn. 215 00:12:16,350 --> 00:12:21,280 A'r rheswm oedd gennych i gramadegu hynny yn eich gweithrediad server.c yn P 216 00:12:21,280 --> 00:12:27,570 gosod 6 yw er mwyn i chi ddweud y cod PHP sy'n enwi = Elliot. 217 00:12:27,570 --> 00:12:30,460 Rydych angen i allu dosrannu hynny allan o'r URL 218 00:12:30,460 --> 00:12:35,900 fel bod y ffeil PHP dan sylw yn gwybod beth yr oedd yn delio â. 219 00:12:35,900 --> 00:12:39,350 >> Felly gobeithio y mae hyn yn rhoi y cymhelliant i server.c 220 00:12:39,350 --> 00:12:43,900 rydym yn awr yn bod yn symud ymlaen y tu allan i C mewn i PHP. 221 00:12:43,900 --> 00:12:48,240 Felly gadewch i ni mewn gwirionedd yn canolbwyntio ar gael mynediad i'r pethau pasio trwy gais get nawr 222 00:12:48,240 --> 00:12:48,880 yn y fan hon. 223 00:12:48,880 --> 00:12:50,157 Rydw i'n mynd i achub hyn. 224 00:12:50,157 --> 00:12:51,240 Doedden ni ddim yn newid unrhyw beth. 225 00:12:51,240 --> 00:12:56,080 Mae'n edrych fel mae gennym maes mewnbwn. 226 00:12:56,080 --> 00:12:58,550 >> Rydym yn gosod rhai eiddo, fel y gallwn wneud yn HTML. 227 00:12:58,550 --> 00:12:59,550 Mae'r rhain yn bethau syml. 228 00:12:59,550 --> 00:13:00,580 Nid oes angen y rhain arnom. 229 00:13:00,580 --> 00:13:03,750 Ond mae gennym AutoComplete i ffwrdd, sydd yn y bôn says-- y gwyddoch, 230 00:13:03,750 --> 00:13:05,710 pan fyddwch yn teipio pethau i mewn i'r we, weithiau 231 00:13:05,710 --> 00:13:07,355 mae'n ceisio llenwi'r hynny ar eich rhan. 232 00:13:07,355 --> 00:13:08,230 Felly ei fod yn beth 'n glws. 233 00:13:08,230 --> 00:13:11,700 Rydym yn awyddus i droi i ffwrdd ar gyfer y diben hwn. 234 00:13:11,700 --> 00:13:13,970 Yr oedd hwnnw'n benderfyniad CS50. 235 00:13:13,970 --> 00:13:15,640 Fel y gallwn ddileu os ydym eisiau. 236 00:13:15,640 --> 00:13:19,510 >> Autofocus jyst ffyn y cyrchydd yn y ffurf gywir ar y dechrau. 237 00:13:19,510 --> 00:13:21,060 Unwaith eto, heb fod yn rhy bwysig. 238 00:13:21,060 --> 00:13:26,220 >> Ond mae enw = "Enw" - mae'n ychydig anodd am ei fod yn enw ac enw. 239 00:13:26,220 --> 00:13:28,730 Ond gallai rydym wedi newid hyn i rywbeth arall. 240 00:13:28,730 --> 00:13:30,563 Ac yn wir, dyna yr hyn y byddwn yn ei wneud ar hyn o bryd. 241 00:13:30,563 --> 00:13:34,830 Byddwn yn dweud "person," sy'n yn fath o fel enw 242 00:13:34,830 --> 00:13:36,790 os yw person yn cael ei ddiffinio gan eu henw. 243 00:13:36,790 --> 00:13:41,480 >> Felly gadewch i ni gau'r hyn, ailagor ein gwefan 244 00:13:41,480 --> 00:13:46,110 ers ein gweinydd yn dal i redeg Apache 50, ac fe wnawn ni ddweud, helo, dyma 245 00:13:46,110 --> 00:13:47,200 Elliot eto. 246 00:13:47,200 --> 00:13:48,460 Pam lai? 247 00:13:48,460 --> 00:13:49,220 Helo. 248 00:13:49,220 --> 00:13:52,880 Ac os ydym yn mynd i fyny fan hyn, byddwn yn gweld yna yn lle enw = Elliot, 249 00:13:52,880 --> 00:13:55,200 mae'n dweud person = Elliot. 250 00:13:55,200 --> 00:14:00,060 A dyna ganlyniad uniongyrchol i'r ffaith ein bod newydd wedi newid enw = "person." 251 00:14:00,060 --> 00:14:06,840 >> Felly, mewn elfen mewnbwn ffurflen HTML, mae'r cae enw 252 00:14:06,840 --> 00:14:10,590 yw'r dynodwr gyfer y paramedr sy'n cael ei basio. 253 00:14:10,590 --> 00:14:14,250 Mae fel os ydych yn creu swyddogaeth "Ychwaneger" a gymerodd mewn dau gyfanrif 254 00:14:14,250 --> 00:14:16,670 a dywedasoch int a a b int. 255 00:14:16,670 --> 00:14:22,680 Byddai hynny'n enw, ac os oeddech am ffurf arall, a oedd yn 256 00:14:22,680 --> 00:14:27,800 y gallwn ei wneud yn unig gan gopïo a gludo, yna byddai gennym enw b. 257 00:14:27,800 --> 00:14:31,030 >> Felly nawr bydd gennym ddau baramedr sy'n cael eu pasio trwy 258 00:14:31,030 --> 00:14:36,970 gyrraedd y website-- nesaf i'r dudalen gwe nesaf, hello.php. 259 00:14:36,970 --> 00:14:39,770 A gallwn weld mewn gwirionedd hynny eto os ydym am. 260 00:14:39,770 --> 00:14:44,830 Dyma'r ffordd hawsaf i ddelio â y cod ar y we yn y DRhA, yn y bôn. 261 00:14:44,830 --> 00:14:47,940 Byddwch yn dechrau i fyny 'r gweinydd, ei gael rhedeg, ac yna bob tro y byddwch yn 262 00:14:47,940 --> 00:14:50,649 gwneud rhai newidiadau, dim ond yn agos bod ffeil yn unig i fod yn ddiogel. 263 00:14:50,649 --> 00:14:52,440 Gwasgu'r botwm yn ôl mae ychydig yn anodd 264 00:14:52,440 --> 00:14:55,800 oherwydd gallai llwytho cynharach fersiwn, nid yr un mwyaf diweddaru. 265 00:14:55,800 --> 00:14:59,200 >> Ac yna 'ch jyst chlecia eich botwm eto, pop dde up-- oh, 266 00:14:59,200 --> 00:15:00,510 ac erbyn hyn mae dwy ffurf. 267 00:15:00,510 --> 00:15:10,440 Ac felly os ydym deipio un peth ym mhob one-- "Hirshhorn Jason," ar gyfer instance-- 268 00:15:10,440 --> 00:15:11,590 yr ydym yn dweud helo. 269 00:15:11,590 --> 00:15:12,840 Rydym yn edrych i fyny ar ein baramedrau. 270 00:15:12,840 --> 00:15:18,910 Mae'n edrych fel sydd gennym, fel y disgwyl, a = Jason a b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 sy'n cynrychioli'r ddau baramedr ein bod yn trosglwyddo i'r swyddogaeth hon. 272 00:15:23,760 --> 00:15:27,900 >> Felly nawr gadewch i ni mewn gwirionedd yn cael i gweithredu'r bod ymarferoldeb yr ydym 273 00:15:27,900 --> 00:15:30,840 Roedd yn P yn gosod 6. 274 00:15:30,840 --> 00:15:32,490 Felly, ar hyn o bryd rydym yn unig yn adleisio helo. 275 00:15:32,490 --> 00:15:34,310 Ac nid dyna'r ddefnyddiol iawn. 276 00:15:34,310 --> 00:15:38,530 Rydym yn awyddus i adleisio rhai newidyn a gafodd ei drosglwyddo i ni. 277 00:15:38,530 --> 00:15:40,320 Ac rydym yn gwybod enw'r newidyn hwn. 278 00:15:40,320 --> 00:15:41,770 Mae gennym ac yr ydym wedi b. 279 00:15:41,770 --> 00:15:43,500 Felly, gallem ddewis adleisio'r naill ai un. 280 00:15:43,500 --> 00:15:45,470 >> Ond sut ydyn ni'n gael gafael arno? 281 00:15:45,470 --> 00:15:48,820 Wel, mae yna rai newidynnau byd-eang yn PHP. 282 00:15:48,820 --> 00:15:51,240 Ac yr wyf i'n mynd i ysgrifennu nhw yn y sylwadau yma. 283 00:15:51,240 --> 00:15:59,910 Y ddau rhai pwysicaf yn get a'i phostio at ein dibenion ar hyn o bryd. 284 00:15:59,910 --> 00:16:05,350 Mae'r rhain yn y rhesi neu, dechnegol, mae'r geiriaduron 285 00:16:05,350 --> 00:16:10,540 lle mae ein newidynnau ein bod gan fynd heibio i'r dudalen gwe byw nesaf. 286 00:16:10,540 --> 00:16:14,520 A byddwn yn fuan yn gweld sut i'w defnyddio. 287 00:16:14,520 --> 00:16:19,720 >> Nodyn byr arall am cod PHP ac mae rhai manylion penodol iddo-- yn C, 288 00:16:19,720 --> 00:16:23,260 i ddatgan newidyn neu i ddefnyddio newidynnau, 289 00:16:23,260 --> 00:16:24,570 oedd gennych yn gyntaf i ddatgan eu cyfer. 290 00:16:24,570 --> 00:16:30,860 A beth oedd gennych i'w wneud pan fyddwch yn Datganodd ohonynt oedd yn dweud int a neu b torgoch. 291 00:16:30,860 --> 00:16:35,630 Bu'n rhaid i chi ddatgan y mathau o hyn newidynnau cyn i chi eu creu. 292 00:16:35,630 --> 00:16:38,800 PHP-- nid oes angen i chi wneud unrhyw o hynny. 293 00:16:38,800 --> 00:16:42,522 Nid yw PHP yn gofyn am y math o amrywiol. 294 00:16:42,522 --> 00:16:44,480 A'r ffordd yr ydych yn creu variable-- yn hytrach 295 00:16:44,480 --> 00:16:49,930 na dweud int, torgoch, string-- sydd mewn gwirionedd torgoch *, wrth i ni know-- 296 00:16:49,930 --> 00:16:52,180 yn hytrach na gwneud popeth o hynny, gan fod popeth 297 00:16:52,180 --> 00:16:54,620 yw o'r un math, typeless, allwn yn unig 298 00:16:54,620 --> 00:16:59,210 defnyddio un cymeriad, a oedd yn yw'r arwydd ddoler. 299 00:16:59,210 --> 00:17:03,700 A byddwch yn gweld ei fod eisoes yn neidio i fyny, ychydig o bethau AutoComplete. 300 00:17:03,700 --> 00:17:11,380 Ac mae'n dweud bod _GET a _POST Mae dau opsiwn sydd ar gael imi 301 00:17:11,380 --> 00:17:11,900 i mi. 302 00:17:11,900 --> 00:17:16,430 Mae rhai o'r rhain bethau eraill yn cael eu newidynnau byd-eang eraill yn PHP 303 00:17:16,430 --> 00:17:18,430 y byddwch yn eu defnyddio drosodd cwrs P yn gosod 7. 304 00:17:18,430 --> 00:17:20,569 Am nawr rydym ni'n mynd i canolbwyntio ar get a post. 305 00:17:20,569 --> 00:17:22,910 Ond mae hyn yn ddefnyddiol beth y mae'r DRhA yn ei wneud 306 00:17:22,910 --> 00:17:24,980 lle unwaith y byddwch wedi teipio yn y arwydd doler, 307 00:17:24,980 --> 00:17:28,760 bydd yn dechrau llenwi newidynnau byd-eang neu newidynnau ydych wedi diffinio'n barod. 308 00:17:28,760 --> 00:17:34,360 >> Felly, os ydych yn awyddus i ddiffinio newidyn enw "llinyn," 309 00:17:34,360 --> 00:17:38,290 gallech jyst chyflea 'cyfartal i "hi." 310 00:17:38,290 --> 00:17:40,100 Ac mae'n bôn mor syml â hynny. 311 00:17:40,100 --> 00:17:44,720 Ac yna y gallem ei wneud rhywbeth fel "adleisio $ string." 312 00:17:44,720 --> 00:17:48,524 Dylai'r DRhA yn taflu rhywfaint o gwallau os wyf yn gwneud unrhyw beth o'i le, 313 00:17:48,524 --> 00:17:50,190 felly gobeithio rwy'n ei wneud popeth yn iawn. 314 00:17:50,190 --> 00:17:52,060 Ond mae bugs bob amser yn codi. 315 00:17:52,060 --> 00:17:56,670 >> Peth anodd arall am PHP yw nad yw'n llunio. 316 00:17:56,670 --> 00:18:00,640 Felly, gyda rhaglenni C, fyddech chi'n ei wneud y drefn ddyddiol o- y bôn, 317 00:18:00,640 --> 00:18:02,710 fyddech chi'n eu gwneud golygiadau i eich cod, byddech yn ei gadw, 318 00:18:02,710 --> 00:18:04,460 ac yna y byddech yn ei gwneud yn, lle'r oedd gwneud 319 00:18:04,460 --> 00:18:08,830 y cam oedd yn galw y compiler, chlang, i wneud eich cod, testun hwn 320 00:18:08,830 --> 00:18:10,570 ffeil, i mewn i gweithredadwy. 321 00:18:10,570 --> 00:18:15,550 PHP yn C-fel, ond mae'n ddienyddio ar y hedfan gan eich porwr gwe. 322 00:18:15,550 --> 00:18:17,640 Felly does dim ffordd i wybod. 323 00:18:17,640 --> 00:18:19,790 >> Gwneud Byddai taflu rhai camgymeriadau yn ddefnyddiol, dde? 324 00:18:19,790 --> 00:18:22,190 Byddai'n hoffi, byddwch yn Nid oedd yn datgan newidyn hwn 325 00:18:22,190 --> 00:18:23,320 cyn i chi wedi ceisio ei ddefnyddio. 326 00:18:23,320 --> 00:18:29,120 Rydych yn gwneud hyn i gyd segfault stuff-- drwg, segfault, pob math yna o amseroedd hwyl 327 00:18:29,120 --> 00:18:31,000 a ddaeth gyda'r gwneud. 328 00:18:31,000 --> 00:18:33,920 PHP yn gleddyf dwbl-ymyl oherwydd ni fyddwch yn cael gwallau hynny, 329 00:18:33,920 --> 00:18:37,770 ond sydd hefyd yn golygu na fyddwch yn gwybod 'n sylweddol beth sydd o'i le ar eich rhaglen 330 00:18:37,770 --> 00:18:39,840 os ydych yn unig redeg ac nid yw'n gweithio. 331 00:18:39,840 --> 00:18:45,130 Ond dylai'r dadnamydd nodi rhai pethau bach, gobeithio, yn ddefnyddiol 332 00:18:45,130 --> 00:18:47,950 syntactically y gallwch drwsio. 333 00:18:47,950 --> 00:18:52,850 >> Felly nawr os ydym yn mynd dros canlynol-- dweud, gadewch i ni gau'r hynny. 334 00:18:52,850 --> 00:18:54,522 Ailagor. 335 00:18:54,522 --> 00:18:55,480 Ac rydym yn ôl i fan hyn. 336 00:18:55,480 --> 00:18:57,210 Felly, mae gennym newidyn ac yn amrywiol a b. 337 00:18:57,210 --> 00:18:58,626 Ac ni fydd y rhain yn y pen draw o bwys. 338 00:18:58,626 --> 00:19:01,850 Byddwn yn galw h a g iddynt am ddim rheswm penodol. 339 00:19:01,850 --> 00:19:03,120 >> Ac rydym yn dweud helo. 340 00:19:03,120 --> 00:19:07,480 Nawr mae'n edrych fel ein llinyn "Hi" yn wir argraffu. 341 00:19:07,480 --> 00:19:10,460 Rydym yn creu newidyn enw "Llinyn," ei osod yn gyfartal i "hi." 342 00:19:10,460 --> 00:19:15,520 Sylwch nad oedd yn rhaid i ni wneud malloc neu wneud amrywiaeth cymeriad. 343 00:19:15,520 --> 00:19:19,110 >> Yn PHP, oherwydd bod newidynnau yn typeless, llinyn 344 00:19:19,110 --> 00:19:22,230 yr un fath ag yn torgoch am bob pwrpas. 345 00:19:22,230 --> 00:19:23,570 Gallai hyn fod yn "hi." 346 00:19:23,570 --> 00:19:26,340 Gallai hyn fod yr union k cymeriad. 347 00:19:26,340 --> 00:19:29,290 Gall hyn fod yn rhif 1. 348 00:19:29,290 --> 00:19:30,300 Ac nid yw'n poeni. 349 00:19:30,300 --> 00:19:33,560 Nid yw PHP yn poeni am y math o eich newidyn. 350 00:19:33,560 --> 00:19:34,390 Neu, mae'n ei wneud gofal. 351 00:19:34,390 --> 00:19:36,240 Mae'n gofalu pan fyddwch yn ceisio a gwneud pethau ag ef, 352 00:19:36,240 --> 00:19:38,790 ond nid yw'n ofal mewn y cam datganiad. 353 00:19:38,790 --> 00:19:46,960 >> Ac yn union fel y gallwch yn C, gallwch datgan llinynnau ar y pentwr fel hyn 354 00:19:46,960 --> 00:19:51,130 er bod dweud "stac" yn ychydig yn tipyn o gamarweiniol posibl wrth 355 00:19:51,130 --> 00:19:52,230 rydym yn sôn am PHP. 356 00:19:52,230 --> 00:19:54,020 Ond nid oes rhaid i ni boeni am hynny. 357 00:19:54,020 --> 00:19:55,936 Felly rydym yn cael ein llinyn "Hi," ac yr ydym yn adleisio llinyn. 358 00:19:55,936 --> 00:19:58,880 Felly nawr rydym wedi ei drafod newidynnau. 359 00:19:58,880 --> 00:20:06,060 Felly nawr mae angen i ni siarad am get a bostio a pherfformio y peth olaf mae hynny'n 360 00:20:06,060 --> 00:20:12,660 sydd eu hangen i 'n sylweddol fynd yn ôl hyn i fyny i ymarferoldeb y P a osodwyd 6. 361 00:20:12,660 --> 00:20:14,990 Felly, ar hyn o bryd rydym yn adleisio y llinyn, ond rydym 362 00:20:14,990 --> 00:20:17,080 oes gan newidynnau hyn gael a post. 363 00:20:17,080 --> 00:20:19,430 Ac am ein bod yn eu defnyddio y dull ei gael, mae'n 364 00:20:19,430 --> 00:20:24,810 Ymddengys naturiol bod ein newidyn sy'n mae gennym ddiddordeb mewn, yn aab, 365 00:20:24,810 --> 00:20:29,870 Bydd yn cael ei lleoli yn y rhesi neu geiriadur, yn dechnegol gael. 366 00:20:29,870 --> 00:20:33,510 >> Felly, os byddwn yn sefydlu ei gael fel hyn gyda'ch groups-- bwysais fynd i mewn 367 00:20:33,510 --> 00:20:36,770 ac nid oedd yn ei hoffi iddo-- ond yma rydym wedi ei gael. 368 00:20:36,770 --> 00:20:38,000 Ac felly gael eisoes yn bodoli. 369 00:20:38,000 --> 00:20:41,380 Felly, gallwn eisoes yn ddechrau mynediad rhai o elfennau o get. 370 00:20:41,380 --> 00:20:45,000 Os ydym yn cael, cystrawen hon ar gyfer araeau yn PHP yn iawn C-debyg. 371 00:20:45,000 --> 00:20:47,900 Rydym wedi ein dau cromfachau sgwâr. 372 00:20:47,900 --> 00:20:53,440 >> Felly, os ydym yn dweud ei gael mewn normal array, gallem gael mynediad 373 00:20:53,440 --> 00:20:55,600 mynegai 0, mae'r mynegai yn gyntaf. 374 00:20:55,600 --> 00:20:56,840 PHP yw sero mynegai. 375 00:20:56,840 --> 00:21:00,550 Gallem ddweud sero, un, pethau two-- fel hyn. 376 00:21:00,550 --> 00:21:03,420 Ac yr wyf wedi bod yn dweud bod yn cael yn dechnegol geiriadur. 377 00:21:03,420 --> 00:21:08,290 Felly beth PHP yn ei wneud o dan y cwfl, sydd yn ychydig yn brafiach na C, 378 00:21:08,290 --> 00:21:12,760 yw ei fod eisoes yn rhoi i chi rai ymarferoldeb geiriadur, sy'n 379 00:21:12,760 --> 00:21:16,240 yw tablau hash mewn gwirionedd, neu'n ceisio, honnir. 380 00:21:16,240 --> 00:21:19,360 Neu, yn dechnegol mae'n Gallai fod yn cynnig hefyd. 381 00:21:19,360 --> 00:21:25,500 Ond PHP yn gweithredu tabl hash, sy'n ffurfio geiriadur effeithiol. 382 00:21:25,500 --> 00:21:28,400 >> Ac felly rydym yn gwybod yr enw o'n newidiol, dde? 383 00:21:28,400 --> 00:21:32,440 Mae'n cael ei basio yn y llinyn ymholiad gan PHP. 384 00:21:32,440 --> 00:21:37,290 Mae gennym = h a b = g ble a b yn enwau'r newidynnau. 385 00:21:37,290 --> 00:21:41,580 Felly, y ffordd y gallwn gael mynediad i'r gwerth sy'n cyfateb i'r allwedd 386 00:21:41,580 --> 00:21:45,055 yn ein geiriadur yn dim ond drwy ddweud _GET_GET ["yn"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Felly, yn awr mae gennym _GET ["yn"]. 389 00:21:51,365 --> 00:21:56,930 Ac os ydym yn unig yn cymryd lle y tu mewn ein adlais, os ydym yn adleisio _GET_GET ["yn"] - 390 00:21:56,930 --> 00:22:02,410 a chawn weld a yw'r dadnamydd taflu unrhyw wallau am this-- 391 00:22:02,410 --> 00:22:05,620 byddwn yn eithrio bod a chau hyn allan. 392 00:22:05,620 --> 00:22:07,130 Agor i fyny. 393 00:22:07,130 --> 00:22:10,390 Felly rydym yn ei wneud hawl yn unig erbyn hyn, felly ni ddylai b bwys. 394 00:22:10,390 --> 00:22:12,980 "Hi" a "him" - "Hum." "Hi" a "hymian." 395 00:22:12,980 --> 00:22:14,810 Swnio'n dda. 396 00:22:14,810 --> 00:22:18,040 >> Ac mae'n hargraffu "Hi," sydd yn wallgof. 397 00:22:18,040 --> 00:22:21,920 Ond dyna'n union beth oedd yn digwydd yn P yn gosod 6. 398 00:22:21,920 --> 00:22:27,240 Yn y bôn, pa P yn gosod 6 Roedd doing-- adlais helo, 399 00:22:27,240 --> 00:22:31,580 name-- lle ei fod wedi cael Enw amrywiol ac 'i jyst 400 00:22:31,580 --> 00:22:35,520 yn gofyn i chi deipio bod ychydig o destun. 401 00:22:35,520 --> 00:22:37,380 Roedd yna hefyd rai Cod ychwanegol lle 402 00:22:37,380 --> 00:22:40,550 mae'n cynnwys os ddatganiadau, y gallwn ei wneud ar hyn o bryd. 403 00:22:40,550 --> 00:22:50,120 >> Gallwn ddweud os yn bodoli, a oedd yn yn swyddogaeth o fewn PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Gyda'r tanlinellu, "enw" - sydd yn y bôn dweud, 405 00:22:55,110 --> 00:22:58,760 "Os enw wedi cael ei llenwi i mewn" am fod gallem fod wedi dim ond clicio ar y botwm 406 00:22:58,760 --> 00:23:02,580 i gyflwyno'r ffurflen heb teipio i mewn i unrhyw beth y maes hwnnw. 407 00:23:02,580 --> 00:23:07,760 Ac rydym yn lapio hynny yn ein bresys cyrliog gyfeillgar. 408 00:23:07,760 --> 00:23:09,175 Gallwn gael datganiad arall. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 A dyna i gyd o fewn yr ongl PHP braced, gofynnod, bachyn ongl, 411 00:23:18,820 --> 00:23:20,040 os mynnwch. 412 00:23:20,040 --> 00:23:21,750 >> Ac yn awr byddwn yn gweld os bydd hyn yn gweithio. 413 00:23:21,750 --> 00:23:26,300 Rwy'n cadw yn aros ar ei gyfer i debug ac yn crap arnaf, yn y bôn, 414 00:23:26,300 --> 00:23:28,410 ond nid oes ganddo eto. 415 00:23:28,410 --> 00:23:30,830 Efallai ei fod yn awr yn am fy mod yn siarad am. 416 00:23:30,830 --> 00:23:31,330 Yup. 417 00:23:31,330 --> 00:23:32,510 Oedd, mewn gwirionedd. 418 00:23:32,510 --> 00:23:34,610 Felly, nid oes dim yn dangos i fyny. 419 00:23:34,610 --> 00:23:38,750 Mae hynny oherwydd rhywbeth o'i le a ysgrifennais yn y cod PHP. 420 00:23:38,750 --> 00:23:42,844 Ac yr wyf yn sôn am y debugging yn ddyrys oherwydd yn PHP, rydym yn 421 00:23:42,844 --> 00:23:45,260 Nid oedd llunio ei llaw ac nid oedd y casglwr yn ei hoffi, 422 00:23:45,260 --> 00:23:46,710 dyma lle mae eich camgymeriadau yn cael eu. 423 00:23:46,710 --> 00:23:49,690 >> Ond beth y gallwn ei wneud yw-- gwneud pobl yn cofio 424 00:23:49,690 --> 00:23:57,010 sut i edrych ar rwydwaith gwahanol ceisiadau sy'n PHP-- neu bod gwefannau 425 00:23:57,010 --> 00:23:57,620 anfon? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Yn gwneud hyn yn darlithio unwaith neu ddwy. 427 00:24:00,290 --> 00:24:05,830 Chi gofio lle rydym yn mynd i ddod o hyd y gwahanol ddyledion a 200 OKs, 428 00:24:05,830 --> 00:24:09,780 i gyd codau hyn sy'n cael eu hanfon drwy HTTP o dudalen gwefan hon i dudalen we? 429 00:24:09,780 --> 00:24:12,514 A oes unrhyw un yn cofio lle rydym yn mynd i wneud hynny? 430 00:24:12,514 --> 00:24:13,787 >> GYNULLEIDFA: Tudalen Source. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: ffynhonnell Page. 432 00:24:14,870 --> 00:24:15,890 Yn union. 433 00:24:15,890 --> 00:24:19,230 Os byddwch yn mynd i Page Source-- berffaith. 434 00:24:19,230 --> 00:24:21,630 Felly Page Ffynhonnell tynnu i fyny yr arolygydd. 435 00:24:21,630 --> 00:24:23,140 >> A dwi'n defnyddio Safari. 436 00:24:23,140 --> 00:24:25,790 Yn ôl pob tebyg llawer ohonoch fydd yn defnyddio Chrome neu Firefox. 437 00:24:25,790 --> 00:24:27,750 Ond ar yr amod eich bod yn mewn unrhyw browser-- modern 438 00:24:27,750 --> 00:24:29,500 ac mae croeso i ddilyn ar hyd os ydych yn dymuno. 439 00:24:29,500 --> 00:24:32,560 Gallwch deipio i fyny cod hwn neu dim ond yn edrych y tu mewn i'r P set 6 440 00:24:32,560 --> 00:24:35,820 cyfeiriadur ar gyfer rhai pethau tebyg. 441 00:24:35,820 --> 00:24:41,020 hello.php yw'r hyn rydym yn bryd yn gweithio ar efelychu. 442 00:24:41,020 --> 00:24:42,476 >> Felly mae yna amrywiaeth o tabs. 443 00:24:42,476 --> 00:24:43,850 Gallwn edrych ar yr holl adnoddau. 444 00:24:43,850 --> 00:24:45,810 Gallwn weld y cod ffynhonnell. 445 00:24:45,810 --> 00:24:49,900 Felly, yn edrych fel nad oedd yn cael corff yn y gorffennol yn y diwedd. 446 00:24:49,900 --> 00:24:54,890 Mae'n dod o hyd gamgymeriad yn PHP ac mae'n rhoi'r gorau i lwytho'r dudalen we gyfan. 447 00:24:54,890 --> 00:24:58,320 Nid ydym yn hyd yn oed gael i ben tag ar gyfer HTML neu unrhyw beth. 448 00:24:58,320 --> 00:25:07,189 >> Ac os ydym yn edrych ar y rhwydwaith, y gallwn weld ein bod yn cael eich anfon cais. 449 00:25:07,189 --> 00:25:07,980 Mae hyn yn y parth. 450 00:25:07,980 --> 00:25:09,270 Mae hyn yn y cyfeiriad. 451 00:25:09,270 --> 00:25:10,070 Mae'n ddogfen. 452 00:25:10,070 --> 00:25:14,310 Rydym yn defnyddio'r dull get. 453 00:25:14,310 --> 00:25:15,760 >> Ac mae'n goch. 454 00:25:15,760 --> 00:25:19,030 Neu, yr oedd yn goch pan fyddaf Nid oedd yn dewis hynny. 455 00:25:19,030 --> 00:25:22,680 Sut ydw i'n dad ddewiswch hyn? 456 00:25:22,680 --> 00:25:23,980 Wel, roedd yn goch. 457 00:25:23,980 --> 00:25:25,201 Gadewch i mi adnewyddu. 458 00:25:25,201 --> 00:25:25,700 Ceir y mae. 459 00:25:25,700 --> 00:25:26,640 Nawr mae'n goch. 460 00:25:26,640 --> 00:25:30,530 >> Felly mae'n goch, sy'n golygu mae'n methu, sydd yn ddrwg. 461 00:25:30,530 --> 00:25:32,280 Felly gadewch i ni edrych ar pam ei fod yn methu. 462 00:25:32,280 --> 00:25:37,070 Felly, i gyd y gall y Page Ffynhonnell yn y bôn yn dweud wrthych beth yw eich 463 00:25:37,070 --> 00:25:38,720 nad oedd yn gweithio, y gallwn eisoes weld. 464 00:25:38,720 --> 00:25:42,100 Felly mae yna byddai yn ddelfrydol fod yn offeryn mwy defnyddiol. 465 00:25:42,100 --> 00:25:45,710 Ac mae rhai estyniadau porwr sy'n eich galluogi i dadfygio PHP, 466 00:25:45,710 --> 00:25:50,490 ond nid ydym yn mynd i yn ysgrifennu tunnell o PHP, 467 00:25:50,490 --> 00:25:53,190 felly mae'n debygol jyst gorau i edrych drwy eich cod 468 00:25:53,190 --> 00:25:56,760 yn ofalus a dim ond gwneud yn siwr bod nid yw'n gwneud unrhyw beth arall. 469 00:25:56,760 --> 00:26:03,876 >> Felly, gadewch i ni weld os fformat hwn os datganiad yw lle mae'r broblem. 470 00:26:03,876 --> 00:26:07,420 Rwyf am i lwytho bod yn ôl i fyny yma. 471 00:26:07,420 --> 00:26:09,830 Helo, hi. 472 00:26:09,830 --> 00:26:11,350 Felly mae 'na broblem yno. 473 00:26:11,350 --> 00:26:15,130 >> Felly, ar gyfer gystrawen gywir o PHP, PHP yn mynd 474 00:26:15,130 --> 00:26:17,369 i fod yn C-fel yn y byddwch yn gweld dolenni. 475 00:26:17,369 --> 00:26:18,410 Byddwch yn gweld os ddatganiadau. 476 00:26:18,410 --> 00:26:20,920 Byddwch yn gweld holl ffrindiau yma eich bod wedi dod yn gyfarwydd 477 00:26:20,920 --> 00:26:24,820 gyda dros y cwrs o hyn semester CS50. 478 00:26:24,820 --> 00:26:29,960 Ond y ffordd orau i ffigwr sut i gwneud rhywbeth yn PHP yw Google iddo 479 00:26:29,960 --> 00:26:33,170 neu i edrych ar rai enghreifftiau o god PHP oherwydd eich bod yn gwybod y functionality. 480 00:26:33,170 --> 00:26:35,080 >> Rydych yn gwybod beth y gallwch wneud gyda'r rhaglen. 481 00:26:35,080 --> 00:26:35,976 Gallwch ddolen. 482 00:26:35,976 --> 00:26:37,600 Gallwch dolen gymaint o weithiau ag y dymunwch. 483 00:26:37,600 --> 00:26:39,433 Gallwch dolen ym mhob math o wahanol ffyrdd. 484 00:26:39,433 --> 00:26:40,700 Gallwch greu swyddogaethau. 485 00:26:40,700 --> 00:26:43,241 Gallwch greu swyddogaethau y yn galw swyddogaethau, swyddogaethau eraill 486 00:26:43,241 --> 00:26:44,150 hynny galw eu hunain. 487 00:26:44,150 --> 00:26:45,733 A bod gennych enwau ar gyfer y cysyniadau hyn. 488 00:26:45,733 --> 00:26:49,860 Rydych chi wedi got recursion, dolenni, os, llifoedd rheoli eraill. 489 00:26:49,860 --> 00:26:51,300 Ac felly Google yn eich ffrind gorau. 490 00:26:51,300 --> 00:26:53,540 Hyd yn oed yn dweud, "PHP os datganiad "ac yna chi helpu 491 00:26:53,540 --> 00:26:57,740 fod tunnell o swyddi gyda atebion i bobl eraill 492 00:26:57,740 --> 00:27:02,090 sydd wedi cael cwestiynau tebyg i chi, sy'n dechrau allan gyda PHP 493 00:27:02,090 --> 00:27:03,820 ac maent yn chwilfrydig am beth cystrawen. 494 00:27:03,820 --> 00:27:08,480 >> Oherwydd ein bod yn cael y moethus o fod yn gallu edrych ar y cod yn P set 6, 495 00:27:08,480 --> 00:27:14,980 rydym mewn gwirionedd yn tynnu i fyny ac i weld bod OK, dyma rhywbeth diddorol. 496 00:27:14,980 --> 00:27:18,070 Felly, mae hyn yn beth mewn gwirionedd yn edrych fel yn P yn gosod 6. 497 00:27:18,070 --> 00:27:20,340 Felly, os ydym yn mynd drwy hyn, gallwn weld bod rydym wedi 498 00:27:20,340 --> 00:27:27,150 got sawl un o'r rhain ychydig Darnau question mark PHP-debyg. 499 00:27:27,150 --> 00:27:29,050 >> Ac nid oes braces cyrliog. 500 00:27:29,050 --> 00:27:30,250 Mae yna colon. 501 00:27:30,250 --> 00:27:32,340 Ac mae cyrliog bresys yn PHP, ond mae hyn 502 00:27:32,340 --> 00:27:38,700 yn fformat a ffordd o wneud PHP sy'n gweithio'n dda gyda HTML 503 00:27:38,700 --> 00:27:43,830 oherwydd fel y byddwch yn gweld, rydym yn cau'r rhwyd oddi ar y rhain PHP bits-- y elses 504 00:27:43,830 --> 00:27:49,770 ac mae'r IFS a phob un that-- ac yna rydym yn thraw yn HTML y tu mewn iddynt 505 00:27:49,770 --> 00:27:54,640 tra'n parhau i ddilyn y llif rheoli a nodwyd gan PHP. 506 00:27:54,640 --> 00:27:58,480 >> Felly, Im 'jyst yn mynd i Taith gerdded yn gyflym drwy hyn 507 00:27:58,480 --> 00:28:01,740 oherwydd ei fod yn llawer o'r un cysyniadau ein bod yn ei wneud o'r blaen. 508 00:28:01,740 --> 00:28:07,280 Mae gennym os nad wag, cromfachau, _GET_GET ["enw"]. 509 00:28:07,280 --> 00:28:08,500 Mae hyn i gyd yr un fath bethau. 510 00:28:08,500 --> 00:28:15,430 Rydym yn defnyddio'r geiriadur _GET sy'n PHP yn anfon ar gais o ffurfiau, 511 00:28:15,430 --> 00:28:20,720 oherwydd ei fod yn y paramedrau gweithredu, ac mae'r dull yn ei gael. 512 00:28:20,720 --> 00:28:22,110 Ac yna sy'n dod i ben hynny. 513 00:28:22,110 --> 00:28:27,420 Mae'r colon yn arwyddocáu i ddim ond gwneud hyn os yw'r datganiad yn gwerthuso os bydd i wir. 514 00:28:27,420 --> 00:28:29,490 Mae'n debyg i brês cyrliog. 515 00:28:29,490 --> 00:28:33,320 Ac yn wir, mae'n Brace cyrliog mewn ieithoedd eraill fel Python, 516 00:28:33,320 --> 00:28:37,070 y gallech ddod ar eu traws os ydych yn unig wneud hynny ar gyfer eich prosiect terfynol. 517 00:28:37,070 --> 00:28:40,170 >> Ac yna y llinell hon, helo. 518 00:28:40,170 --> 00:28:41,510 Yna, mae gennym y peth rhyfedd. 519 00:28:41,510 --> 00:28:43,190 Mae gennym fwy cromfachau. 520 00:28:43,190 --> 00:28:46,140 Does dim HTTP there-- neu PHP, mae'n ddrwg gennyf. 521 00:28:46,140 --> 00:28:47,250 Ond mae 'na arwydd cyfartal. 522 00:28:47,250 --> 00:28:50,625 Ac yna mae gennym swyddogaeth, htmlspecialchars (_GEThtmlspecialchars (_GET ["enw"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Mae hyn yn fath o fel mwy Fersiwn uwch o adlais. 525 00:28:58,040 --> 00:29:01,450 Fel yr ydym wedi adleisio fel ffordd i argraffu pethau allan yn PHP. 526 00:29:01,450 --> 00:29:03,890 Mae hon yn swyddogaeth sy'n a ddiffinnir yn PHP sy'n 527 00:29:03,890 --> 00:29:08,160 Bydd ymdrin â rhai mwy cas cymeriadau a gwerthoedd beit 528 00:29:08,160 --> 00:29:09,540 y gallech ei basio. 529 00:29:09,540 --> 00:29:11,070 Mae bob amser yn fwyaf diogel i ddefnyddio hyn. 530 00:29:11,070 --> 00:29:14,930 Ond adlais fydd yn gwneud y gwaith jyst ddirwya os nad ydym yn 531 00:29:14,930 --> 00:29:17,620 delio gydag unrhyw beth yn rhy gas. 532 00:29:17,620 --> 00:29:20,340 >> Ac felly mae hyn yr un Effaith y bôn, 533 00:29:20,340 --> 00:29:26,360 pethau hyn yn rhwng y cwestiwn marciau sydd ar werthuso gan PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars dychwelyd HTML 'n glws Gwerth printiedig _GET_GET ["enw"], h.y. 535 00:29:34,490 --> 00:29:36,010 beth bynnag y byddwn teipio yn y ffurflen. 536 00:29:36,010 --> 00:29:40,025 Ac yna bydd yn dweud helo, gofod coma, ac yna hynny. 537 00:29:40,025 --> 00:29:42,910 Mae hynny'n holl beth rhwng bracedi ongl 538 00:29:42,910 --> 00:29:47,390 bydd yn cael ei disodli gan ba bynnag htmlspecialchars rhoi allan. 539 00:29:47,390 --> 00:29:49,390 Felly dyna yn y bôn tebyg at yr hyn rydym yn ei wneud. 540 00:29:49,390 --> 00:29:54,760 Ac mae gennym ddatganiad arall sy'n helo byd, sy'n gwneud synnwyr. 541 00:29:54,760 --> 00:29:58,070 Felly nawr gadewch i ni fynd yn ôl at ein cod a gweld exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Dywedais yn bodoli, nad yw'n yn beth yr ydym am ei wneud. 543 00:30:02,200 --> 00:30:05,370 Roeddem yn awyddus i ddweud nad wag. 544 00:30:05,370 --> 00:30:10,020 >> Ac felly dylai hyn weithio ychydig ychydig yn well, nid _GET_GET gwag ["enw"]. 545 00:30:10,020 --> 00:30:12,710 A bod Brace cyrliog cyd-fynd Brace cyrliog. 546 00:30:12,710 --> 00:30:15,210 Rydym wedi cael ein bresys cyrliog yma. 547 00:30:15,210 --> 00:30:17,790 echo helo _GET ["enw"]. 548 00:30:17,790 --> 00:30:19,912 Gadewch i ni weld os yw hyn yn gweithio ychydig yn well. 549 00:30:19,912 --> 00:30:21,350 Rydym yn dal i redeg ein gweinydd. 550 00:30:21,350 --> 00:30:23,910 Helo Jason. 551 00:30:23,910 --> 00:30:24,780 Helo Jason. 552 00:30:24,780 --> 00:30:25,810 Ac fe weithiodd y tro hwn. 553 00:30:25,810 --> 00:30:29,860 Ac felly dyna brawf eich bod yn gallu wir 554 00:30:29,860 --> 00:30:35,180 Defnyddiwch y braces cyrliog eich bod yn gwybod a chariad yn y cod PHP yn HTML. 555 00:30:35,180 --> 00:30:41,100 Mae'r cod PHP a ddarperir i chi yn pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 yn cynnig ffordd arall o gwneud yr un peth. 557 00:30:44,760 --> 00:30:49,220 >> Felly, yn awr mae gennym y pŵer. 558 00:30:49,220 --> 00:30:55,740 Mae gennym y swyddogaeth i weithredu y cod PHP a welsom yn pset 6 559 00:30:55,740 --> 00:30:57,390 gan ein hunain, yn y bôn. 560 00:30:57,390 --> 00:31:01,350 Cyn imi symud ymlaen, beth yw rhai o'r gwestiynau sydd gennych ar hyn o bryd? 561 00:31:01,350 --> 00:31:02,066 Ydw [Anghlywadwy]. 562 00:31:02,066 --> 00:31:06,512 >> GYNULLEIDFA: Felly, yn y fersiwn yn pset6, pan fyddwch yn rhedeg y peth, mae 'na lle. 563 00:31:06,512 --> 00:31:09,330 A gallaf weld ble mae'r gofod yn ar ôl y coma. [Anghlywadwy] cychwyn 564 00:31:09,330 --> 00:31:10,700 y braced agored. 565 00:31:10,700 --> 00:31:15,420 Sut ydych chi'n ymgorffori gofod mewn y ffordd yr ydych yn ysgrifennu eich codau hun? 566 00:31:15,420 --> 00:31:17,910 >> SIARADWR: Mae hwnnw'n gwestiwn da. 567 00:31:17,910 --> 00:31:21,650 Ac felly gadewch i ni chyfrif hynny allan. 568 00:31:21,650 --> 00:31:24,450 Felly dyna gwestiwn da iawn ac yn un nad oeddwn yn eu hystyried. 569 00:31:24,450 --> 00:31:25,950 Ond gadewch i ni wneud hynny gyda'i gilydd. 570 00:31:25,950 --> 00:31:30,280 >> Felly, yn gyntaf oll, yr hyn Rwy'n gwneud gyda adlais 571 00:31:30,280 --> 00:31:33,690 yw pan rydym yn unig yn adleisio helo, yr allbyna helo. 572 00:31:33,690 --> 00:31:41,310 Os byddwn yn adleisio yn awr mae hyn yn cael ar wahân llinell, gadewch i ni edrych ar yr hyn sy'n digwydd. 573 00:31:41,310 --> 00:31:43,740 Felly, rydym yn cliciwch yma. 574 00:31:43,740 --> 00:31:45,220 Rydym yn cadw dweud, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Felly unwaith eto, nid oes gennym y gofod hwn. 576 00:31:48,690 --> 00:31:53,090 >> A dyna oherwydd, yn PHP, pan fyddwn wedi adlais, 577 00:31:53,090 --> 00:31:55,820 ni waeth faint o spaces-- Na, nid yw'r V-- 578 00:31:55,820 --> 00:32:01,770 ni waeth faint o leoedd yr ydym yn eu rhoi ar Yma-- os ydym yn awr yn llwytho hynny i fyny eto, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Yeah, gweler, bawb lleoedd got fwyta i fyny. 581 00:32:05,770 --> 00:32:08,020 Ac mae hynny'n rhywbeth y y swyddogaeth adlais yn ei wneud. 582 00:32:08,020 --> 00:32:11,110 >> Felly, i ofalu am hynny lle, ac mae hyn yn 583 00:32:11,110 --> 00:32:14,960 un o'r rhesymau pam nad ydych yn defnyddio adlais 584 00:32:14,960 --> 00:32:18,200 ac rydych yn ei ddefnyddio htmlspecialchars yn lle hynny. 585 00:32:18,200 --> 00:32:22,140 Rwy'n chwilfrydig beth fyddai yn digwydd os byddwn yn gwneud hyn 586 00:32:22,140 --> 00:32:26,700 lle rydym yn amgáu gofod mewn llinyn. 587 00:32:26,700 --> 00:32:29,720 Dydw i ddim yn onest yn siwr beth fydd yn digwydd pan fyddaf yn gwneud hyn. 588 00:32:29,720 --> 00:32:30,790 >> Felly dyna un ffordd. 589 00:32:30,790 --> 00:32:32,210 Dyna un ffordd i gymryd gofal ohono. 590 00:32:32,210 --> 00:32:34,840 Os ydych yn lapio y lle yn llinyn, yna bydd y gofod 591 00:32:34,840 --> 00:32:36,920 Bydd cynnyrch 'n glws gan adlais. 592 00:32:36,920 --> 00:32:41,930 Y peth mwyaf diogel i'w wneud yw i wneud htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Dyna bob amser yn y bet ddiogel. 594 00:32:43,800 --> 00:32:47,050 Ond yn awr mae gennym ffordd o wneud 'i ag adlais os oes angen. 595 00:32:47,050 --> 00:32:50,700 Ac yn yr un modd, y gallwn adlais llinellau newydd, yr holl math 596 00:32:50,700 --> 00:32:53,550 o bethau ydych yn gyfarwydd yn ei wneud yn PHP. 597 00:32:53,550 --> 00:32:57,460 >> Unrhyw un arall, beth yw'r mwyach Cwestiynau y mae pobl eraill yn cael 598 00:32:57,460 --> 00:33:01,090 yn y fan hon am PHP? 599 00:33:01,090 --> 00:33:04,620 Os yw pobl yn dangos i fyny ychydig yn hwyr, Rwy'n hapus i aros ar ôl ychydig 600 00:33:04,620 --> 00:33:06,420 ac yn siarad am rai o'r dechrau. 601 00:33:06,420 --> 00:33:10,380 Ac mae'n hefyd yr holl livestreamed, ac archif, sydd yn wallgof. 602 00:33:10,380 --> 00:33:13,960 >> Beth bynnag, felly yn awr gadewch i ni wneud rhai stwff mwy datblygedig gyda PHP. 603 00:33:13,960 --> 00:33:18,790 Ac un o'r pethau cyntaf i chi eu cyflwyno i mewn oedd C ar gyfer dolenni. 604 00:33:18,790 --> 00:33:24,060 A PHP Mae gan fwy pwerus ar gyfer a elwir yn ddolen y ddolen foreach. 605 00:33:24,060 --> 00:33:37,940 Ac mae'n edrych fel this-- ar gyfer pob wag fel cromfachau gwag, cyrliog, gwneud y peth. 606 00:33:37,940 --> 00:33:41,500 Felly, mae hyn yn y bôn yn llaw-fer. 607 00:33:41,500 --> 00:33:45,380 >> Gweler, mae'r i ddolen fel adeiladu cystrawennol 608 00:33:45,380 --> 00:33:50,590 Dyfeisiwyd yn C ac mewn gwasanaeth iaith a phethau yn hoffi. 609 00:33:50,590 --> 00:33:56,300 A ddyfeisiwyd yn C, yn union, fel llaw-fer am lawer o'r mathau o dolenni 610 00:33:56,300 --> 00:33:57,750 y byddai pobl yn gweld. 611 00:33:57,750 --> 00:34:01,230 Fel pan fyddwch yn ysgrifennu dolen, yno yn aml yn gam initialization 612 00:34:01,230 --> 00:34:04,700 ddienyddio i'r dde ar y dechrau, mae cyflwr lle byddai'r ddolen stop-- 613 00:34:04,700 --> 00:34:07,030 a dyna y nodwedd bod yn unig mewn cylch tra, 614 00:34:07,030 --> 00:34:10,040 neu bod sbel wedi union dim ond bod feature-- ac yna 615 00:34:10,040 --> 00:34:12,320 yn gam incrementation ar y diwedd. 616 00:34:12,320 --> 00:34:16,489 Ac felly byddech yn aml yn cael eich hun ysgrifennu cod fel y canlynol. 617 00:34:16,489 --> 00:34:19,780 Rydw i'n mynd i ddileu rhywfaint o hyn. 618 00:34:19,780 --> 00:34:23,850 >> Ond os ydym yn ailadrodd trwy cymeriadau mewn amrywiaeth, 619 00:34:23,850 --> 00:34:26,960 er enghraifft, fel rydym wedi got amrywiaeth o gymeriadau. 620 00:34:26,960 --> 00:34:29,400 Mae'n ddrwg gennym i ddod yn ôl C. wyf yn gwybod, oeddech yn meddwl y cawsoch eich gwneud. 621 00:34:29,400 --> 00:34:31,900 Ond dim ond at y diben o PHP dysgu, yr wyf yn addo. 622 00:34:31,900 --> 00:34:38,880 Felly, os ydych got a str torgoch o hyd 8, a gadewch i ni 623 00:34:38,880 --> 00:34:46,760 yn dweud y mae'n ei ddweud Hellooo gyda null llusgo. 624 00:34:46,760 --> 00:34:48,270 Great, felly dyna ein llinyn. 625 00:34:48,270 --> 00:34:51,469 >> Ac yna rydym wedi cael dros ddolen. 626 00:34:51,469 --> 00:34:53,730 Mae gennym int fi yn dychwelyd 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 Ac rydym am i adael pan str o Nid fi hafal cyfartal i null, 629 00:35:09,110 --> 00:35:11,590 am ein bod yn ymadael pan fydd yn hafal null. 630 00:35:11,590 --> 00:35:19,170 Ac yna rydym yn ei wneud i ++ ar bob pwynt yn y ar gyfer ddolen. 631 00:35:19,170 --> 00:35:30,480 Gwneud rhywbeth â str o i. 632 00:35:30,480 --> 00:35:34,950 >> Felly y fformiwla sylfaenol oedd, roedd gennym amrywiaeth hwn ein bod yn 633 00:35:34,950 --> 00:35:37,910 yn awyddus i drin fel elfennau ar wahân. 634 00:35:37,910 --> 00:35:45,170 Ond yr hyn roedd rhaid i ni ei wneud yw ein bod wedi gorfod yn y bôn yn creu cyfanrif ar wahân 635 00:35:45,170 --> 00:35:50,530 newidyn oedd yn cyfrif i fyny bob amser i ni fynd trwy'r ddolen. 636 00:35:50,530 --> 00:35:55,240 Ac yna byddai'n rhaid i ni yna yn galw strstr [i] pan yr hyn yr ydym yn wir am ei wneud 637 00:35:55,240 --> 00:35:57,280 yn unig yn mynd cymeriad gan gymeriad, dde? 638 00:35:57,280 --> 00:36:00,185 Nid ydym am i gynyddiad gael cyfanrif ac yna defnyddiwch y cyfanrif 639 00:36:00,185 --> 00:36:02,780 i gael gafael ar bob cymeriad yn unigol. 640 00:36:02,780 --> 00:36:04,410 Rydym yn awyddus cymeriad gan cymeriad. 641 00:36:04,410 --> 00:36:08,600 >> Ac felly ar gyfer pob ddeallus cyfrifo bod i ni. 642 00:36:08,600 --> 00:36:11,875 Os oes gennym amrywiaeth, a oedd yn gallwn ddatgan yn PHP 643 00:36:11,875 --> 00:36:15,900 fel just-- os oes gennym newidyn alw, gadewch i ni ei alw'n amrywiaeth. 644 00:36:15,900 --> 00:36:19,840 Mae gwyrthiau o ddim teipio, 'i' yn union fel unrhyw newidyn arall. 645 00:36:19,840 --> 00:36:20,730 Dim ond arae. 646 00:36:20,730 --> 00:36:26,890 Ac mae gennym ychydig o [Anghlywadwy] fel 1, 2, 3, dim ond rhyw fath o amrywiaeth ymgychwyn. 647 00:36:26,890 --> 00:36:29,680 Mae'n iawn, nid yw'n hoffi fy foreach. 648 00:36:29,680 --> 00:36:33,120 >> Ond os ydym yn foreach-- mewn gwirionedd Yr wyf yn teipio mai ychydig o'i le. 649 00:36:33,120 --> 00:36:34,840 Mae dwy ffordd o wneud dolen foreach. 650 00:36:34,840 --> 00:36:37,400 Mae y gystrawen yn a fel chystrawen. 651 00:36:37,400 --> 00:36:40,580 Ac rydym yn mynd i'w wneud cystrawennol yn gyntaf, nid fel. 652 00:36:40,580 --> 00:36:41,780 Dyna fy camgymeriad. 653 00:36:41,780 --> 00:36:53,785 >> Num Felly foreach yn array, adlais num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 A PHP yn gweiddi ar fi am ryw reswm. 656 00:36:59,500 --> 00:37:03,520 Mae'n dod o hyd i annisgwyl mewn mewn rhywbeth, 657 00:37:03,520 --> 00:37:05,820 sydd yn ychydig bach o trafferthu. 658 00:37:05,820 --> 00:37:09,105 Ond byddwn yn chyfrif i maes pam y mae mewn munud. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Felly nid fel hynny. 661 00:37:13,610 --> 00:37:15,040 Gadewch i ni geisio defnyddio'r fel. 662 00:37:15,040 --> 00:37:17,310 Mae'n well gan y gan gystrawen yn ymddangos. 663 00:37:17,310 --> 00:37:22,550 Felly, gadewch i ni wneud amrywiaeth foreach fel num. 664 00:37:22,550 --> 00:37:24,520 >> Felly ychydig o eglurhad o'r hyn a ddigwyddodd yn unig 665 00:37:24,520 --> 00:37:30,670 yw'r fel gystrawen yn saying-- yn dda yn gyntaf, gadewch i ni edrych ar beth mae hyn yn argraffu. 666 00:37:30,670 --> 00:37:32,260 Felly, rydym yn agor ein IDE. 667 00:37:32,260 --> 00:37:33,110 Rydym yn mynd yma. 668 00:37:33,110 --> 00:37:35,845 Yr ydym yn dweud, Helo Jason. 669 00:37:35,845 --> 00:37:41,390 Ac yr oedd 123, a oedd yn cynnwys y rhesi yr ydym yn ei greu i fyny top. 670 00:37:41,390 --> 00:37:45,500 >> Felly blymio i mewn i hyn dolen foreach, mae gennym newidyn o'r enw arae 671 00:37:45,500 --> 00:37:47,470 sef casgliad o tri rhif. 672 00:37:47,470 --> 00:37:52,120 Ac yna rydym yn ei wneud foreach amrywiaeth fel num, adlais num. 673 00:37:52,120 --> 00:37:54,990 A dyna mwy greddfol nag ar gyfer tocio. 674 00:37:54,990 --> 00:38:02,380 Rydym yn dweud, gan drin pob un y pethau yn y casgliad fel num, 675 00:38:02,380 --> 00:38:05,180 Rwyf am i chi roi num mi. 676 00:38:05,180 --> 00:38:06,640 A dyna yn union beth mae'n ei wneud. 677 00:38:06,640 --> 00:38:12,000 >> PHP yn cyfrifo bod pan fyddwch yn dweud array foreach, 678 00:38:12,000 --> 00:38:16,080 ac rydych yn delio gydag amrywiaeth, beth ydych yn mynd i eisiau ailadrodd drosodd 679 00:38:16,080 --> 00:38:19,950 yw'r cymeriadau yn y array, yw'r ints yn y array, 680 00:38:19,950 --> 00:38:21,920 yw'r elfennau yn y rhesi. 681 00:38:21,920 --> 00:38:26,110 Ac mae'n gadael i chi storio newidynnau hynny fel num, 682 00:38:26,110 --> 00:38:29,360 ac num na jyst allbwn ar unwaith yn hytrach na dweud, 683 00:38:29,360 --> 00:38:34,090 Mae gen i newidyn enw i, a yna rwyf am i strstr allbwn [i]. 684 00:38:34,090 --> 00:38:39,130 >> Ac felly sy'n ein galluogi i wneud pethau oeri. 685 00:38:39,130 --> 00:38:43,330 Fel y bôn nid oes raid i ni greu newidynnau hyn fel fi ac yn gwneud popeth 686 00:38:43,330 --> 00:38:45,090 y pethau incrementation ar y diwedd. 687 00:38:45,090 --> 00:38:48,290 PHP yn gofalu am hynny i gyd ar eich rhan. 688 00:38:48,290 --> 00:38:54,470 >> Felly nawr gadewch i ni siarad am foreach fel mae'n berthnasol i ein geiriadur _GET. 689 00:38:54,470 --> 00:38:57,170 Felly, byddwn yn gwneud sylwadau hyn allan yn gyflym. 690 00:38:57,170 --> 00:39:02,030 Felly, rydym wedi ein amrywiaeth _GET. 691 00:39:02,030 --> 00:39:04,361 Rydym wedi newidyn hwn. 692 00:39:04,361 --> 00:39:05,610 Ac 'i' got rhai pethau ynddo. 693 00:39:05,610 --> 00:39:10,275 >> Ar hyn o bryd, dim ond un newidyn cael eu trosglwyddo iddo, sydd yn enw. 694 00:39:10,275 --> 00:39:13,420 Ond os ydym gwasgwch Enter, yn awr gallwn gael dau newidyn. 695 00:39:13,420 --> 00:39:17,910 Gallwn gael enw ac oedran, er enghraifft, os ydym am gael y oedran a hefyd 696 00:39:17,910 --> 00:39:20,960 enw person, yn rhyfedd ddigon. 697 00:39:20,960 --> 00:39:25,690 >> Felly nawr _GET yn mynd i fod yn Geiriadur gyda dwy elfen, 698 00:39:25,690 --> 00:39:27,980 gyda dau bâr gwerth allweddol. 699 00:39:27,980 --> 00:39:33,490 Ac mae'r key-- cyntaf Rydw i'n mynd i ysgrifennu hyn un i fyny ar y bwrdd hefyd. 700 00:39:33,490 --> 00:39:37,136 Rydym wedi ein geiriadur yn _GET. 701 00:39:37,136 --> 00:39:39,520 Mae'n ddrwg gennym, 'i' ychydig yn anodd gweld. 702 00:39:39,520 --> 00:39:46,690 Ond y tu mewn ein geiriadur rydym wedi enw, sydd yn mynd i fod yn rhywbeth 703 00:39:46,690 --> 00:39:47,680 ein bod yn rhoi. 704 00:39:47,680 --> 00:39:53,040 A bydd yn rhaid oed, sydd hefyd mynd i fod yn rhywbeth yr ydym yn ei roi. 705 00:39:53,040 --> 00:39:56,020 A hon yw'r gyfanrwydd o ein geiriadur. 706 00:39:56,020 --> 00:39:57,730 >> Felly, 'i' got dwy elfen ynddo. 707 00:39:57,730 --> 00:40:01,310 Ac felly am fod foreach dolenni yn smart, rydym yn 708 00:40:01,310 --> 00:40:04,900 Efallai y meddwl, ac yn gywir Efallai meddwl bod foreach 709 00:40:04,900 --> 00:40:08,080 Gall ailadrodd drwy hyn geiriadur, argraffu 710 00:40:08,080 --> 00:40:10,850 gwerthoedd a roddir yn ôl enw ac oedran. 711 00:40:10,850 --> 00:40:14,510 >> Felly gadewch i ni mewn gwirionedd yn gwneud hynny. 712 00:40:14,510 --> 00:40:17,520 Gadewch i ni adeiladu dolen foreach. 713 00:40:17,520 --> 00:40:23,351 Ac rydym yn mynd i wneud am _GET fel. 714 00:40:23,351 --> 00:40:24,850 Ac rydym yn mynd i wneud y canlynol. 715 00:40:24,850 --> 00:40:34,186 Felly, gadewch i ni weld beth fydd yn digwydd os byddwn deipio gair yn unig, ac yna dywedwch gair adlais. 716 00:40:34,186 --> 00:40:40,540 Rydym ni hefyd yn mynd i adleisio llinell newydd dim ond er mwyn ei gwneud yn ychydig yn gliriach, 717 00:40:40,540 --> 00:40:41,260 beth sy'n Digwydd. 718 00:40:41,260 --> 00:40:42,890 >> Felly, gadewch i ni weld. 719 00:40:42,890 --> 00:40:44,390 Dyw hi ddim yn rhoi unrhyw wallau mi. 720 00:40:44,390 --> 00:40:46,810 A byddwn yn cau'r hyn. 721 00:40:46,810 --> 00:40:51,020 Ar ein gwefan, rydych yn mynd i fod yn ei wneud mae llawer o hynny yn ystod y pset7. 722 00:40:51,020 --> 00:40:53,890 Felly, rydym yn dweud fy enw i yw Sam. 723 00:40:53,890 --> 00:40:58,560 Mae fy oedran yn 45. 724 00:40:58,560 --> 00:41:01,060 Nid yw'n. 725 00:41:01,060 --> 00:41:05,640 Ond mae'n printiau allan, yn ôl y disgwyl, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> Ac felly byddwch yn sylwi bod pa dolen foreach did-- yma, 727 00:41:08,930 --> 00:41:12,360 gadewch i ni fynd yn ôl at hynny, felly mae i fyny ar y board-- rydym yn cael _GET fel gair. 728 00:41:12,360 --> 00:41:15,130 Ac yr oedd pedwar peth yn _GET. 729 00:41:15,130 --> 00:41:17,410 Ond dim ond argraffu dau beth. 730 00:41:17,410 --> 00:41:21,290 foreach, sef ei hunan cudd-wybodaeth, cymryd yn ganiataol bod yr hyn yr ydym eisiau mewn gwirionedd 731 00:41:21,290 --> 00:41:24,100 Roedd y gwerthoedd, nid yr allweddi. 732 00:41:24,100 --> 00:41:27,800 >> Ond mae yna ffordd y gallem argraffu allan yr allweddi yn ogystal, os ydym eisiau. 733 00:41:27,800 --> 00:41:30,810 Os oeddem am wybod hefyd beth Galwyd newidynnau hyn, 734 00:41:30,810 --> 00:41:33,540 mae ffordd yr ydym yn gael mynediad hwn yn ogystal. 735 00:41:33,540 --> 00:41:36,840 A'r ffordd i fath o wneud hynny, er mwyn i ni ddweud, yn gadael 'n sylweddol 736 00:41:36,840 --> 00:41:39,485 rhannu i mewn i barau gwerth allweddol. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Felly, gadewch i ni weld beth fydd yn digwydd yn awr. 739 00:41:47,580 --> 00:41:50,550 >> Felly mae gennym allweddol. 740 00:41:50,550 --> 00:41:52,290 Mae gennym werth. 741 00:41:52,290 --> 00:41:56,650 Rydym wedi newydd arall lein ar gyfer darllenadwyedd. 742 00:41:56,650 --> 00:42:00,540 A gadewch i ni weld beth sy'n digwydd pan fyddwn yn gwneud hyn nawr. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Nid wyf yn gwybod pa mor hen yw Jason. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Felly mae gennym enw Jason, 15 oed. 747 00:42:11,650 --> 00:42:15,830 Felly roeddem yn gallu cael mynediad i'r allwedd a pharau gwerth y geiriadur hwn 748 00:42:15,830 --> 00:42:18,590 dim ond drwy ddweud pwyntiau yn allweddol i werth. 749 00:42:18,590 --> 00:42:23,350 A dyna yn cystrawennol foreach bit siwgr sy'n caniatáu 750 00:42:23,350 --> 00:42:25,960 i gael mynediad at bethau yn y geiriadur. 751 00:42:25,960 --> 00:42:31,190 >> Felly gobeithio y mae hyn yn pwysleisio fath o grym y ddolen foreach. 752 00:42:31,190 --> 00:42:35,690 Gallwch 'n bert lawer tafliad unrhyw beth sy'n ymddangos iterable, 753 00:42:35,690 --> 00:42:38,922 fel unrhyw beth sydd wedi lluosog elfennau fel amrywiaeth, 754 00:42:38,922 --> 00:42:41,880 fel dictionary-- y rhai mae dau pethau sylfaenol y byddwch yn gweithio gyda 755 00:42:41,880 --> 00:42:45,630 y ddau mewn bywyd ac yn pset 7. 756 00:42:45,630 --> 00:42:49,350 Felly, gallwch chi daflu y pethau arno, a bydd yn chyfrif i maes 757 00:42:49,350 --> 00:42:51,030 beth rydych am ei wneud ag ef. 758 00:42:51,030 --> 00:42:54,250 Bydd yn dweud, OK, dwi'n mynd i gael y pethau hyn o'r data sy'n 759 00:42:54,250 --> 00:42:55,680 ei basio i mi. 760 00:42:55,680 --> 00:43:02,470 Ac mae hynny'n rhywbeth eich bod yn mynd i gael ei defnyddio llawer o yn pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Rwy'n mynd i sgrolio cyflym i lawr dim ond i weld lle dwi yn. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 A oes gan bobl gwestiynau yn y fan hon? 764 00:43:13,070 --> 00:43:13,778 Cwestiynau o gwbl? 765 00:43:13,778 --> 00:43:14,400 Do? 766 00:43:14,400 --> 00:43:18,320 >> GYNULLEIDFA: Felly gyda'r allwedd a gwerth, gallech ei enw unrhyw beth arall 767 00:43:18,320 --> 00:43:20,507 a byddai'n dal i weithio? 768 00:43:20,507 --> 00:43:21,090 SIARADWR: Wps. 769 00:43:21,090 --> 00:43:22,820 Wow, yr wyf yn llwyr ddileu y llinell cyfan. 770 00:43:22,820 --> 00:43:23,380 Gwaith mawr. 771 00:43:23,380 --> 00:43:26,502 Felly mae, a. 772 00:43:26,502 --> 00:43:30,109 Allweddol a gwerth yn unig yw confensiwn. 773 00:43:30,109 --> 00:43:30,650 Mae'n ddefnyddiol. 774 00:43:30,650 --> 00:43:34,010 Byddech yn cael rhywfaint o ddyluniad pwyntiau, efallai rhai pwyntiau arddull 775 00:43:34,010 --> 00:43:36,970 ar gyfer gwneud hynny oherwydd ei fod yn 'n sylweddol yn cyfleu bwriad. 776 00:43:36,970 --> 00:43:39,650 Ond rydym yn dweud a yarp. 777 00:43:39,650 --> 00:43:42,476 >> GYNULLEIDFA: Nid oes rhaid i chi newid unrhyw beth yn y ffeil HTML 778 00:43:42,476 --> 00:43:43,607 er mwyn adlewyrchu hynny? 779 00:43:43,607 --> 00:43:44,440 SIARADWR: Dim o gwbl. 780 00:43:44,440 --> 00:43:47,260 GYNULLEIDFA: A 'i jyst yn gwybod bod oherwydd y yn hafal mwy o than-- 781 00:43:47,260 --> 00:43:47,801 SIARADWR: Oes. 782 00:43:47,801 --> 00:43:49,489 GYNULLEIDFA: dangosydd --that sy'n that's-- 783 00:43:49,489 --> 00:43:50,030 SIARADWR: Oes. 784 00:43:50,030 --> 00:43:52,260 Mae hynny'n cystrawen foreach, ond ie. 785 00:43:52,260 --> 00:43:53,720 >> GYNULLEIDFA: Nid oes math. 786 00:43:53,720 --> 00:43:57,230 Felly beth os ydych yn dymuno oedran i ddim ond fod yn rhif? 787 00:43:57,230 --> 00:43:59,510 A oes ffordd o wneud hynny? 788 00:43:59,510 --> 00:44:04,550 >> SIARADWR: Mae yna ffyrdd i gadarnhau a oes newidynnau yn cydymffurfio â rhai mathau. 789 00:44:04,550 --> 00:44:08,482 Felly PHP yn gofyn ychydig mwy o chi oherwydd nad oes unrhyw fath yn. 790 00:44:08,482 --> 00:44:09,440 Rhai ffyrdd y mae'n gofyn llai. 791 00:44:09,440 --> 00:44:11,070 Mewn rhai ffyrdd mae'n gofyn mwy. 792 00:44:11,070 --> 00:44:13,320 Oherwydd os ydych newydd rhywbeth mewn newidyn, 793 00:44:13,320 --> 00:44:14,960 nid oes gennych syniad pa fath ydyw. 794 00:44:14,960 --> 00:44:19,310 Ond os ydych yn smart am y newidynnau eich bod yn neilltuo i fathau a gwneud yn siŵr 795 00:44:19,310 --> 00:44:22,750 mai dim ond chi swyddogaethau return-- am i swyddogaethau i ddychwelyd yn unig 796 00:44:22,750 --> 00:44:26,210 un math o werth felly eich bod yn gallu bôn 797 00:44:26,210 --> 00:44:31,090 yn disgwyl bod y newidyn a gewch yn ôl o swyddogaeth a fydd fod o'r math 798 00:44:31,090 --> 00:44:32,780 eich bod yn credu y bydd yn, yn y bôn. 799 00:44:32,780 --> 00:44:36,550 >> Ond mae rhai dulliau erbyn pryd y gallwch wirio. 800 00:44:36,550 --> 00:44:39,801 Nid wyf yn eu cofio oddi ar ben fy mhen. 801 00:44:39,801 --> 00:44:43,300 Im 'yn aros iddo droi yn las. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Mae yna ddulliau hadeiladu i mewn PHP y gall 805 00:44:52,000 --> 00:44:54,440 gwiriwch y math o newidynnau i chi. 806 00:44:54,440 --> 00:44:58,250 Ond os ydych yn aseinio newidynnau smart, ni ddylech 807 00:44:58,250 --> 00:45:01,330 rhaid i ni wneud hynny gormod yn pset 7. 808 00:45:01,330 --> 00:45:02,780 Ond y dulliau hynny yn bodoli. 809 00:45:02,780 --> 00:45:06,704 Ac mae hynny'n rhywbeth y yn yr iaith ei hun. 810 00:45:06,704 --> 00:45:08,370 Ac nid wyf yn cofio'r union gystrawen. 811 00:45:08,370 --> 00:45:09,930 Gallem hyd yn oed yn edrych i fyny. 812 00:45:09,930 --> 00:45:11,974 Ond mae amser yn brin. 813 00:45:11,974 --> 00:45:13,890 rhaid i A oes unrhyw un arall gennych unrhyw gwestiynau? 814 00:45:13,890 --> 00:45:14,660 Ydw. 815 00:45:14,660 --> 00:45:15,951 >> GYNULLEIDFA: Rwyf wedi dim ond un yn fwy. 816 00:45:15,951 --> 00:45:19,050 Felly, rydych crybwyll y dull GET, ond na wnaethoch sôn am y dull POST. 817 00:45:19,050 --> 00:45:20,500 A ydym yn dod yn ôl at hynny? 818 00:45:20,500 --> 00:45:21,540 >> SIARADWR: Ie, byddwn yn yn dod yn ôl at hynny. 819 00:45:21,540 --> 00:45:24,840 Dyna'r union beth oeddwn yn chwilio ar fy ffôn, sydd bellach yn syrthio i gysgu, 820 00:45:24,840 --> 00:45:26,960 ond byddaf yn ei chael yn. 821 00:45:26,960 --> 00:45:30,680 Dim ond yn gwneud yn siŵr ein bod yn taro pob un o'r nodiadau PHP. 822 00:45:30,680 --> 00:45:35,640 Yep, does dim fersiwn debugging. 823 00:45:35,640 --> 00:45:41,940 Oes, mae gennym ychydig mwy o bethau y ydym am ei wneud yn awr ar y pwynt hwn. 824 00:45:41,940 --> 00:45:45,980 >> Felly siarad am POST, yr ydych yn sôn amdanynt, 825 00:45:45,980 --> 00:45:49,630 yr unig wahaniaeth rhwng GET a POST yw 826 00:45:49,630 --> 00:45:53,150 hynny cofio pan edrychasom yn y URL hwn ac rydym yn gweld, o, 827 00:45:53,150 --> 00:45:58,270 enw yn cyfateb yn ac oedran yn dychwelyd yarp yn iawn yn yr URL yno i ni. 828 00:45:58,270 --> 00:46:03,300 SWYDD ychydig yn fwy cyfrinachgar gyda'i pasio gwybodaeth. 829 00:46:03,300 --> 00:46:08,090 >> Felly os nad oeddech am defnyddiwr ei wybod, er enghraifft, eich bod 830 00:46:08,090 --> 00:46:11,160 Nid oedd am i'r enw defnyddiwr a chyfrinair y person 831 00:46:11,160 --> 00:46:15,080 wedi mewngofnodi ar hyn o bryd yn cael ei arddangos mewn yr URL, sy'n beth rhesymol 832 00:46:15,080 --> 00:46:17,770 i ddim eisiau yn yr URL, oherwydd gall rhywun yn ei weld. 833 00:46:17,770 --> 00:46:21,520 Os ydynt yn cysylltu rhywun i dudalen, yr ydych nad ydynt am eu URL plastro yno, 834 00:46:21,520 --> 00:46:27,850 oherwydd byddai hynny'n galluogi pobl i fewngofnodi yn unig gyda'r gludo o URL yn lle hynny 835 00:46:27,850 --> 00:46:29,670 o mewn gwirionedd yn llenwi ffurflen. 836 00:46:29,670 --> 00:46:31,710 SWYDD yn ychydig yn fwy cyfrinachgar. 837 00:46:31,710 --> 00:46:34,150 >> A'r unig bethau sy'n bydd rhaid i ni newid 838 00:46:34,150 --> 00:46:38,550 yn y dull hwn, newid o ddod i bostio. 839 00:46:38,550 --> 00:46:42,367 Ac yna y tu mewn i'r HTTP, yn lle hynny o gael mynediad i'r _GET array, 840 00:46:42,367 --> 00:46:43,950 rydyn ni'n mynd i gael mynediad i'r _POST arae. 841 00:46:43,950 --> 00:46:48,600 >> A byddwn yn sylwi, os rydym yn agor gefn hyn i fyny eto, 842 00:46:48,600 --> 00:46:51,910 Jason yn araf yn dirywio o ran oedran. 843 00:46:51,910 --> 00:46:53,230 enw Jason, 14 oed. 844 00:46:53,230 --> 00:46:54,280 Mae'r un pethau pops i fyny. 845 00:46:54,280 --> 00:46:57,190 Ond rydym yn mynd i'r URL a Nid yw newidynnau hynny yno. 846 00:46:57,190 --> 00:47:00,540 >> A'r ffordd y mae POST passes-- felly cofiwch 847 00:47:00,540 --> 00:47:02,750 sut i edrych ar y ffynhonnell o dudalen. 848 00:47:02,750 --> 00:47:04,570 Rydym yn mynd i'r rhwydwaith. 849 00:47:04,570 --> 00:47:06,920 Rydym adnewyddu. 850 00:47:06,920 --> 00:47:10,690 Ac mae hyn yn beth arall sy'n Bydd POST rhoi rhybuddion am i chi. 851 00:47:10,690 --> 00:47:15,050 Efallai eich bod wedi gweld bocs, testun blwch fel hyn yn eich porwr. 852 00:47:15,050 --> 00:47:18,170 A ydych yn sicr eich bod am anfon ffurflen eto? 853 00:47:18,170 --> 00:47:21,170 SWYDD yw beth sy'n anfon y ffurflenni hyn. 854 00:47:21,170 --> 00:47:24,680 >> Oherwydd y bôn, os ydych yn anfon eich gwybodaeth cerdyn credyd i rywun, 855 00:47:24,680 --> 00:47:26,350 Nid yw hynny'n mynd i arddangos i fyny yn yr URL. 856 00:47:26,350 --> 00:47:28,180 Mae hynny'n mynd i fod cais POST. 857 00:47:28,180 --> 00:47:32,905 Felly, pan fyddwch yn adnewyddu'r dudalen, mae'n ail-anfon y swydd cais. 858 00:47:32,905 --> 00:47:35,530 Felly, nawr rydym yn dymuno anfon y yn ffurfio eto oherwydd nid yw'n mynd 859 00:47:35,530 --> 00:47:37,340 i greu unrhyw bryniadau dyblyg. 860 00:47:37,340 --> 00:47:41,160 >> A byddwn yn sylwi bod lawr yma, y dull yr ydym yn ei ddefnyddio yw POST. 861 00:47:41,160 --> 00:47:43,065 Ac mae'n yn wir trosglwyddo bytes. 862 00:47:43,065 --> 00:47:45,460 Mae'n trosglwyddo 401 ohonynt. 863 00:47:45,460 --> 00:47:47,190 Rhaglen 'n bert bach. 864 00:47:47,190 --> 00:47:51,600 Ond does unman y gallwn weld gwerthoedd sy'n cael eu pasio. 865 00:47:51,600 --> 00:47:59,540 Mae'r tudalennau gwe eu hunain yn gweld, ond nid ydym fel defnyddwyr yn gallu gweld, 866 00:47:59,540 --> 00:48:01,650 oni bai eich bod haciwr. 867 00:48:01,650 --> 00:48:05,340 Os ydych yn haciwr da, gallwch edrych. 868 00:48:05,340 --> 00:48:09,360 >> Os ydych yn gwybod sylfaenol fformat y HTML, 869 00:48:09,360 --> 00:48:11,790 Bydd y gwerthoedd yn gwneud eu hunain yn hysbys yn y tudalennau. 870 00:48:11,790 --> 00:48:13,160 Byddwch yn gallu gweld. 871 00:48:13,160 --> 00:48:16,720 Bydd y gwerthoedd yno, maen nhw'n dim ond ychydig yn llai amlwg ar eich cyfer chi 872 00:48:16,720 --> 00:48:19,522 â mynediad, yn y bôn. 873 00:48:19,522 --> 00:48:23,620 >> A oes gennym mwyach cwestiynau am GET, SWYDD 874 00:48:23,620 --> 00:48:26,800 before-- beth yr ydym yn mynd i'w wneud nesaf mewn gwirionedd yn edrych ar rai o'r cod 875 00:48:26,800 --> 00:48:30,837 eich bod yn rhoi yn pset 7, yn siarad am sut mae'n defnyddio rhai o'r cysyniadau hyn, 876 00:48:30,837 --> 00:48:32,670 a siarad am y pethau eich bod yn mynd 877 00:48:32,670 --> 00:48:35,090 i gael i wneud ychydig bach yn pset 7. 878 00:48:35,090 --> 00:48:36,760 Unrhyw mwy o gwestiynau cyn hynny? 879 00:48:36,760 --> 00:48:38,047 Mwy o gwestiynau i chi guys gael? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Great. 882 00:48:41,840 --> 00:48:45,370 >> Mae pob hawl, gadewch i ni edrych ychydig yn pset 7, 883 00:48:45,370 --> 00:48:49,530 dim amheuaeth beth rydych yn pob fwyaf gyffrous am. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Yr wyf yn golygu, mae hyn yn rhywbeth y David yn mynd drwy ychydig bach. 886 00:48:54,750 --> 00:49:00,890 Ond bydd yn rhaid dri gyfeiriaduron yn y top, yn ogystal â ffeil cyfluniad. 887 00:49:00,890 --> 00:49:04,650 Dyna gyfer cronfeydd data, yr ydym chi helpu siarad am mewn tua phum munud. 888 00:49:04,650 --> 00:49:07,220 Yn cynnwys, fyddwch byth angen i edrych yn y cyfeiriadur hwn 889 00:49:07,220 --> 00:49:12,480 os nad ydych am i ond mae'n braf gwybod bod pob math o gynorthwywyr. 890 00:49:12,480 --> 00:49:14,210 Cynorthwywyr yn debyg swyddogaethau defnyddiol. 891 00:49:14,210 --> 00:49:18,120 Ac yna rydym wedi config, sy'n gosod rhai pethau i fyny. 892 00:49:18,120 --> 00:49:24,590 >> Mae rhai swyddogaethau sydd CS50 wedi ysgrifenedig sydd yn gynorthwywr a config. 893 00:49:24,590 --> 00:49:27,250 Ac mae rhai o'r PHP sy'n eisoes allanfeydd mewn ffeiliau 894 00:49:27,250 --> 00:49:30,880 Bydd yn gwneud llawer o'r math mwy gwaith goes o aflem i chi. 895 00:49:30,880 --> 00:49:35,250 Fel os ydym yn mynd i mewn i cyhoeddus login.php, sef yr hyn 896 00:49:35,250 --> 00:49:38,350 yn dangos i fyny yn iawn pan fyddwch yn mynd i mewn i pset 7. 897 00:49:38,350 --> 00:49:40,580 Byddwn yn gweld fod yna hyn yn gofyn datganiad hwn. 898 00:49:40,580 --> 00:49:43,420 A'r math o fel miniog yn cynnwys, hashtag 899 00:49:43,420 --> 00:49:46,850 yn cynnwys os ydych o genhedlaeth newydd. 900 00:49:46,850 --> 00:49:49,740 Ond mae hyn yn y bôn yn dweud bod angen mynediad i mi 901 00:49:49,740 --> 00:49:52,260 i holl swyddogaethau yn config.php. 902 00:49:52,260 --> 00:49:55,290 A gallai gennych ei gwneud yn ofynnol am bob math o bethau eraill. 903 00:49:55,290 --> 00:49:59,670 >> config mewn gwirionedd yn ei gwneud yn ofynnol cynorthwywyr. 904 00:49:59,670 --> 00:50:02,490 Felly, pryd bynnag y byddwch ei gwneud yn ofynnol config, rydych yn hefyd 905 00:50:02,490 --> 00:50:05,660 gan gynnwys ei gwneud yn ofynnol neu'n gynorthwywyr hefyd. 906 00:50:05,660 --> 00:50:09,590 Felly mae hynny'n rhoi mynediad i chi i gyd y swyddogaethau oeri ein bod yn mynd i ddefnyddio, 907 00:50:09,590 --> 00:50:10,420 pethau yn hoffi rendr. 908 00:50:10,420 --> 00:50:13,490 Rydw i'n wir yn mynd i leddfu mae hyn i lawr ychydig bach. 909 00:50:13,490 --> 00:50:16,280 Felly y swyddogaeth, yna rydym yn mynd i gerdded trwy 910 00:50:16,280 --> 00:50:22,380 ychydig cyn i ni symud ymlaen i SQL ychydig bit yw swyddogaeth login.php, dim ond 911 00:50:22,380 --> 00:50:26,586 oherwydd ei fod yn defnyddio rhai o'r pynciau yr ydym newydd sôn amdanynt yn PHP. 912 00:50:26,586 --> 00:50:30,840 >> Byddwch yn gweld y peth cyntaf yw os $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Mae hyn yn amrywio byd-eang arall sy'n ydych yn mynd i fod yn delio â hwy. 914 00:50:34,500 --> 00:50:38,460 Mae fel _GET a _POST, ond beth gweinydd yn cynnwys yn gall hyn adael i chi 915 00:50:38,460 --> 00:50:42,730 gwybod os y dull cais Roedd yn GET neu SWYDD. 916 00:50:42,730 --> 00:50:47,250 Fel o'r blaen yr hyn yr ydym yn ei wneud yn unig yn ein cod sy'n ysgrifennom, 917 00:50:47,250 --> 00:50:51,880 roeddem yn unig ei newid i fod yn GET a POST yn dibynnu ar yr hyn y mae'r HTML wedi. 918 00:50:51,880 --> 00:50:55,120 Ond mae yna dudalennau y gellir eu mynediad gyda'r ddau fath o geisiadau. 919 00:50:55,120 --> 00:50:57,410 Ac efallai y byddwch am ei wneud pethau gwahanol gan ddibynnu 920 00:50:57,410 --> 00:50:59,740 ar y math o gais, yn union mewngofnodi debyg ei wneud. 921 00:50:59,740 --> 00:51:04,400 >> Felly, gallwch wirio bod cais Dull trwy gael mynediad i allweddi, 922 00:51:04,400 --> 00:51:08,630 drwy ddefnyddio allwedd a chael y gwerth rhywbeth yn y geiriadur 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Felly dyna byd-eang arall amrywiol fel _GET a _POST. 925 00:51:13,800 --> 00:51:16,990 >> Os yw'n GET, rydym am olygu bod y ffurflen mewngofnodi. 926 00:51:16,990 --> 00:51:21,920 Rendr yn swyddogaeth sydd yn y bôn dim ond rhoi i fyny y HTML priodol 927 00:51:21,920 --> 00:51:24,500 ac yn ei rhai paramedrau. 928 00:51:24,500 --> 00:51:28,740 Mae'r teitl yn baramedr sy'n a ddefnyddir yn arddangos, yn ddigon rhyfedd, 929 00:51:28,740 --> 00:51:32,670 teitl y dudalen yn cwestiwn, y peth i fyny yma, 930 00:51:32,670 --> 00:51:34,850 ddweud helo neu yn ein enghraifft flaenorol. 931 00:51:34,850 --> 00:51:36,100 Nawr mae gennym beth gwahanol. 932 00:51:36,100 --> 00:51:38,570 Arall os yw'n POST, rydym yn gwneud rhai pethau eraill. 933 00:51:38,570 --> 00:51:40,790 Rydym yn defnyddio dull hwnnw gwag. 934 00:51:40,790 --> 00:51:42,750 Dyw hi ddim yn bodoli, mae'n wag. 935 00:51:42,750 --> 00:51:45,440 Ac rydym yn gweld o'r blaen, PHP Mae cryn dipyn o adeiladu 936 00:51:45,440 --> 00:51:52,370 mewn dulliau y mae David will-- os oes yn ddulliau sy'n ddefnyddiol i chi, 937 00:51:52,370 --> 00:51:55,560 byddant yn cael eu hysbysu i chi yn y daith gerdded trwy'r David 938 00:51:55,560 --> 00:51:59,770 rhoi ar y dechrau trosolwg, a hefyd darnau defnyddiol Zamyla yn. 939 00:51:59,770 --> 00:52:01,040 Mae hi'n pawb yn ôl. 940 00:52:01,040 --> 00:52:03,100 Gall pob un ohonom lawenhau. 941 00:52:03,100 --> 00:52:06,530 ymddiheuro yn swyddogaeth enw addas mai dim ond yn y bôn yn argraffu allan 942 00:52:06,530 --> 00:52:10,130 rhai negeseuon gwall, oherwydd bod CS50 yn gwrtais iawn. 943 00:52:10,130 --> 00:52:14,770 >> Ac yn awr mae hyn, mae hwn yn ychydig yn anodd gan fod hyn 944 00:52:14,770 --> 00:52:16,697 lle rydym yn ymholi'r gronfa ddata. 945 00:52:16,697 --> 00:52:18,280 Nawr, nid ydym wedi sôn am gronfeydd data. 946 00:52:18,280 --> 00:52:22,220 Ac rydym yn mynd i mewn i'r nesaf pum munud neu ddwy, uchafswm. 947 00:52:22,220 --> 00:52:24,980 Ond mae hyn yn swyddogaeth bod CS50 wedi ysgrifennu 948 00:52:24,980 --> 00:52:38,050 i gael tabl bôn o gronfa ddata ein bod yn gweithio â hwy yn pset 7. 949 00:52:38,050 --> 00:52:40,860 Rwy'n drwg iawn gyda fy sero mynegeio heddiw. 950 00:52:40,860 --> 00:52:42,060 Ond ie, y mae 7. 951 00:52:42,060 --> 00:52:46,340 >> Felly ymholiad fod yn mynd i ddychwelyd i array, yn y bôn yw'r darn allweddol. 952 00:52:46,340 --> 00:52:54,130 Ac oherwydd nad yw'r pethau hyn yn cael teipio, felly rhesi yn amrywiaeth o araeau. 953 00:52:54,130 --> 00:52:59,480 Oherwydd pan fyddwn yn meddwl am bwrdd, yr hyn yr ydym yn mynd i'w wneud 954 00:52:59,480 --> 00:53:04,830 yw, wrth i chi ddysgu yn psets fel y gêm o 15, beth bynnag 955 00:53:04,830 --> 00:53:06,990 lle y bu'n rhaid i chi ddefnyddio amrywiaeth dwbl, rydym yn y bôn 956 00:53:06,990 --> 00:53:15,210 cael amrywiaeth o eraill araeau yn gwneud tabl. 957 00:53:15,210 --> 00:53:18,150 A bod gennych rhesi a cholofnau. 958 00:53:18,150 --> 00:53:24,450 Ac yna gallwch gael mynediad iddynt yn hoffi [0] [1], byddwch yn cael y [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Pethau sylfaenol fel 'na. 960 00:53:26,900 --> 00:53:29,380 >> Felly, yr hyn yr ydym yn ei wneud yma yn y swyddogaeth hon, 961 00:53:29,380 --> 00:53:35,070 rydym yn gofyn y gronfa ddata os bydd y defnyddiwr sy'n 962 00:53:35,070 --> 00:53:40,200 ceisio mewngofnodi, a fydd yn anfonwyd drwy'r dull POST. 963 00:53:40,200 --> 00:53:43,950 Byddwn yn gweld ydym yn ei gael enw defnyddiwr rhag _POST. 964 00:53:43,950 --> 00:53:46,900 Byddant wedi anfon, y defnyddiwr neu chi, bydd yn anfon gwerth 965 00:53:46,900 --> 00:53:50,750 trwy ffurflen drwy SWYDD oherwydd 'i' enw defnyddiwr a chyfrinair stwff. 966 00:53:50,750 --> 00:53:54,830 Rydym yn gwirio enw defnyddiwr i weld, a yw hyn yn y tabl? 967 00:53:54,830 --> 00:53:58,070 Oherwydd os yw defnyddiwr yn logio i mewn, yna mae eu enw defnyddiwr 968 00:53:58,070 --> 00:54:03,320 Dylid ei storio yn y tabl o defnyddwyr sy'n bodoli ar gyfer y safle. 969 00:54:03,320 --> 00:54:09,360 Felly y bôn, os y defnyddiwr yn y gronfa ddata, 970 00:54:09,360 --> 00:54:16,400 ymholiad yn mynd i ddychwelyd hynny rhes, sef arae. 971 00:54:16,400 --> 00:54:24,560 >> Ond mae'r rhan anodd yw os hyd yn oed os yr amrywiaeth dwbl yn unig o un rhes, 972 00:54:24,560 --> 00:54:31,900 hyd yn oed os ei fod yn un rhes array-- fel chi wedi cael basically-- 973 00:54:31,900 --> 00:54:36,900 os oes gennych chi un maint amrywiaeth sy'n cynnal amrywiaeth arall, 974 00:54:36,900 --> 00:54:38,940 eich bod yn wir yn delio ag un golofn. 975 00:54:38,940 --> 00:54:41,420 Ond mae'n dal i drin fel amrywiaeth dwbl. 976 00:54:41,420 --> 00:54:44,560 >> A dyma lle gall weithiau gael anodd, oherwydd ein bod wedi cael rhesi yma. 977 00:54:44,560 --> 00:54:46,440 Mae ein newidyn yn rhesi. 978 00:54:46,440 --> 00:54:48,590 Ac yna rydym yn creu newidyn a elwir yn rhes newydd 979 00:54:48,590 --> 00:54:51,450 a gosod ei gyfartal i y rhes gyntaf o rhesi. 980 00:54:51,450 --> 00:54:55,150 A byddwch yn sylwi bod sylw Dywed ei fod yn y rhes gyntaf, a dim ond. 981 00:54:55,150 --> 00:54:57,080 >> Felly dyma'r anodd rhan lle nawr swyddogaethau 982 00:54:57,080 --> 00:54:59,660 Gall dychwelyd araeau yn hawdd iawn. 983 00:54:59,660 --> 00:55:01,270 Does dim mallocs. 984 00:55:01,270 --> 00:55:02,280 Ni fyddwch yn gweld mallocs. 985 00:55:02,280 --> 00:55:03,940 Felly, ni fyddwch yn gweld diffygion SEG. 986 00:55:03,940 --> 00:55:08,380 Ond bydd swyddogaethau yn dal i basio o gwmpas araeau a data mewn grwpiau. 987 00:55:08,380 --> 00:55:12,250 A rhaid i chi fod yn wyliadwrus o beth yn union y bydd eich swyddogaethau yn dychwelyd. 988 00:55:12,250 --> 00:55:15,160 A hyd yn oed os yw'n un golofn fel hyn, ymholiad 989 00:55:15,160 --> 00:55:17,520 yn dal i fynd i ddychwelyd amrywiaeth dwbl. 990 00:55:17,520 --> 00:55:21,390 Felly, i fynediad sy'n column-- neu os ydych gallu meddwl am hyn i gyd fel y inverted 991 00:55:21,390 --> 00:55:22,870 ers i ni yn sôn am rhesi. 992 00:55:22,870 --> 00:55:26,810 Ond i gael mynediad mai un rhes, nid ydych yn gallu ddweud rhesi. 993 00:55:26,810 --> 00:55:31,540 Hyd yn oed er ei fod yn un rhes, rhaid i chi Nid rowsrows [0] i fath o gael gwared ar hyn 994 00:55:31,540 --> 00:55:37,360 bit allanol y rhesi a cael dim ond eich un rhes. 995 00:55:37,360 --> 00:55:38,342 >> Gwnewch ychydig o bethau eraill. 996 00:55:38,342 --> 00:55:40,050 Mae 'na swyddogaeth Gelwir password_verify 997 00:55:40,050 --> 00:55:42,980 sy'n gwirio y cyfrinair a gafodd ei bostio. 998 00:55:42,980 --> 00:55:48,500 Ac yna gwelwn fyd-eang arall amrywiol yma, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Yn y bôn Sesiwn id yw sut yr ydych yn cadw golwg 1000 00:55:51,340 --> 00:55:53,990 o os oes rhywun wedi mewngofnodi ai peidio. 1001 00:55:53,990 --> 00:55:58,590 Felly, ar hyn o bryd gyda login.php, rydym yn logio defnyddiwr yn. 1002 00:55:58,590 --> 00:56:01,920 Felly yr hyn yr ydym am ei wneud yw ein bod eisiau dweud y id sesiwn yn hafal i'r rhes 1003 00:56:01,920 --> 00:56:05,890 id, a dim ond yn gwneud synnwyr gan fod Bydd pob rhes yn cael id gwahanol 1004 00:56:05,890 --> 00:56:07,239 nifer fel rhan o'r tabl. 1005 00:56:07,239 --> 00:56:09,280 Byddwn yn mynd i mewn i SQL mewn yn ail, felly os bydd unrhyw un hwn 1006 00:56:09,280 --> 00:56:13,500 yn ymddangos ychydig fel blah, Yna bydd yr holl cael ei glirio i fyny. 1007 00:56:13,500 --> 00:56:18,450 Ond rydym ni'n mynd i osod y id cyfartal i y peth cywir, logio y defnyddiwr yn. 1008 00:56:18,450 --> 00:56:20,530 Ymddiheuro os bydd unrhyw beth yn mynd o'i le. 1009 00:56:20,530 --> 00:56:27,600 A dyna mewngofnodi diben mewn byddai bywyd fel Athro Malan ddweud. 1010 00:56:27,600 --> 00:56:29,130 >> Felly dyna oedd login.php. 1011 00:56:29,130 --> 00:56:33,750 Ac mae llawer o'r cod PHP ydych yn ysgrifennu yn pset 7, byddant yn ychydig bach. 1012 00:56:33,750 --> 00:56:36,470 Peidiwch ag anghofio i chmod i y caniatâd priodol. 1013 00:56:36,470 --> 00:56:40,180 Bydd ychydig am bod yn cychwyn y fanyleb. 1014 00:56:40,180 --> 00:56:46,382 >> Ond mae'r PHP eich bod yn ysgrifennu yn mynd i fod 1015 00:56:46,382 --> 00:56:47,840 gwneud pethau sy'n debyg i hyn. 1016 00:56:47,840 --> 00:56:49,715 Rydych yn mynd i fod yn cael mynediad at rai pethau sy'n 1017 00:56:49,715 --> 00:56:52,760 cael eu rhoi i chi yn y newidynnau byd-eang o PHP sy'n 1018 00:56:52,760 --> 00:56:56,105 yn ymdrin â'r presennol wedi mewngofnodi defnyddwyr, a oes 1019 00:56:56,105 --> 00:57:00,460 wedi bod ceisiadau a anfonir at hyn dudalen, pethau gwahanol fel 'na. 1020 00:57:00,460 --> 00:57:05,790 A bydd hefyd o bosibl ailadrodd drwy resi o peth hyn. 1021 00:57:05,790 --> 00:57:09,010 >> Mewn swyddogaeth, ymholiad gwahanol yn dychwelyd y casgliad dwbl. 1022 00:57:09,010 --> 00:57:11,450 Ac os oes mwy nag un rhes ynddo, 1023 00:57:11,450 --> 00:57:15,080 os oes yw-- ie, os oes yn fwy nag un rhes ynddo, 1024 00:57:15,080 --> 00:57:16,870 yna bydd yn dabl. 1025 00:57:16,870 --> 00:57:20,500 Ac efallai y byddwch am ailadrodd trwy y rhesi o amrywiaeth hon gan ddefnyddio 1026 00:57:20,500 --> 00:57:22,860 mae'r ddolen foreach a ddisgrifiwyd i ni. 1027 00:57:22,860 --> 00:57:30,270 >> Felly, os ydych yn gwneud foreach ar dwbl array, beth fydd y word-- yma, 1028 00:57:30,270 --> 00:57:31,909 'N annhymerus' mewn gwirionedd yn ysgrifennu. 1029 00:57:31,909 --> 00:57:32,950 'N annhymerus' ysgrifennu hwylus yma. 1030 00:57:32,950 --> 00:57:44,280 >> Os oes gennym foreach o resi fel rhes, beth yw'r math o rhes? 1031 00:57:44,280 --> 00:57:45,390 Oes rhywun yn gwybod? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Rydych got it? 1034 00:57:54,500 --> 00:57:57,110 Felly rhesi yn amrywiaeth dwbl. 1035 00:57:57,110 --> 00:58:02,810 Felly, yr hyn sy'n foreach yn mynd i gasglu bod arnom eisiau o hyn amrywiaeth dwbl 1036 00:58:02,810 --> 00:58:04,280 os ydym yn ailadrodd drosto? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Gallwn gymryd yn ganiataol bod y bôn mae'n mynd i fod naill ai'n elfennau, 1039 00:58:10,770 --> 00:58:14,970 neu resi neu golofnau, yn y bôn. 1040 00:58:14,970 --> 00:58:18,740 Ac felly rhesi a cholofnau rydym yn Gall trin fel yr un peth. 1041 00:58:18,740 --> 00:58:23,880 >> Yn y bôn yr hyn y ddolen foreach yn mynd ei wneud yw ei fod yn mynd i ddychwelyd rhesi. 1042 00:58:23,880 --> 00:58:28,500 rhes yn mynd i fod o fath rhes, tra rhesi yn amrywiaeth dwbl. 1043 00:58:28,500 --> 00:58:32,290 Felly, os ydych yn rhoi foreach amrywiaeth dwbl, 'i' 1044 00:58:32,290 --> 00:58:35,830 ddim yn mynd i ailadrodd fwy nag un lefel o ddyfnder. 1045 00:58:35,830 --> 00:58:44,464 Pa un yw y bôn i ddweud os oes Mae wyth o gelloedd yn y table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- y Nid yw dolen foreach yw 1047 00:58:48,110 --> 00:58:51,880 mynd i fynd drwy bob un o'r celloedd hyn. 1048 00:58:51,880 --> 00:58:56,390 Beth fydd y ddolen foreach yn ei wneud Roedd bydd yn mynd drwy'r rhes hon, 1049 00:58:56,390 --> 00:58:57,870 rhoi'r hon rhes cyfan i chi. 1050 00:58:57,870 --> 00:58:59,410 Ac yna bydd yn mynd drwy y rhes. 1051 00:58:59,410 --> 00:59:01,850 >> Felly dim ond ailadrodd un lefel o ddyfnder. 1052 00:59:01,850 --> 00:59:05,310 Os byddwch yn ychwanegu nythu dolen foreach, yna rydych 1053 00:59:05,310 --> 00:59:16,280 Gall trin pob rhes dychwelyd o rhesi, rydych yn gwneud rhes foreach fel elfen, 1054 00:59:16,280 --> 00:59:17,640 Gadewch i ni ddweud. 1055 00:59:17,640 --> 00:59:22,750 Ac yna gallech adleisio'r elfen. 1056 00:59:22,750 --> 00:59:24,930 Felly dyna briff Ychydig gloywi ar sut 1057 00:59:24,930 --> 00:59:30,220 efallai y byddwch yn eu defnyddio foreach dolenni yng nghyd-destun ymholiad. 1058 00:59:30,220 --> 00:59:32,840 >> A oes unrhyw gwestiynau ar PHP? 1059 00:59:32,840 --> 00:59:36,520 Unrhyw beth o gwbl cyn i ni symud ymlaen i siarad am SQL 1060 00:59:36,520 --> 00:59:37,820 ac yr hwyl o gronfa ddata? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Teimlo'n dda? 1063 00:59:42,110 --> 00:59:42,750 Teimlo'n dda. 1064 00:59:42,750 --> 00:59:43,470 Iawn. 1065 00:59:43,470 --> 00:59:49,130 >> Gadewch i ni symud ymlaen yn ôl i'r PowerPoint, a oedd mae'n debyg y byddwch yn colli. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Mae pobl sydd yn fy adran nodweddiadol Bydd yn gwybod bod is-benawdau o acronymau 1068 00:59:57,900 --> 01:00:01,220 Dim ond geiriau cyntaf bob amser Yr wyf yn meddwl am y gêm sy'n 1069 01:00:01,220 --> 01:00:02,690 algorithm-- y acronym. 1070 01:00:02,690 --> 01:00:04,090 Dyw hi ddim yn algorithm. 1071 01:00:04,090 --> 01:00:08,050 >> Felly SQL yn gronfa ddata. 1072 01:00:08,050 --> 01:00:11,060 Mae'n iaith sy'n gweithio gyda chronfeydd data. 1073 01:00:11,060 --> 01:00:14,440 A'r holl gronfeydd data yn ei tablau, o leiaf yn y ffordd 1074 01:00:14,440 --> 01:00:17,220 hynny SQL yn eu cynrychioli. 1075 01:00:17,220 --> 01:00:23,610 >> Ffordd arall i feddwl am gronfeydd data yn cronfeydd data yn set o allweddi a gwerthoedd 1076 01:00:23,610 --> 01:00:24,110 yn y bôn. 1077 01:00:24,110 --> 01:00:29,530 Gallwch feddwl am gronfa ddata fel eiriadur a hefyd fel bwrdd. 1078 01:00:29,530 --> 01:00:34,300 Yn y bôn mae'n ffordd i gysylltu gwahanol data â data arall, 1079 01:00:34,300 --> 01:00:36,270 yn aml trwy rhesi a cholofnau. 1080 01:00:36,270 --> 01:00:38,470 A dyna y ffordd dyna SQL gweithio orau. 1081 01:00:38,470 --> 01:00:40,880 >> Felly, mae hyn yn un enghraifft o dabl. 1082 01:00:40,880 --> 01:00:44,610 Mae gen i ychydig o enghreifftiau o bobl yn fy adran, a oedd yn 1083 01:00:44,610 --> 01:00:45,970 Doedd gen i ddim amser i newid. 1084 01:00:45,970 --> 01:00:52,020 Ond mae gennym bethau fel ID, enw, bŵer, a hometown. 1085 01:00:52,020 --> 01:00:54,100 Nid wyf yn gwybod ble i unrhyw un sydd o yn fy adran, 1086 01:00:54,100 --> 01:00:56,266 felly Im 'jyst yn mynd i gymryd yn ganiataol pawb o Efrog Newydd 1087 01:00:56,266 --> 01:00:59,370 City am fod gen i uchel ystadegol tebygrwydd o fod yn gywir. 1088 01:00:59,370 --> 01:01:04,200 >> Bydd SQL cymryd yn awtomatig gofal o asgwrn ID i chi. 1089 01:01:04,200 --> 01:01:07,560 Os byddwch yn mewnosod rhes newydd mewn cronfa ddata SQL, 1090 01:01:07,560 --> 01:01:09,700 bydd yn cynyddiad hynny Rhif adnabod a dim ond 1091 01:01:09,700 --> 01:01:14,890 bôn ffon fel pum enwau, bŵer, tref enedigol, pwy bynnag 1092 01:01:14,890 --> 01:01:16,430 ar ddiwedd y tabl. 1093 01:01:16,430 --> 01:01:19,160 Felly ID mae colofn byddwch yn byth yn rhaid i chi boeni am. 1094 01:01:19,160 --> 01:01:22,770 Ond, fel yn yr achos o login.php, pan fyddwn yn 1095 01:01:22,770 --> 01:01:26,610 yn cael y sesiwn ID o dabl a dim ond gan ddefnyddio ID, 1096 01:01:26,610 --> 01:01:30,320 ID yn ffordd i nodi unigryw elfen o gronfa ddata. 1097 01:01:30,320 --> 01:01:34,980 >> Felly, os oedd gennym ddau Sams, y ddau oedd yn dysgu CS50, ac mae'r ddau o bwy 1098 01:01:34,980 --> 01:01:39,370 yn dod o Milwaukee, byddai rhai yn dal i gael rhifau ID wahân 1099 01:01:39,370 --> 01:01:43,420 ac felly fod yn wahanol mewn cyd-destun y tabl. 1100 01:01:43,420 --> 01:01:48,700 Felly, mae hyn yn beth SQL yn delio gyda, gweithio â hwy yn y pen-ôl. 1101 01:01:48,700 --> 01:01:54,160 >> Nawr mae'r rhain yn y pedwar gorchmynion y bydd angen i chi weithio gyda SQL. 1102 01:01:54,160 --> 01:01:56,390 Ac yr wyf yn taflu nhw i gyd i fyny ar un sleid. 1103 01:01:56,390 --> 01:01:59,530 Ond rydym yn mynd i fynd drwy nhw i gyd yn unigol. 1104 01:01:59,530 --> 01:02:03,300 >> Y gorchymyn cyntaf yw DIWEDDARIAD, sy'n gwneud beth y gallech ei ddisgwyl. 1105 01:02:03,300 --> 01:02:07,240 Dywedwch fod gennych rhywfaint o ddata yn mae'r tabl sy'n dyddio. 1106 01:02:07,240 --> 01:02:09,470 Fel os ydych yn cadw cofnod o enwau pobl 1107 01:02:09,470 --> 01:02:13,350 ac oedrannau, os bydd rhywun yn cynyddu oedran, yna 1108 01:02:13,350 --> 01:02:18,590 ydych yn mynd i eisiau mynd i mewn a diweddaru oed dim ond y person hwnnw. 1109 01:02:18,590 --> 01:02:21,902 Er enghraifft sy'n gweithio gyda'n table-- cyntaf 1110 01:02:21,902 --> 01:02:24,610 peidiwch â phoeni am ysgrifennu pob un gorchmynion hyn ar yr un pryd. 1111 01:02:24,610 --> 01:02:27,640 Ond os oes gennych wybodaeth ddiweddaraf i lawr, bydd hynny fod yn dda ar gyfer y rhan hon, 1112 01:02:27,640 --> 01:02:29,790 oherwydd ein bod ni'n mynd i mynd yn ôl at y bwrdd. 1113 01:02:29,790 --> 01:02:33,920 >> Felly, os ydym yn mynd yn ôl at y bwrdd, gadewch i ni ddweud rhywbeth a ddigwyddodd 1114 01:02:33,920 --> 01:02:38,480 Roedd yna daeargryn neu ffawtlin sy'n rhannu yn uniongyrchol 1115 01:02:38,480 --> 01:02:39,920 drwy Ninas Efrog Newydd. 1116 01:02:39,920 --> 01:02:45,130 Ac rydym yn awyddus i ddiweddaru pawb a oedd yn byw yn Ninas Efrog Newydd. 1117 01:02:45,130 --> 01:02:49,670 Roedd yn rhaid iddynt i gyd i symud i Pennsylvania. 1118 01:02:49,670 --> 01:02:51,130 Nid yw hyn yn dref enedigol. 1119 01:02:51,130 --> 01:02:53,180 Roedd yn rhaid iddynt i gyd i symud i New Haven. 1120 01:02:53,180 --> 01:02:54,030 Dyna ni. 1121 01:02:54,030 --> 01:02:57,630 Fel bod pawb yn Efrog Newydd yn symud i New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> Ac felly dyna rhywbeth sy'n golygu tair rhes yn y tabl hwn. 1123 01:03:01,300 --> 01:03:04,716 Ond mewn SQL, gallwch chi ei wneud bod yn un datganiad yn unig. 1124 01:03:04,716 --> 01:03:05,715 Felly, rydym yn mynd yn ôl i DIWEDDARIAD. 1125 01:03:05,715 --> 01:03:09,670 Gadewch i mi yn gyflym ddileu bwrdd hwn eto. 1126 01:03:09,670 --> 01:03:14,570 Pan fyddwn yn sôn am diweddaru, mae 1127 01:03:14,570 --> 01:03:17,640 ychydig o rannau o'r gystrawen sy'n allweddol. 1128 01:03:17,640 --> 01:03:19,770 Wel, pob un o'r gystrawen yn allweddol. 1129 01:03:19,770 --> 01:03:22,210 Ond mae'r pethau mewn gwyrdd yn ddewisol. 1130 01:03:22,210 --> 01:03:25,680 Mae'n ofynnol i'r gwyn, enwau diffinio o flaen llaw fel. 1131 01:03:25,680 --> 01:03:30,750 Ac mae'r glas golau yn bethau sy'n amrywio yn dibynnu ar y bwrdd. 1132 01:03:30,750 --> 01:03:34,640 Felly dyna beth sy'n mynd ymlaen gyda y cynllun lliw yma, i fyny yno. 1133 01:03:34,640 --> 01:03:40,250 >> Felly os ydym am i ddiweddaru unig rhesi rhai o'r bobl sy'n byw yn Efrog Newydd, 1134 01:03:40,250 --> 01:03:43,490 felly beth y byddem yn ei wneud os ydym yn dweud DIWEDDARIAD? 1135 01:03:43,490 --> 01:03:46,320 Felly tabl yw lle rydym yn rhoi enw ein bwrdd. 1136 01:03:46,320 --> 01:03:49,170 Gadewch i 'jyst dweud yr enw ein bwrdd yn nhabl un. 1137 01:03:49,170 --> 01:03:52,515 Felly rydym am DIWEDDARAF tabl un. 1138 01:03:52,515 --> 01:03:57,470 Ac rydym am set-- beth ydym ni eisiau i osod? 1139 01:03:57,470 --> 01:04:05,160 Wel rydym eisiau ei ddweud, PHP mor column-- trin rhesi fel dynodwyr unigryw. 1140 01:04:05,160 --> 01:04:07,930 Ac yna colofnau yn cael eu y gwahanol feysydd 1141 01:04:07,930 --> 01:04:09,940 o elfennau hynny o'r gronfa ddata. 1142 01:04:09,940 --> 01:04:14,210 >> Felly yr elfen gyntaf y gronfa ddata Mae gan enw Sam, bŵer o CS50, 1143 01:04:14,210 --> 01:04:16,210 ac mae tref enedigol o Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Felly, os ydym yn dweud osodwyd, gadewch i ni edrych ar y paramedrau eto bod set cymryd. 1145 01:04:20,710 --> 01:04:23,880 Mae gennym golofn hafal werth. 1146 01:04:23,880 --> 01:04:27,290 Felly rydym eisiau ei ddweud rhai column-- sy'n cofio 1147 01:04:27,290 --> 01:04:31,850 yn field-- ydym am weld maes yn gyfartal i rywbeth newydd. 1148 01:04:31,850 --> 01:04:42,340 >> Felly, os ydym newydd ei ddweud newyddion diweddaraf tabl 1, enw a osodwyd Elliot gyfartal. 1149 01:04:42,340 --> 01:04:46,310 Cael rhai pobl o'r adran newydd i mewn ar hyn. 1150 01:04:46,310 --> 01:04:51,540 Ond os ydym yn unig yn gwneud diweddariad tabl 1 enw a osodwyd Elliot gyfartal, beth fyddai 1151 01:04:51,540 --> 01:04:55,530 mae'r tabl yn edrych fel ar ôl hynny? 1152 01:04:55,530 --> 01:04:56,410 Mae pobl yn cael unrhyw syniad? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Yeah. 1155 01:05:00,210 --> 01:05:03,195 >> GYNULLEIDFA: Mae popeth yn y Byddai rhes yn dod yn Elliot. 1156 01:05:03,195 --> 01:05:04,570 SIARADWR: Mae popeth y mae rhes? 1157 01:05:04,570 --> 01:05:06,067 GYNULLEIDFA: Yn y rhes gyntaf. 1158 01:05:06,067 --> 01:05:07,150 SIARADWR: Yn y rhes gyntaf? 1159 01:05:07,150 --> 01:05:09,724 Pam y rhes gyntaf? 1160 01:05:09,724 --> 01:05:10,890 Dydw i ddim yn ei olygu i ddewis ar eich cyfer. 1161 01:05:10,890 --> 01:05:13,287 >> GYNULLEIDFA: Efallai popeth yn y tabl cyfan? 1162 01:05:13,287 --> 01:05:15,120 SIARADWR: Mae popeth yn y bwrdd cyfan, ie. 1163 01:05:15,120 --> 01:05:19,520 A dyna yn union gywir i mi because-- Roedd dim ond chi helpu ychydig 1164 01:05:19,520 --> 01:05:22,650 there-- oherwydd ein bod hepgor y cymal LLE dewisol. 1165 01:05:22,650 --> 01:05:27,260 Os nad oes gennych y LLE cymal, beth fydd hon archa yn ei wneud 1166 01:05:27,260 --> 01:05:32,240 yn bydd yn gweithio gyda phob sengl rhes yn y tabl. 1167 01:05:32,240 --> 01:05:35,430 Enw pawb fydd yn dod yn Elliott, yn y bôn, 1168 01:05:35,430 --> 01:05:37,360 sydd Elliot yn hapus iawn am. 1169 01:05:37,360 --> 01:05:40,070 Neu Yanni, un o'r ddau. 1170 01:05:40,070 --> 01:05:42,490 Ond bydd enw pawb yn newid. 1171 01:05:42,490 --> 01:05:47,880 >> Felly, y ffordd yr ydym yn defnyddio'r LLE clause-- ac mae hyn yn berthnasol i bob un o'r Tryfan 1172 01:05:47,880 --> 01:05:51,410 sydd ym mhob un o'r pethau gwahanol hyn. 1173 01:05:51,410 --> 01:05:54,380 Felly, byddwch yn sylwi bod SET Mae colofn werth cyfartal. 1174 01:05:54,380 --> 01:05:55,190 Ac felly mae LLE. 1175 01:05:55,190 --> 01:06:00,040 Ond mae'r rhain yn wahanol mathau o ddatganiadau. 1176 01:06:00,040 --> 01:06:04,400 Felly mae'r golofn yn hafal i werth mewn SET yn aseiniad. 1177 01:06:04,400 --> 01:06:08,320 Fel rydyn ni'n ei ddweud ein bod am i osod enw cyfartal i Elliot. 1178 01:06:08,320 --> 01:06:15,390 Ond yn y cymalau LLE, mae'r rhain yn ddatganiadau cydraddoldeb. 1179 01:06:15,390 --> 01:06:20,410 Felly, gadewch i ni ddweud ein bod dim ond eisiau newid enw'r person i Elliot 1180 01:06:20,410 --> 01:06:23,940 os caiff ei enw oedd Ryan, gadewch i ni ddweud. 1181 01:06:23,940 --> 01:06:24,920 >> Felly, pan fyddwn yn dweud 1182 01:06:24,920 --> 01:06:32,700 >> LLE enw hafal Ryan, bod Byddai newid yn unig yn llwyddiannus 1183 01:06:32,700 --> 01:06:37,440 y name-- byddai'n unig newid y cae enw mewn rhesi 1184 01:06:37,440 --> 01:06:40,770 lle y cae enw yn hafal i Ryan. 1185 01:06:40,770 --> 01:06:44,430 Felly, os oedd gennym bobl lluosog enwir Ryan, pob un eu henwau 1186 01:06:44,430 --> 01:06:45,730 Byddai newid i Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Mae hyn yn debyg i'r esiampl o os ffawtlin yn rhannu 1188 01:06:48,169 --> 01:06:50,960 Dinas Efrog Newydd a rhaid i bawb symud i New Haven, mae'r ffordd y gallwn 1189 01:06:50,960 --> 01:06:56,570 gwneud hynny mewn un datganiad yn DIWEDDARIAD Tabl 1 hometown SET = Haven Newydd 1190 01:06:56,570 --> 01:07:00,210 lle mae hometown yn cyfateb Dinas Efrog Newydd. 1191 01:07:00,210 --> 01:07:03,410 Mae hyn yn y pŵer y datganiad DIWEDDARIAD. 1192 01:07:03,410 --> 01:07:10,530 Gallwn ddewis unrhyw nifer o rhesi drwy ddatganiadau gwir 1193 01:07:10,530 --> 01:07:12,860 am y meysydd mewn rhesi hynny. 1194 01:07:12,860 --> 01:07:19,510 Ni allwn ddweud set Tabl 1 Y DIWEDDARAF enw = Elliot LLE rhes = 1, 1195 01:07:19,510 --> 01:07:24,820 ac eithrio y gallwn os dywedwn ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Felly rydym yn mynd i fod yn gan weithio gyda chydraddoldeb 1198 01:07:29,830 --> 01:07:32,830 o feysydd, cydraddoldeb colofnau. 1199 01:07:32,830 --> 01:07:38,030 Ond gan ddefnyddio y cae ID yn ffordd o dewiswch rhesi unigol yn benodol, 1200 01:07:38,030 --> 01:07:43,210 oherwydd bod y cae ID yn unigryw dynodwr mewn cronfa ddata SQL. 1201 01:07:43,210 --> 01:07:45,860 Felly, fel diweddaru rhes un, ID dychwelyd 1. 1202 01:07:45,860 --> 01:07:49,560 Diweddaru rhes dau, dim ond newid y rhif adnabod. 1203 01:07:49,560 --> 01:07:51,610 Ond grym y LLE datganiad yw ein bod yn 1204 01:07:51,610 --> 01:07:57,480 Gall roi'r wybodaeth ddiweddaraf pethau yn seiliedig ar yr hyn mae eu Gwerthoedd presennol o rhai pethau yn cael eu. 1205 01:07:57,480 --> 01:07:58,155 Do Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> GYNULLEIDFA: A beth os ydych chi am i'r canlynol-- eto, mae hwn yn gwestiwn arall. 1207 01:08:02,678 --> 01:08:07,660 Ond mae fy nghwestiwn cyntaf oedd, lle mae hyn yn digwydd? 1208 01:08:07,660 --> 01:08:09,130 Ble ydw i'n diweddaru'r hyn? 1209 01:08:09,130 --> 01:08:11,100 A yw hyn mewn cod PHP? 1210 01:08:11,100 --> 01:08:13,379 >> SIARADWR: Lle byddwch yn diweddaru, ie. 1211 01:08:13,379 --> 01:08:15,170 Rydym yn mynd i siarad ynglŷn â lle hyn oll 1212 01:08:15,170 --> 01:08:18,729 sy'n digwydd ar fath o ôl i ni fynd drwy'r holl orchmynion. 1213 01:08:18,729 --> 01:08:21,130 Ond beth mae angen i chi yn gwybod am y tro yn y bôn 1214 01:08:21,130 --> 01:08:26,279 bod eich cronfa ddata SQL yn bodoli fel rhywbeth 1215 01:08:26,279 --> 01:08:30,090 i gael ei defnyddio gan y ymholiad swyddogaeth, a oedd yn CS50 diffinio. 1216 01:08:30,090 --> 01:08:33,800 Felly, os ydych yn defnyddio'r swyddogaeth ymholiad, gallwch gael mynediad y tabl hwn. 1217 01:08:33,800 --> 01:08:39,529 >> Felly, byddwch yn anfon y rhain gorchmynion i eich bwrdd mewn ffeiliau PHP 1218 01:08:39,529 --> 01:08:41,420 drwy'r swyddogaeth ymholiad. 1219 01:08:41,420 --> 01:08:45,410 Gallwch hefyd chwarae o gwmpas gyda'ch bwrdd yn uniongyrchol. 1220 01:08:45,410 --> 01:08:49,050 A dyna y ffordd orau i profi mathau hyn o orchmynion. 1221 01:08:49,050 --> 01:08:52,720 A byddwn yn mynd drwy sut yn union y i wneud hynny mewn dim ond ychydig. 1222 01:08:52,720 --> 01:08:54,910 >> Felly dyna gorchymyn DIWEDDARIAD. 1223 01:08:54,910 --> 01:08:57,939 A'r gweddill y gorchmynion yn mynd i fod rhyw fath o debyg, 1224 01:08:57,939 --> 01:08:59,069 gweithio ar bethau tebyg. 1225 01:08:59,069 --> 01:09:02,740 Mae'r INSERT INTO yn ôl pob tebyg y mwyaf yn wahanol i DIWEDDARIAD. 1226 01:09:02,740 --> 01:09:06,170 Rydw i'n mynd i adael bod hyd yno am ychydig bach ac yn gweithio dros yma. 1227 01:09:06,170 --> 01:09:10,215 Felly INSERT I, byddwch yn gweld y tabl hwnnw yn dal i fod yr un fath. 1228 01:09:10,215 --> 01:09:17,010 Yr hoffech ei fewnosod YN. 1229 01:09:17,010 --> 01:09:20,286 Mae'r cyfalafu, SQL yn achos ansensitif. 1230 01:09:20,286 --> 01:09:22,160 Fel nad oes rhaid i chi cyfalafu y pethau hyn. 1231 01:09:22,160 --> 01:09:27,960 Erbyn confensiwn, y geiriau mewn gwyn yn cael eu cyfalafu. 1232 01:09:27,960 --> 01:09:31,590 Ond rwyf hefyd codau lliw iddynt. 1233 01:09:31,590 --> 01:09:34,390 Yr unig reswm yr ydych yn cyfalafu pan fydd y rhai yr ydych yn eu teipio 1234 01:09:34,390 --> 01:09:36,609 yn unig i bwysleisio bod y rhai yn gysonion. 1235 01:09:36,609 --> 01:09:39,189 Ac felly gallwch naill ai edrych ar y cyfalafu neu'r ffaith 1236 01:09:39,189 --> 01:09:40,740 fy mod i wedi lliw yn wahanol. 1237 01:09:40,740 --> 01:09:44,910 >> Felly, mae gennym RHOWCH I, gadewch i ni wneud Tabl 1 eto. 1238 01:09:44,910 --> 01:09:45,930 Mae hyn i gyd ar un llinell. 1239 01:09:45,930 --> 01:09:48,609 Im 'jyst yn ei wahanu gan y gwahanol ddatganiadau. 1240 01:09:48,609 --> 01:09:52,399 Felly peidiwch â phoeni am y ffaith bod gwneud Tabl 1 fod ar yr ail linell. 1241 01:09:52,399 --> 01:09:56,130 >> Felly rydym am i fewnosod I Tabl 1 rhai gwerthoedd. 1242 01:09:56,130 --> 01:09:58,922 A byddwch yn sylwi ar y ddewisol bit, a byddaf yn cael i mewn eiliad. 1243 01:09:58,922 --> 01:09:59,755 Felly, mae gennym ni GWERTHOEDD. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Felly, gadewch i ni ddweud ein bod eisiau ychwanegu Andi at ein bwrdd, oherwydd ein bod yn colli Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi yn sâl. 1247 01:10:09,390 --> 01:10:12,490 Felly gadewch i ni ychwanegu Andi at ein bwrdd. 1248 01:10:12,490 --> 01:10:15,150 Cofiwch bod y rhif adnabod yn cael ei diweddaru'n awtomatig. 1249 01:10:15,150 --> 01:10:17,320 Felly yr unig caeau ydym Mae angen i chi boeni am 1250 01:10:17,320 --> 01:10:20,230 yn enw, bŵer, a hometown. 1251 01:10:20,230 --> 01:10:23,660 >> Ac felly y ffordd yr ydym yn gwneud hynny, edrych ar ein cystrawen, yw rydym wedi 1252 01:10:23,660 --> 01:10:28,780 jyst got a cromfachau, gyda coma gwerthoedd wedi'u gwahanu, pob un ohonynt 1253 01:10:28,780 --> 01:10:29,890 yn werth. 1254 01:10:29,890 --> 01:10:35,530 Felly, os oeddem am i fewnosod Andi yn ein tabl, pob mae'n rhaid i ni ei wneud yw Andi iawn. 1255 01:10:35,530 --> 01:10:38,630 Beth yw bŵer Andi yn, pobl mewn adran Andi yn? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Mae hi'n hoffi hedfan, neu yn hoffi cyflymder, neu rywbeth. 1258 01:10:47,545 --> 01:10:48,920 Beth sydd gennym eisoes i fyny yno? 1259 01:10:48,920 --> 01:10:53,425 Rydym wedi CS50, hedfan, cyflymder, a chryfder. 1260 01:10:53,425 --> 01:10:54,850 >> GYNULLEIDFA: Teithio Amser. 1261 01:10:54,850 --> 01:10:56,180 >> SIARADWR: teithio Time, anhygoel. 1262 01:10:56,180 --> 01:11:04,280 Felly, mae gennym Andi, amser teithio, ac mae ei dref enedigol. 1263 01:11:04,280 --> 01:11:05,530 Mae hynny'n gwestiwn da iawn. 1264 01:11:05,530 --> 01:11:09,210 New York City, oni bai fod rhywun yn gwybod. 1265 01:11:09,210 --> 01:11:13,600 Mae pawb yn o Efrog Newydd yw'r gwers i fynd i ffwrdd o heddiw ymlaen. 1266 01:11:13,600 --> 01:11:17,710 >> Felly, byddai datganiad hwn mewnosod, fel pumed res, 1267 01:11:17,710 --> 01:11:21,900 gyda'r amser teithio superpower ac mae tref enedigol o Dinas Efrog Newydd. 1268 01:11:21,900 --> 01:11:25,660 Ond mae'r maes dewisol yn y bôn yn ffordd 1269 01:11:25,660 --> 01:11:30,090 i nodi'n union pa colofnau yr hoffech ei fewnosod pethau mewn. 1270 01:11:30,090 --> 01:11:33,710 >> Mae'r ffordd yr ydym yn ei wneud yn awr, Andi, teithio drwy amser, Dinas Efrog Newydd, 1271 01:11:33,710 --> 01:11:38,150 yn mynd yn yr union drefn ein enw table--, bŵer, hometown. 1272 01:11:38,150 --> 01:11:42,290 Ac os ydych am ei wneud rhywbeth arall na hynny, 1273 01:11:42,290 --> 01:11:44,970 fel dweud nad oeddech yn gwybod bŵer rhywun, 1274 01:11:44,970 --> 01:11:47,660 fel sut nad oeddwn yn gwybod Andi yn bŵer ar y dechrau. 1275 01:11:47,660 --> 01:11:50,450 Felly, i gyd roeddwn i'n gwybod oedd ei enwi ac mae ei dref enedigol. 1276 01:11:50,450 --> 01:11:54,550 Beth allwn i ei wneud yw y gallwn do-- 'N annhymerus' dileu hyn gyflym. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Rwyf am dim ond ddiweddaru'r colofnau. 1279 01:12:00,090 --> 01:12:04,100 A dyma lle mae'r ddewisol Daw rhestr golofn i chwarae. 1280 01:12:04,100 --> 01:12:09,185 Dim ond eisiau i ddiweddaru enw a hometown. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 Ac yna yr wyf am ddweud GWERTHOEDD. 1283 01:12:16,480 --> 01:12:24,430 Fe wna i Andi a Dinas Efrog Newydd. 1284 01:12:24,430 --> 01:12:28,980 >> Os wyf wedi hepgor y rhestr o golofnau a dim ond gwneud y ddau beth, 1285 01:12:28,980 --> 01:12:32,450 lle byddai Dinas Efrog Newydd wedi mynd? 1286 01:12:32,450 --> 01:12:35,900 A fyddai'n colofn Efrog Newydd City wedi cael eu gosod mewn? 1287 01:12:35,900 --> 01:12:38,950 Mae pobl yn cael unrhyw syniad? 1288 01:12:38,950 --> 01:12:40,160 Bŵer, yn union. 1289 01:12:40,160 --> 01:12:41,890 >> Felly, bydd hyn dim ond yn mynd yn eu trefn. 1290 01:12:41,890 --> 01:12:45,530 Ac unwaith y bydd yn cyrraedd diwedd y rhestr, bydd yn jyst peidiwch â chwblhau'r pethau i mewn. 1291 01:12:45,530 --> 01:12:49,080 A'r gwerthoedd y bydd yn aros yn bydd yr holl colofnau unig fod null. 1292 01:12:49,080 --> 01:12:51,840 Felly am i ni bennu enw a nhref enedigol, 1293 01:12:51,840 --> 01:12:56,110 rydym yn mynd i gael ID 5, enwi Andi, NULL superpower. 1294 01:12:56,110 --> 01:12:58,750 Felly bŵer yn werth uninitialized. 1295 01:12:58,750 --> 01:13:01,340 Ni fyddwch o reidrwydd yn cael y Gwallau Valgrind un fath os ydych yn ceisio 1296 01:13:01,340 --> 01:13:01,970 ac yn cael mynediad iddo. 1297 01:13:01,970 --> 01:13:05,160 Bydd popeth yn cael ei zeroed 'n glws allan, gan fod NULL yn werth yn SQL. 1298 01:13:05,160 --> 01:13:06,780 Mae hynny'n gyson. 1299 01:13:06,780 --> 01:13:08,980 Ac yna bydd dref enedigol yn Ninas Efrog Newydd. 1300 01:13:08,980 --> 01:13:11,860 Felly dyna y RHOWCH YN gorchymyn. 1301 01:13:11,860 --> 01:13:13,610 Cyn i ni symud, mae ' dau gorchmynion mwy. 1302 01:13:13,610 --> 01:13:19,060 Ydy pobl gennych unrhyw gwestiynau am Y DIWEDDARAF, am RHOWCH YN, tua SQL 1303 01:13:19,060 --> 01:13:21,556 Yn gyffredinol, cyn i ni symud ar ein darnau terfynol? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Mae pobl yn teimlo'n dda, gwych. 1306 01:13:26,910 --> 01:13:27,410 Wrth eu bodd. 1307 01:13:27,410 --> 01:13:29,480 Felly, gadewch i ni siarad am SELECT. 1308 01:13:29,480 --> 01:13:33,445 Mynd ffos DIWEDDARIAD dros yma. 1309 01:13:33,445 --> 01:13:35,720 >> A SELECT yn mynd i fod yn debyg iawn. 1310 01:13:35,720 --> 01:13:38,790 Mae'r nod o SELECT, Diben SELECT mewn bywyd 1311 01:13:38,790 --> 01:13:45,910 yw rhoi bagad o golofnau i chi sy'n bodloni'r amodau penodol. 1312 01:13:45,910 --> 01:13:48,230 A phan wyf yn dweud bodloni amodau penodol, 1313 01:13:48,230 --> 01:13:50,800 efallai eich meddwl ar unwaith fynd yn ôl at y cymal LLE 1314 01:13:50,800 --> 01:13:52,090 a ddaeth i fyny yn DIWEDDARIAD. 1315 01:13:52,090 --> 01:13:54,880 Ac mae cymal sy'n yn union yno yn SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Os nad ydym yn rhoi'r LLE cymal a dywedwn enw SELECT, 1317 01:14:06,020 --> 01:14:16,490 hometown-- sillafu'n bod ychydig enw wrong--, hometown GAN Tabl 1. 1318 01:14:16,490 --> 01:14:19,690 Os ydym yn unig yn dweud bod, beth SELECT yn mynd i roi i ni yw ei fod yn 1319 01:14:19,690 --> 01:14:23,730 mynd i roi i ni double-- tabl, yn hytrach. 1320 01:14:23,730 --> 01:14:27,450 Mae amrywiaeth dwbl os ydym yn meddwl am yn PHP synhwyrau. 1321 01:14:27,450 --> 01:14:33,239 Ond mae'n jyst yn mynd i roi i ni yn amrywiaeth dwbl o ddau enw columns--, 1322 01:14:33,239 --> 01:14:33,780 a hometown. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 A bydd yn anwybyddu ID. 1325 01:14:38,130 --> 01:14:41,310 A bydd yn anwybyddu superpower. 1326 01:14:41,310 --> 01:14:44,696 A bydd yn jyst rhoi i ni bob sengl res y tabl hwnnw. 1327 01:14:44,696 --> 01:14:46,570 Felly, os ydym yn unig fewnosod Andi, bydd gennym Andi. 1328 01:14:46,570 --> 01:14:48,605 A byddwn yn cael y pedwar gwreiddiol. 1329 01:14:48,605 --> 01:14:53,720 Os ydynt wedi eu diweddaru, bydd hynny yn cael ei adlewyrchu, et cetera, et cetera. 1330 01:14:53,720 --> 01:14:56,520 >> Felly, mae hyn oherwydd ein bod Nid oedd yn defnyddio'r cymal LLE. 1331 01:14:56,520 --> 01:14:59,200 Ond gallwn ei ddefnyddio yn union yr un ffordd yr ydym yn ei ddefnyddio yn DIWEDDARIAD. 1332 01:14:59,200 --> 01:15:05,310 Os mai dim ond eisiau tabl o'r enwau a phwerau super pobl sy'n byw 1333 01:15:05,310 --> 01:15:13,430 yn Efrog Newydd, gallwn gyflawni datganiad fel enw SELECT, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Im 'jyst yn mynd i adael that-- GAN Tabl 1 LLE hometown = Dinas Efrog Newydd. 1335 01:15:27,190 --> 01:15:33,370 >> Felly, mae hyn yn dangos eich bod yn gallu cael hollol wahanol colofnau, 1336 01:15:33,370 --> 01:15:36,920 ac yna rhowch colofnau nad ydych yn hyd yn oed yn mynd yn ôl yn y cymal LLE. 1337 01:15:36,920 --> 01:15:39,200 Nid ydym yn hyd yn oed am y tref enedigol o bawb. 1338 01:15:39,200 --> 01:15:41,920 Ond rydym am enw a y bŵer o bobl 1339 01:15:41,920 --> 01:15:43,817 y mae ei dref enedigol yn Ninas Efrog Newydd. 1340 01:15:43,817 --> 01:15:45,650 Felly dyna rhywbeth yr ydym Gall wneud â'r LLE 1341 01:15:45,650 --> 01:15:49,112 cymal yn gallwn ddelio â cholofnau nad ydym o reidrwydd am yn ôl. 1342 01:15:49,112 --> 01:15:52,320 Yn yr un modd mewn DIWEDDARIAD, gallwn ddelio gyda cholofnau nad ydym yn ei wneud o reidrwydd 1343 01:15:52,320 --> 01:15:53,270 am ddiweddaru. 1344 01:15:53,270 --> 01:15:58,890 Gallwn ddiweddaru'r ddinas bawb pwy sy'n enw i yw Sam, er enghraifft. 1345 01:15:58,890 --> 01:16:02,080 Gallwn ddiweddaru'r ddinas pawb y mae eu ID rhif yw 2. 1346 01:16:02,080 --> 01:16:04,960 Felly, dim ond diweddaru'r dinas yr ail res 1347 01:16:04,960 --> 01:16:08,220 lle nad oes rhaid i ni ddelio â angenrheidiol y cwestiwn cyffredin. 1348 01:16:08,220 --> 01:16:13,264 >> A dileu yw, fel y byddech yn disgwyl, DELETE O Tabl 1. 1349 01:16:13,264 --> 01:16:14,930 Ac yna mae gennym gymal LLE arall. 1350 01:16:14,930 --> 01:16:17,940 Felly, gallwn ddweud BLE ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Dileu y rhes gyntaf. 1352 01:16:18,950 --> 01:16:23,240 A DILEU Bydd bob amser yn dileu rhes, neu a fydd yn dileu rhywfaint o nifer o resi. 1353 01:16:23,240 --> 01:16:26,990 DILEU O dabl BLE City tref enedigol = Efrog Newydd 1354 01:16:26,990 --> 01:16:28,740 Bydd dileu pawb yn Ninas Efrog Newydd. 1355 01:16:28,740 --> 01:16:30,985 Mae hynny os oedd pla trasig sydyn 1356 01:16:30,985 --> 01:16:33,360 a 'ch jyst eisiau i gael gwared pawb o'r tabl sy'n 1357 01:16:33,360 --> 01:16:35,760 yn byw mewn dinas benodol a gafodd ei tharo gan y pla. 1358 01:16:35,760 --> 01:16:38,050 Bydded iddynt orffwys mewn heddwch. 1359 01:16:38,050 --> 01:16:43,849 >> Mae'r rhain yn y pedwar gorchmynion SQL y bydd angen i chi ddefnyddio. 1360 01:16:43,849 --> 01:16:45,390 Efallai na fydd angen hyd yn oed i chi nhw i gyd defnyddio. 1361 01:16:45,390 --> 01:16:47,690 Ond mae'r rhain yn y pedwar bod CS50 yn disgwyl i chi 1362 01:16:47,690 --> 01:16:53,630 i fod yn gyfforddus gyda mynd i mewn i y ddau cwis 1 a hefyd pset7 a pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Does dim ond bod tabl eto. 1364 01:16:55,820 --> 01:16:58,930 Yn yr un, bŵer Roy Mae gan wedi'u diweddaru i trawstiau laser, a oedd yn 1365 01:16:58,930 --> 01:17:00,880 yn enghraifft doeddwn i ddim yn eu defnyddio. 1366 01:17:00,880 --> 01:17:05,480 Nid wyf yn gwybod pa un Roy well, ond cryfder. 1367 01:17:05,480 --> 01:17:07,670 Roy Mae gan bŵer o gryfder. 1368 01:17:07,670 --> 01:17:09,090 Nid oedd Katherine yn ei gwneud yn heddiw. 1369 01:17:09,090 --> 01:17:10,260 Mae hynny'n anffodus. 1370 01:17:10,260 --> 01:17:11,260 Ond mae hi wedi cyflymder super. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Wel dyna oedd PHP. 1373 01:17:14,670 --> 01:17:19,410 Cyn i ni siarad am MVC, yn gwneud gan unrhyw un gwestiynau am PHP? 1374 01:17:19,410 --> 01:17:23,864 Nawr SQL, neu PHP os ydych yn sydyn gennych dod o hyd i gwestiwn am PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Great. 1377 01:17:28,460 --> 01:17:29,920 Mae pob hawl, rydym ni i gyd yn gosod wedyn. 1378 01:17:29,920 --> 01:17:33,660 >> Felly siarad ychydig bach am y model barn rheolwyr, 1379 01:17:33,660 --> 01:17:38,770 gadewch i ni fynd yn ôl at rai o'r stwff yn pset7. 1380 01:17:38,770 --> 01:17:42,470 Felly, pa fodel barn rheolwr yw-- Dydw i ddim 1381 01:17:42,470 --> 01:17:45,660 mynd i achub fy newidiadau i fewngofnodi gan fy mod yn butchered yn gwbl. 1382 01:17:45,660 --> 01:17:49,220 Ond yn y bôn mae gennym ddau pethau ar wahân digwydd. 1383 01:17:49,220 --> 01:17:52,390 Mae gennym cyhoeddus cyfeiriadur sy'n cynnwys 1384 01:17:52,390 --> 01:17:56,460 cod sy'n mynd i gael eu gweithredu ac mae'r tudalennau gwe a fydd yn cael ymweliad. 1385 01:17:56,460 --> 01:17:58,780 Ac mae gennym hefyd y cyfeiriadur barn. 1386 01:17:58,780 --> 01:18:01,780 A golygfeydd yn cynnwys templedi. 1387 01:18:01,780 --> 01:18:04,390 >> Dyma beth y swyddogaeth render-- gwelsom y rendr 1388 01:18:04,390 --> 01:18:08,240 swyddogaeth mewn bagad o'r cod PHP bod CS50 eisoes wedi ysgrifennu i chi, 1389 01:18:08,240 --> 01:18:10,550 sy'n cymryd mewn rhai paramedrau. 1390 01:18:10,550 --> 01:18:14,510 Yr hyn y cod yn ei wneud yn ei fod yn mynd i mewn i safbwyntiau, 1391 01:18:14,510 --> 01:18:18,000 sydd yn setiau o fel Cod HTML prewritten, 1392 01:18:18,000 --> 01:18:20,720 ac mae'n gosod gwerthoedd i mewn i rai mannau. 1393 01:18:20,720 --> 01:18:23,990 Dyma sut pan fyddwch yn mynd i mewn i CS50 Cyllid, 1394 01:18:23,990 --> 01:18:25,760 yr un pennawd ar bob tudalen. 1395 01:18:25,760 --> 01:18:28,130 Mae'r un troedyn ar bob tudalen. 1396 01:18:28,130 --> 01:18:31,880 Mae hyn oherwydd bod y ffordd hynny rendro gwaith a yw'n chi helpu 1397 01:18:31,880 --> 01:18:36,720 chlytia yn awtomatig yn y pennawd a gwyliwr y gallwch ddod o hyd mewn barn. 1398 01:18:36,720 --> 01:18:41,400 >> Rydym mewn gwirionedd yn gallu mynd i mewn i pennawd, ac edrych, 'i' ar ffurf ffeil HTML gyda phen. 1399 01:18:41,400 --> 01:18:43,280 Mae'n got rhai arddull. 1400 01:18:43,280 --> 01:18:48,450 Nid oes angen i chi edrych ar CSS ar gyfer pset7 os nad ydych yn dymuno gwneud hynny. 1401 01:18:48,450 --> 01:18:50,560 Ond gallwch addasu hwy os ydych yn dymuno, gwneud 1402 01:18:50,560 --> 01:18:53,470 eich Cyllid yn edrych ychydig yn wahanol. 1403 01:18:53,470 --> 01:18:57,560 >> Mae'n got rhai PHP yn y pennawd ychydig i weld 1404 01:18:57,560 --> 01:19:01,240 os oes deitl gwahanol dylai roi yn header hwn. 1405 01:19:01,240 --> 01:19:04,300 Ond dim ond rhai sgriptiau eraill, a chysylltiadau, a phethau eraill. 1406 01:19:04,300 --> 01:19:08,700 Pennaeth yn dod i ben, corff yn dechrau, ac wps, mae gennym ychydig hwn bit pen 'n annaearol. 1407 01:19:08,700 --> 01:19:14,730 Ac mae 'na div, yn union fel yn fath o formless elfen 1408 01:19:14,730 --> 01:19:17,120 sydd â syniad o'r canol. 1409 01:19:17,120 --> 01:19:22,450 >> Ac yna pan welwn troedyn, mae gennym diwedd div. 1410 01:19:22,450 --> 01:19:25,000 Mae gennym gwaelod, sef lle bo'r testun troedyn yn. 1411 01:19:25,000 --> 01:19:26,770 Diwedd y div, diwedd y corff, diwedd HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Felly beth yw rendr wneud yw rendr yn didoli 1413 01:19:29,070 --> 01:19:33,150 o clytio i fyny pennawd, a gwahanol ffeil PHP sy'n 1414 01:19:33,150 --> 01:19:37,110 bydd yn cynnwys y pethau gwirioneddol y byddwch yn gweld, fel eich tabl o stociau 1415 01:19:37,110 --> 01:19:39,690 os ydych yn prynu neu werthu stociau. 1416 01:19:39,690 --> 01:19:41,480 Ac yna bydd yn ychwanegu yn y troedyn. 1417 01:19:41,480 --> 01:19:44,890 A barn model syniad rheolwr yw ein bod yn 1418 01:19:44,890 --> 01:19:49,590 eisiau i wahanu sut pethau yn edrych o'r cod. 1419 01:19:49,590 --> 01:19:53,420 Mae'n rydym am i wahanu'r frontend a'r ol-wyneb, lle mae'r frontend yn 1420 01:19:53,420 --> 01:20:00,440 y pethau y mae'r defnyddiwr yn gweld, y 'n glws visuals-- HTML, CSS, pethau fel 'na, 1421 01:20:00,440 --> 01:20:02,320 delweddau, et cetera. 1422 01:20:02,320 --> 01:20:05,780 Ac mae'r ol-wyneb yn PHP. 1423 01:20:05,780 --> 01:20:07,710 Mae hyn yn cod eich bod yn ysgrifennu. 1424 01:20:07,710 --> 01:20:10,240 Dyma lle mae'r cod sy'n gwneud gweithrediadau gwirioneddol. 1425 01:20:10,240 --> 01:20:12,400 Mae hyn yn pan fyddwch yn ychwanegu stoc i'ch bwrdd, 1426 01:20:12,400 --> 01:20:14,890 pan fyddwch yn prynu a gwerthu, dyna ochr gefn. 1427 01:20:14,890 --> 01:20:20,210 >> A gallwn, fel y gwelsoch, gan gynnwys PHP yn uniongyrchol yn HTML. 1428 01:20:20,210 --> 01:20:23,210 Felly, beth y gallem fod wedi ei wneud ar gyfer aseiniad hwn yn newydd gael 1429 01:20:23,210 --> 01:20:26,200 ffeil HTML ar gyfer pob tudalen, fel mewngofnodi. 1430 01:20:26,200 --> 01:20:30,260 Ac yna ar y dudalen honno, dim ond Roedd bloc anferth o god PHP, 1431 01:20:30,260 --> 01:20:33,822 gan gynnwys pob un o'r cod sy'n y byddai angen dudalen benodol. 1432 01:20:33,822 --> 01:20:35,780 Ac yna gallem fod wedi gwneud hynny ar gyfer portffolio. 1433 01:20:35,780 --> 01:20:40,250 Gallem fod wedi gwneud pob un o'r prynu a gwerthu o fewn y tudalennau unigol. 1434 01:20:40,250 --> 01:20:43,680 >> Ond oherwydd ein bod yn rendro ar wahân i ble 1435 01:20:43,680 --> 01:20:46,660 rydym yn ysgrifennu'r ol-wyneb cod, y gallwn yn hawdd 1436 01:20:46,660 --> 01:20:52,660 newid sut mae pethau yn edrych heb newid pob ffeil. 1437 01:20:52,660 --> 01:20:55,460 Rydym yn gwneud pethau fel dim ond ychwanegu mae div newydd i'r gwaelod 1438 01:20:55,460 --> 01:21:00,720 o- Helo Rwy'n addaswyd y troedyn. 1439 01:21:00,720 --> 01:21:03,710 Alli jyst wneud pethau fel 'na. 1440 01:21:03,710 --> 01:21:07,250 Ond hefyd, gallwch newid y cynllun gweledol cyfan 1441 01:21:07,250 --> 01:21:09,290 heb effeithio ar beth sydd mynd i'r ochr gefn. 1442 01:21:09,290 --> 01:21:12,000 A gallwch newid y ol-wyneb cyfan ac yn dal 1443 01:21:12,000 --> 01:21:13,900 rhaid iddo edrych yn union fel y gwnaeth o'r blaen. 1444 01:21:13,900 --> 01:21:14,400 Mae hyn yn 1445 01:21:14,400 --> 01:21:16,170 >> A yw'r syniad o fodel farn rheolwr. 1446 01:21:16,170 --> 01:21:19,992 Ac mae'n mewn gwirionedd yn patrwm a osodwyd yn rhai o'r ieithoedd rhaglennu 1447 01:21:19,992 --> 01:21:21,700 efallai y byddwch am ddefnyddio ar gyfer prosiectau terfynol. 1448 01:21:21,700 --> 01:21:25,100 Os ydych yn gwneud datblygu iOS, mae ganddynt safbwyntiau, 1449 01:21:25,100 --> 01:21:29,120 sef yr hyn a welwch ar yr iPhone, ac Yna ol-wyneb fel fel rhywbeth ar wahân. 1450 01:21:29,120 --> 01:21:31,260 >> Gallwch chi feddwl am ychydig bach. 1451 01:21:31,260 --> 01:21:35,190 Mae yna lawer o binaries yn cyfrifiadureg, sydd yn ddoniol, 1452 01:21:35,190 --> 01:21:37,270 fod popeth sydd yn deuaidd. 1453 01:21:37,270 --> 01:21:38,550 Doeddwn i ddim yn cynllunio hynny. 1454 01:21:38,550 --> 01:21:41,590 Dyna oedd pun anfwriadol. 1455 01:21:41,590 --> 01:21:43,860 Ie, gair mwys na fwriedir. 1456 01:21:43,860 --> 01:21:49,070 >> Ond fel ffeiliau .h a ffeiliau .c, mae ' llawer o gwahanu o bethau yr ydym 1457 01:21:49,070 --> 01:21:49,900 Efallai na fydd angen. 1458 01:21:49,900 --> 01:21:54,330 Felly, gallwn jyst olygu'r ffeiliau h, neu Gall rhywun ond yn gweld ffeil .h ac yn gwybod 1459 01:21:54,330 --> 01:21:57,650 yn union swyddogaethau sydd yn y ffeil .c heb o reidrwydd yn gwybod 1460 01:21:57,650 --> 01:21:58,870 eu gweithredu. 1461 01:21:58,870 --> 01:22:02,800 Mae'r syniad o gydrannau sy'n gwahanu sy'n dibynnu ar ei gilydd 1462 01:22:02,800 --> 01:22:06,990 ond gall fath o gael mynediad at ei gilydd drwy sianeli gwahanol, pasio 1463 01:22:06,990 --> 01:22:09,310 o newidynnau, dim ond gynnwys datganiadau, pethau 1464 01:22:09,310 --> 01:22:14,440 fel 'na, yr egwyddor hon yn helpu i greu ceisiadau 1465 01:22:14,440 --> 01:22:17,080 Gall hynny fod yn haws wedi'i olygu gan bobl lluosog, 1466 01:22:17,080 --> 01:22:20,440 gellir eu newid yn haws neu eu haddasu ar raddfa fawr, 1467 01:22:20,440 --> 01:22:24,880 ac yn haws eu dadfygio mewn llawer o ffyrdd. 1468 01:22:24,880 --> 01:22:28,254 >> Really gyflym, yr wyf wedi ychydig o awgrymiadau ar gyfer pset7, 1469 01:22:28,254 --> 01:22:31,420 y byddaf yn gwneud sgrin lawn er mwyn i chi beidio dim ond yn edrych ar the-- Tippee domen domen. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Nid oes bod llawer o awgrymiadau. 1472 01:22:35,130 --> 01:22:38,060 >> Ond yr wyf yn crybwyll PHP yn anodd i'w dadfygio. 1473 01:22:38,060 --> 01:22:39,290 Dwbl a triphlyg ei wirio. 1474 01:22:39,290 --> 01:22:41,550 Os nad yw eich cod yn unig yn arddangos i fyny ar y dudalen, 1475 01:22:41,550 --> 01:22:46,240 mae'n debyg gwall PHP, mae'n ddrwg gennyf. 1476 01:22:46,240 --> 01:22:48,570 >> Byth angen i chi edrych ar CSS os nad ydych yn dymuno gwneud hynny. 1477 01:22:48,570 --> 01:22:52,150 Ond ar ôl i chi orffen, gall fod yn yn beth bach o hwyl braf i jyst yn mynd yn 1478 01:22:52,150 --> 01:22:54,770 a llanast â'r paramedrau CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS a HTML yn enghraifft o fodel arddull rheolwr barn peth hefyd, dde? 1480 01:22:58,700 --> 01:23:02,150 Gallech gael tagiau arddull tu mewn elfennau HTML. 1481 01:23:02,150 --> 01:23:04,800 Ond os ydych yn fath o eu contractau allanol i CSS, 1482 01:23:04,800 --> 01:23:08,180 eu bod yn haws i olygu, a chwarae o gwmpas gyda, a chael hwyl gyda. 1483 01:23:08,180 --> 01:23:10,816 >> Trin CS50 cynorthwywr swyddogaethau fel blychau du. 1484 01:23:10,816 --> 01:23:12,940 Nid oes angen i chi ei wybod yn union beth rendr sy'n gwneud, 1485 01:23:12,940 --> 01:23:16,770 ond ymddiried ynddo i bob amser yn gwneud yr hawl beth yn dibynnu ar yr hyn yr ydych yn ei throsglwyddo, 1486 01:23:16,770 --> 01:23:17,690 pethau fel hyn. 1487 01:23:17,690 --> 01:23:21,040 A byddwn yn argymell gwylio walkthrough Dewi, 1488 01:23:21,040 --> 01:23:24,490 mynd drwy'r holl pethau, nid dim ond y todos, 1489 01:23:24,490 --> 01:23:26,960 ond yr ydych yn wir yn gallu trin y blychau fel y du. 1490 01:23:26,960 --> 01:23:29,280 Peidiwch â mynd rhain swyddogaethau chwilio am chwilod. 1491 01:23:29,280 --> 01:23:33,510 >> Ac yn croesawu dychweliad o'n Zamyla overlord. 1492 01:23:33,510 --> 01:23:34,010 Great. 1493 01:23:34,010 --> 01:23:40,430 >> A oes unrhyw gwestiynau terfynol cyn rydym yn fath o bownsio ar gyfer y diwrnod? 1494 01:23:40,430 --> 01:23:42,610 Ydw i'n dal i fyw? 1495 01:23:42,610 --> 01:23:44,700 Great. 1496 01:23:44,700 --> 01:23:47,120 Pobl livestream Hi. 1497 01:23:47,120 --> 01:23:47,620 Great. 1498 01:23:47,620 --> 01:23:50,260 A oes anymore cwestiynau? 1499 01:23:50,260 --> 01:23:50,760 Na? 1500 01:23:50,760 --> 01:23:52,884 >> Ac yna yr wyf yn meddwl ein bod da i fynd am heddiw. 1501 01:23:52,884 --> 01:23:55,550 'N annhymerus' ffon o gwmpas ychydig bach wedi hynny os oedd gan bobl gwestiynau 1502 01:23:55,550 --> 01:23:57,480 eu bod yn ofni gofyn ar y nant. 1503 01:23:57,480 --> 01:23:59,790 Ond fel arall, cael diwrnod da. 1504 01:23:59,790 --> 01:24:01,933