SAM LEVATICH: Croeso i adran ar gyfer yr wythnos hon. Nid wyf Andi. Andi wedi gostwng sâl heddiw, ac yr wyf yn wedi bod yn fath o alw i mewn ar y funud olaf i gymryd drosodd. Mae'n dymor y ffliw, felly gwnewch yn siŵr eich bod yn yn aros yn lân, golchi eich dwylo, a bwyta iach fel bod chi, hefyd, nid yn gaeth i'r gwely. Ond heb bellach ado, gadewch i ni ddechrau arni. Heddiw, rydym yn mynd i siarad am PHP ychydig bit-- sut PHP yn ymwneud yn HTML, sut y mae'n yn ymwneud â CSS, a rhai o'r we pethau a wnaethoch ar yr aseiniad diwethaf. Rydym yn mynd i siarad â ychydig bach am SQL a sut y gallwch weithio gyda chronfeydd data, sydd yn rhan eithaf allweddol P gosod 8-- P yn gosod 7. P yn gosod 7. Ac yna rydym yn mynd i siarad ychydig ychydig am sut mae barn rheolwyr yn gweithio a pham mae hynny'n athroniaeth tu ôl i rai tudalennau gwe modern a dylunio gwahanol. 'N bert lawer mae llawer o fathau o apps a cheisiadau efallai y byddwch yn llong yn defnyddio'r model hwn, fframwaith rheolwr barn ni, y byddwch yn defnyddio yn P yn gosod 7, felly byddaf siarad ychydig am y rheswm pam mae hynny'n mynd yn boblogaidd, pam ei fod yn bwysig ac yn braf. Ac yna byddaf yn olaf symud ymlaen at rhai awgrymiadau ynglŷn â mynd i'r afael â P a osodwyd 7. Ac os ydym yn cael amser dros ben ar y diwedd, gallwn ni ei wneud mewn gwirionedd rhai gweithio ar hynny gyda'i gilydd. Felly, PHP. Yn wir, efallai eich bod wedi sylwi this-- Nid oedd yn rhaid i chi blymio i mewn 'n sylweddol iddo-- ond P yn gosod 6 wedi cael rhywfaint o PHP cod sy'n oedd yn digwydd. Ac oherwydd PHP yn C-fel iaith, PHP, yn wahanol i HTML a CSS, yn iaith raglennu, tra HTML a CSS yn statig. Maent yn ieithoedd markup delio gyda steil a diwyg gweledol. PHP yn y fargen go iawn. Mae gan PHP dolenni, mae wedi conditions-- holl bethau sy'n hwyl am C. Mae ganddo ychydig o bethau sydd ychydig yn ychydig yn well nag C, sy'n byddwn yn gweld, ond yr wyf yn credu bod y ffordd hawsaf i siarad am y PHP yn unig i ddeifio i mewn. Felly, yr wyf i'n mynd i fynd yn iawn i mewn i'r DRhA yn y fan hon. Y peth cyntaf rydym yn mynd ei wneud yw edrych mewn gwirionedd ychydig ar rai o'r Cod PHP a oedd yn P yn gosod 6. Felly, y ffordd yr ydym yn ei wneud that-- cyn, yn y ffordd yr ydym yn rhedeg y gweinydd ar gyfer y cyfarpar oedd y byddai'n rhaid i ni type-- naill ai ddefnyddio eich rhoi ar waith neu weithredu y staff o server.c drwy fynd i mewn i cyfeiriadur a rhedeg server.c gyda naill ai ddim arguments-- felly dim ond ei alw ar y llu lleol, sef yr hyn yr ydych yn ôl pob tebyg wnaeth y rhan fwyaf o'r adeg-- ac yna fwydo yn directory-- gyda sydd i'w ddefnyddio fel ei gwraidd lle byddai'r wefan yn rhedeg, yn y bôn. Yr wythnos hon ar gyfer P yn gosod 7, fel y fawr fel ein cod ar gyfer server.c yw, mae yna bobl sydd eisoes wedi ysgrifenedig hyn pethau gwych drosodd ar CS50 sydd ag ychydig bach mwy o ymarferoldeb, rhaglen gweinydd sy'n gallu o ddelio gydag ychydig o mwy o'r cymhlethdodau sydd gennym chi helpu gweld yn y ddau P gosod 7 a P yn gosod 8. A'r ffordd yr ydych yn cychwyn y gweinyddwr yw at jyst yn teipio, "apache50." A chyn i chi wneud unrhyw beth, ydych am wneud yn siŵr nad yw Apache 50 yw eisoes yn rhedeg fel y mae ar fy beiriant, yr wyf yn gwneud i'w brofi. A ydych yn gwneud hynny drwy alw apache50. Stopiwch, a byddwch yn gweld ei fod yn rhoi'r gorau i y gweinydd gwe, os gallwch chi edrych yno ar waelod y ffenestr derfynell. Ac yna dim ond i ddechrau, rydym yn mynd i alw, "apache50 dechrau." Ac yna rydym yn mynd i fwydo iddo cyfeiriadur. Yn awr, gan ein bod am edrych ar rai o'r P yn gosod 6 cod ein bod wedi rhoi ar waith, Fi 'n weithredol gopïo ychydig bach o P gosod 6 cod i mewn i fy ffolder ei hun, y gallwch ei weld ar y chwith yno. Mae'n cael ei alw "yn rhan 8" ym mhob priflythrennau oherwydd fy mod yn jyst mor gyffrous i fod yn fyw-ffrydio'n heddiw. Felly os rydym yn cynnal hyn, dylai i gyd yn gweithio'n eithaf effeithiol. Mae'n dweud, OK, mae ein safle bellach ar gael yn y cyfeiriad y DRhA, 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. Fy holl mynegeion yn un mynegai heddiw. Felly, gallwn fynd at y cyfeiriad, os byddwch yn cofio, gan glicio yma ychydig botwm yn y dde uchaf. A byddwch yn cofio y cod hwn, a oedd yn ddigwyddodd pan aeth chi i mewn hello.php. A beth mae'r cod wedi ei gynllunio i wneud yw pan fyddwch yn teipio mewn enw Yma-- os byddwch yn dweud Sam oherwydd dyna fy name-- ac yr wyf yn clicio Dweud Helo, pryd aethom i'r dudalen nesaf, yr enw hwnnw oedd i fod i gael ei arddangos. Byddai'n dweud, "Helo, Sam" neu "Helo," beth bynnag enw chi roi i mewn iddo hyd yn oed er ein bod yn mynd i dudalen gwe hollol newydd. Ac mae hyn yn y math o beth y gall PHP wneud i chi. PHP yn gallu pasio data rhwng dwy dudalen ar y we. Mae hon yn dudalen hollol wahanol. Byddwch yn gweld y teitl yw "helo" yma. Mewn gwirionedd, mae ganddynt yr un teitl, ond yr wyf yn addo eu bod yn wahanol ar y we Tudalennau os edrychwn ar y ffynhonnell. A gallwch basio'r data sy'n gofnodi yn y maes testun, chi gyflwyno i'r nesaf dudalen sy'n cael ei alw i fyny, ac yna y data sy'n gallu fod yno yn ei ffurf bresennol. Nawr, nid ydym wedi rhoi ar waith eto hyn ein hunain, a oedd yn yr hyn yr ydym yn mynd i'w wneud ar hyn o bryd i didoli cael blas ar gyfer sut y PHP yn gweithio, ond mae'r syniad allweddol yw bod PHP-- gallwch fath o feddwl am y peth fel swyddogaeth. Rhywbeth y gall PHP gadael i chi Nid yw gall gymryd paramedrau eich bod mewnbwn i dudalen HTML drwy ddefnyddio PHP a ffurflenni, a gall basio hynny fel paramedrau i'r dudalen nesaf y mae'n llwythi i fyny. Yn yr achos hwn, rydym yn llwytho i fyny yma dudalen gyda'r botwm "Dywedwch helo". Ond am nawr, Fi 'n weithredol dileu rhywfaint o'r cod yn y hello.php oedd yn cael ei redeg a oedd mewn gwirionedd yn arddangos y "hello, byd "neu" helo, Sam "neu "Helo," beth bynnag oedd mewnbwn yn unig. Felly, ar gyfer hyn o bryd, rydym yn mynd i wneud hynny, yn y bôn. Rydym yn mynd i ail-greu hynny a hefyd yn ychwanegu ychydig mwy o ymarferoldeb, yn gwneud ychydig yn fwy ag ef, gweler beth PHP yn wirioneddol gallu. Felly yn gyntaf, gadewch i ni siarad am y ffeil, hello.php. Felly, os ydym yn chwyddo i mewn a Ychydig bit-- ac erbyn hyn rwy'n math o geisio sgrolio i gyd y ffordd yr around-- dyna ni. Byddwch yn gweld ei fod yn enw hello.php, ond y gystrawen ohono edrych fel ffeil HTML. Mae hyn oherwydd bod y PHP gwirioneddol yn y ffeil hon i gyd sownd rhwng y rhain cwestiwn blociau mark-caret. Popeth yn iawn yma Ystyrir cod PHP. A byddwch yn sylwi bod pan wnes sylw, byddwch yn gweld y cyfarwydd dau ymlaen slaes. Ac os byddwch yn galw i gof, yn HTML, os wyf yn fath sylw, mae'n edrych rhywbeth yn nes at hwn, sydd yn sylw yn HTML. Felly mewn gwirionedd popeth rhwng y ddau cromfachau ongl yn awr cod PHP, a oedd yn yn cael ei adlewyrchu yn y ffaith bod hyn yn symbol sylw bach ei droi'n sylw. Felly, bob tro y byddwch yn ysgrifennu cod PHP, hyd yn oed os nad oes cod HTML y tu allan iddo, mae bob amser yn mynd i fod hamgáu mewn cromfachau ongl hyn gyda marciau cwestiwn. Gallwch fath o feddwl am iddo-- sut i gyd y cod a oedd yn rhedeg yn eich rhaglenni C wedi'i hamgáu mewn prif, ddi-rym int, Brace cyrliog, diwedd y datganiad Brace cyrliog. A byddwch yn gweld braces cyrliog mewn PHP, hefyd, ond mae hyn yn fath o fel y prif ddull o PHP. Felly nawr, sut ydyn ni'n gwneud unrhyw beth yn PHP? Yn awr, PHP yn rhaglennu iaith sy'n iawn C-fel, ond mae'n gweithredu ar y we. Felly, un peth sy'n byddwch yn immediately-- un o'r pethau cyntaf y byddwch yn wir ddim gyda C Roedd chi'n hargraffu pethau allan, dde? Felly, yn C gwnaethom hynny gyda swyddogaeth printf. Rydym rhoddodd llinyn, yn ôl pob tebyg gyda llinell newydd, ac yna rydym yn dod i ben 'i ag a hanner colon. Felly, y ffordd yr ydym yn mynd i wneud hynny yn PHP-- gan nad yw'n hollol printf. Mae'n ychydig bach o wahanol gystrawennau. Y modd yr ydym yn argraffu pethau allan yn PHP yn yr ydym yn dweud, "adlais helo" neu "adleisio" unrhyw air. A bod yn cael yr effaith o wneud printf gyda llinyn, "helo." Ac mae'n ychwanegu llinell newydd iddo. Felly gadewch i ni ar hyn o bryd yn gwneud sure-- 'N annhymerus' chwyddo allan eto ychydig bit-- gadewch i ni wneud yn siwr bod y cod yn gweithio oherwydd bod efallai iawn yn dda fod yn bug yn y cod hwn y bydd yn rhaid i fynd i'r afael. Felly y gweinydd eisoes yn rhedeg. Felly, os ydym yn sgrolio yn ôl i lawr i'r gwaelod, yup, y gweinydd yn dal i redeg. Felly, os ydym yn unig tap ar hyn ychydig bach iawn Yma-- welcome-- dylem get-- wych. Rydym yn dal yn cael y "Dywedwch helo" deialog cyfarwydd, ond pan fyddaf yn teipio i mewn "hi," rydym yn gweld fe bod y testun "helo" yn wir hargraffu, sydd yn union fel y rydym yn disgwyl am fod yn adleisio yn PHP yn union fel datganiad printf. Felly, yn ôl at y cod, sut yn P yn gosod 6 wnaeth y cod dosbarthu rydych yn cael eu darparu yn ei gwneud yn fel y byddai PHP allbwn y peth yr ydych teipio i mewn ar y sgrin flaenorol? Ac i fath o archwilio pam mae hynny'n digwydd, rydym yn mynd i fynd i mewn i index.html, a oedd yn yw'r ffeil wreiddiol, y ffeil sy'n yn dangos i fyny ar y sgrin hon gyda'r botwm "Dywedwch helo". Byddwch yn sylwi fod yna yr holl bethau clasurol rydym wedi dod i'w ddisgwyl gan HTML fath fel y pethau hyn, tagiau hyn caeedig mewn cromfachau ongl, fel PHP ond heb y marciau cwestiwn, sy'n dangos yn beth arbennig i HTML. Mae gennym teitl, sy'n "helo." A byddwch yn sylwi bod fel y gwelsom, y teitl yw "helo" yn y ddau achos. Gadewch i ni newid hyn un i "yn dweud" dim ond er mwyn i ni gallu gwahaniaethu ein hunain lle yr ydym. Ond mae gennym gorff. Ac yna y darn diddorol, mae'r bit sy'n dangos i fyny yn y HTML, yn yr elfen hon ffurflen. Ac felly mae gennym ffurflen. Ac mae hyn yn allweddol. Mae hyn yn sut yr ydym yn gweithio gyda PHP. Mae'r paramedr gweithredu ffurflen yn dweud bod hello.php beth rydym yn mynd i anfon gwerthoedd yn y ffurflen hon i. Dyma lle rydym yn pasio y paramedrau, fel petai. Byddwch yn sylwi beth arall yma yw bod y dull yn "mynd." Mae dau brif dulliau a fydd yn yn defnyddio PHP i basio data rhwng tudalennau gwe websites--, rather-- yn yr aseiniad hwn. A'r dulliau hynny yn "mynd" a "post." Mae rhai cynnil gwahaniaethau rhwng get ac ôl y byddwn yn cael into-- ydym Bydd "mynd" i mewn, os mynnwch. Ond ar gyfer bob pwrpas a dibenion, ei gael ac ôl ill dau yn unig ffyrdd y byddwch yn pasio paramedrau gyda ychydig yn wahanol executions. Am y tro, rydym yn mynd i ddefnyddio ei gael oherwydd cael oedd yr hyn a ddefnyddiwyd yn wreiddiol yn y ffeil PHP P yn gosod 6. Ac mewn gwirionedd, os ydym yn mynd i mewn ac yn edrych cyn i ni wedi ei golygu unrhyw beth arall, Rydw i'n mynd i ddweud helo canlynol-- beth yw eich enw? GYNULLEIDFA: Elliot. SAM LEVATICH: O, diar. Nid wyf yn gwybod sut i sillafu hynny. Allech chi sillafu hynny i mi? GYNULLEIDFA: E-L-L-I-O-T. SAM LEVATICH: I-O-T? GYNULLEIDFA: Yeah. SAM LEVATICH: Perffaith. IAWN. Amcana i ddim yn gwybod sut i sillafu hynny. Mae'n ddrwg gennyf am hynny. Ond os ydym yn dweud "Say helo," nid yw'n nid yw'n mynd i ddangos i fyny ar y sgrin eto oherwydd ein haddasu y cod ychydig. Ond os ydym yn "Dywedwch helo" - Iawn, felly "helo" yn fan hyn. Ond os ydym yn cymryd yn nes edrych ar y URL ei hun, byddwn yn gweld ei fod yn dod i ben gyda hello.php? enw = Elliot. Felly, mae hyn yn ffordd o cyfathrebu i'r dudalen gwe nesaf y paramedrau yr ydym wedi pasio. Dywedasom enw = Elliot. A dyna yn y pen draw sut P gosod 6 mynediad y newidyn sydd gennym pasio yn trwy'r ffurflen. Ac mae hyn yn rhywbeth y yn arbennig i gais get. Mae cais get yn gwneud y paramedrau hysbys yn y URL y wefan. A byddwch yn cofio, hefyd, yn P yn gosod 6 bod chi roedd yn rhaid i ysgrifennu swyddogaeth a oedd yn ymdrin â'r ffaith bod y llinyn ymholiad Gallai bodoli ar ôl ffeil. Gallai fod marc cwestiwn wedi'i ddilyn gan y bôn unrhyw nifer o gymeriadau. A dyna'n union beth sy'n mynd ymlaen fan hyn. A'r rheswm oedd gennych i gramadegu hynny yn eich gweithrediad server.c yn P gosod 6 yw er mwyn i chi ddweud y cod PHP sy'n enwi = Elliot. Rydych angen i allu dosrannu hynny allan o'r URL fel bod y ffeil PHP dan sylw yn gwybod beth yr oedd yn delio â. Felly gobeithio y mae hyn yn rhoi y cymhelliant i server.c rydym yn awr yn bod yn symud ymlaen y tu allan i C mewn i PHP. Felly gadewch i ni mewn gwirionedd yn canolbwyntio ar gael mynediad i'r pethau pasio trwy gais get nawr yn y fan hon. Rydw i'n mynd i achub hyn. Doedden ni ddim yn newid unrhyw beth. Mae'n edrych fel mae gennym maes mewnbwn. Rydym yn gosod rhai eiddo, fel y gallwn wneud yn HTML. Mae'r rhain yn bethau syml. Nid oes angen y rhain arnom. Ond mae gennym AutoComplete i ffwrdd, sydd yn y bôn says-- y gwyddoch, pan fyddwch yn teipio pethau i mewn i'r we, weithiau mae'n ceisio llenwi'r hynny ar eich rhan. Felly ei fod yn beth 'n glws. Rydym yn awyddus i droi i ffwrdd ar gyfer y diben hwn. Yr oedd hwnnw'n benderfyniad CS50. Fel y gallwn ddileu os ydym eisiau. Autofocus jyst ffyn y cyrchydd yn y ffurf gywir ar y dechrau. Unwaith eto, heb fod yn rhy bwysig. Ond mae enw = "Enw" - mae'n ychydig anodd am ei fod yn enw ac enw. Ond gallai rydym wedi newid hyn i rywbeth arall. Ac yn wir, dyna yr hyn y byddwn yn ei wneud ar hyn o bryd. Byddwn yn dweud "person," sy'n yn fath o fel enw os yw person yn cael ei ddiffinio gan eu henw. Felly gadewch i ni gau'r hyn, ailagor ein gwefan ers ein gweinydd yn dal i redeg Apache 50, ac fe wnawn ni ddweud, helo, dyma Elliot eto. Pam lai? Helo. Ac os ydym yn mynd i fyny fan hyn, byddwn yn gweld yna yn lle enw = Elliot, mae'n dweud person = Elliot. A dyna ganlyniad uniongyrchol i'r ffaith ein bod newydd wedi newid enw = "person." Felly, mewn elfen mewnbwn ffurflen HTML, mae'r cae enw yw'r dynodwr gyfer y paramedr sy'n cael ei basio. Mae fel os ydych yn creu swyddogaeth "Ychwaneger" a gymerodd mewn dau gyfanrif a dywedasoch int a a b int. Byddai hynny'n enw, ac os oeddech am ffurf arall, a oedd yn y gallwn ei wneud yn unig gan gopïo a gludo, yna byddai gennym enw b. Felly nawr bydd gennym ddau baramedr sy'n cael eu pasio trwy gyrraedd y website-- nesaf i'r dudalen gwe nesaf, hello.php. A gallwn weld mewn gwirionedd hynny eto os ydym am. Dyma'r ffordd hawsaf i ddelio â y cod ar y we yn y DRhA, yn y bôn. Byddwch yn dechrau i fyny 'r gweinydd, ei gael rhedeg, ac yna bob tro y byddwch yn gwneud rhai newidiadau, dim ond yn agos bod ffeil yn unig i fod yn ddiogel. Gwasgu'r botwm yn ôl mae ychydig yn anodd oherwydd gallai llwytho cynharach fersiwn, nid yr un mwyaf diweddaru. Ac yna 'ch jyst chlecia eich botwm eto, pop dde up-- oh, ac erbyn hyn mae dwy ffurf. Ac felly os ydym deipio un peth ym mhob one-- "Hirshhorn Jason," ar gyfer instance-- yr ydym yn dweud helo. Rydym yn edrych i fyny ar ein baramedrau. Mae'n edrych fel sydd gennym, fel y disgwyl, a = Jason a b = Hirshhorn, sy'n cynrychioli'r ddau baramedr ein bod yn trosglwyddo i'r swyddogaeth hon. Felly nawr gadewch i ni mewn gwirionedd yn cael i gweithredu'r bod ymarferoldeb yr ydym Roedd yn P yn gosod 6. Felly, ar hyn o bryd rydym yn unig yn adleisio helo. Ac nid dyna'r ddefnyddiol iawn. Rydym yn awyddus i adleisio rhai newidyn a gafodd ei drosglwyddo i ni. Ac rydym yn gwybod enw'r newidyn hwn. Mae gennym ac yr ydym wedi b. Felly, gallem ddewis adleisio'r naill ai un. Ond sut ydyn ni'n gael gafael arno? Wel, mae yna rai newidynnau byd-eang yn PHP. Ac yr wyf i'n mynd i ysgrifennu nhw yn y sylwadau yma. Y ddau rhai pwysicaf yn get a'i phostio at ein dibenion ar hyn o bryd. Mae'r rhain yn y rhesi neu, dechnegol, mae'r geiriaduron lle mae ein newidynnau ein bod gan fynd heibio i'r dudalen gwe byw nesaf. A byddwn yn fuan yn gweld sut i'w defnyddio. Nodyn byr arall am cod PHP ac mae rhai manylion penodol iddo-- yn C, i ddatgan newidyn neu i ddefnyddio newidynnau, oedd gennych yn gyntaf i ddatgan eu cyfer. A beth oedd gennych i'w wneud pan fyddwch yn Datganodd ohonynt oedd yn dweud int a neu b torgoch. Bu'n rhaid i chi ddatgan y mathau o hyn newidynnau cyn i chi eu creu. PHP-- nid oes angen i chi wneud unrhyw o hynny. Nid yw PHP yn gofyn am y math o amrywiol. A'r ffordd yr ydych yn creu variable-- yn hytrach na dweud int, torgoch, string-- sydd mewn gwirionedd torgoch *, wrth i ni know-- yn hytrach na gwneud popeth o hynny, gan fod popeth yw o'r un math, typeless, allwn yn unig defnyddio un cymeriad, a oedd yn yw'r arwydd ddoler. A byddwch yn gweld ei fod eisoes yn neidio i fyny, ychydig o bethau AutoComplete. Ac mae'n dweud bod _GET a _POST Mae dau opsiwn sydd ar gael imi i mi. Mae rhai o'r rhain bethau eraill yn cael eu newidynnau byd-eang eraill yn PHP y byddwch yn eu defnyddio drosodd cwrs P yn gosod 7. Am nawr rydym ni'n mynd i canolbwyntio ar get a post. Ond mae hyn yn ddefnyddiol beth y mae'r DRhA yn ei wneud lle unwaith y byddwch wedi teipio yn y arwydd doler, bydd yn dechrau llenwi newidynnau byd-eang neu newidynnau ydych wedi diffinio'n barod. Felly, os ydych yn awyddus i ddiffinio newidyn enw "llinyn," gallech jyst chyflea 'cyfartal i "hi." Ac mae'n bôn mor syml â hynny. Ac yna y gallem ei wneud rhywbeth fel "adleisio $ string." Dylai'r DRhA yn taflu rhywfaint o gwallau os wyf yn gwneud unrhyw beth o'i le, felly gobeithio rwy'n ei wneud popeth yn iawn. Ond mae bugs bob amser yn codi. Peth anodd arall am PHP yw nad yw'n llunio. Felly, gyda rhaglenni C, fyddech chi'n ei wneud y drefn ddyddiol o- y bôn, fyddech chi'n eu gwneud golygiadau i eich cod, byddech yn ei gadw, ac yna y byddech yn ei gwneud yn, lle'r oedd gwneud y cam oedd yn galw y compiler, chlang, i wneud eich cod, testun hwn ffeil, i mewn i gweithredadwy. PHP yn C-fel, ond mae'n ddienyddio ar y hedfan gan eich porwr gwe. Felly does dim ffordd i wybod. Gwneud Byddai taflu rhai camgymeriadau yn ddefnyddiol, dde? Byddai'n hoffi, byddwch yn Nid oedd yn datgan newidyn hwn cyn i chi wedi ceisio ei ddefnyddio. Rydych yn gwneud hyn i gyd segfault stuff-- drwg, segfault, pob math yna o amseroedd hwyl a ddaeth gyda'r gwneud. PHP yn gleddyf dwbl-ymyl oherwydd ni fyddwch yn cael gwallau hynny, ond sydd hefyd yn golygu na fyddwch yn gwybod 'n sylweddol beth sydd o'i le ar eich rhaglen os ydych yn unig redeg ac nid yw'n gweithio. Ond dylai'r dadnamydd nodi rhai pethau bach, gobeithio, yn ddefnyddiol syntactically y gallwch drwsio. Felly nawr os ydym yn mynd dros canlynol-- dweud, gadewch i ni gau'r hynny. Ailagor. Ac rydym yn ôl i fan hyn. Felly, mae gennym newidyn ac yn amrywiol a b. Ac ni fydd y rhain yn y pen draw o bwys. Byddwn yn galw h a g iddynt am ddim rheswm penodol. Ac rydym yn dweud helo. Nawr mae'n edrych fel ein llinyn "Hi" yn wir argraffu. Rydym yn creu newidyn enw "Llinyn," ei osod yn gyfartal i "hi." Sylwch nad oedd yn rhaid i ni wneud malloc neu wneud amrywiaeth cymeriad. Yn PHP, oherwydd bod newidynnau yn typeless, llinyn yr un fath ag yn torgoch am bob pwrpas. Gallai hyn fod yn "hi." Gallai hyn fod yr union k cymeriad. Gall hyn fod yn rhif 1. Ac nid yw'n poeni. Nid yw PHP yn poeni am y math o eich newidyn. Neu, mae'n ei wneud gofal. Mae'n gofalu pan fyddwch yn ceisio a gwneud pethau ag ef, ond nid yw'n ofal mewn y cam datganiad. Ac yn union fel y gallwch yn C, gallwch datgan llinynnau ar y pentwr fel hyn er bod dweud "stac" yn ychydig yn tipyn o gamarweiniol posibl wrth rydym yn sôn am PHP. Ond nid oes rhaid i ni boeni am hynny. Felly rydym yn cael ein llinyn "Hi," ac yr ydym yn adleisio llinyn. Felly nawr rydym wedi ei drafod newidynnau. Felly nawr mae angen i ni siarad am get a bostio a pherfformio y peth olaf mae hynny'n sydd eu hangen i 'n sylweddol fynd yn ôl hyn i fyny i ymarferoldeb y P a osodwyd 6. Felly, ar hyn o bryd rydym yn adleisio y llinyn, ond rydym oes gan newidynnau hyn gael a post. Ac am ein bod yn eu defnyddio y dull ei gael, mae'n Ymddengys naturiol bod ein newidyn sy'n mae gennym ddiddordeb mewn, yn aab, Bydd yn cael ei lleoli yn y rhesi neu geiriadur, yn dechnegol gael. Felly, os byddwn yn sefydlu ei gael fel hyn gyda'ch groups-- bwysais fynd i mewn ac nid oedd yn ei hoffi iddo-- ond yma rydym wedi ei gael. Ac felly gael eisoes yn bodoli. Felly, gallwn eisoes yn ddechrau mynediad rhai o elfennau o get. Os ydym yn cael, cystrawen hon ar gyfer araeau yn PHP yn iawn C-debyg. Rydym wedi ein dau cromfachau sgwâr. Felly, os ydym yn dweud ei gael mewn normal array, gallem gael mynediad mynegai 0, mae'r mynegai yn gyntaf. PHP yw sero mynegai. Gallem ddweud sero, un, pethau two-- fel hyn. Ac yr wyf wedi bod yn dweud bod yn cael yn dechnegol geiriadur. Felly beth PHP yn ei wneud o dan y cwfl, sydd yn ychydig yn brafiach na C, yw ei fod eisoes yn rhoi i chi rai ymarferoldeb geiriadur, sy'n yw tablau hash mewn gwirionedd, neu'n ceisio, honnir. Neu, yn dechnegol mae'n Gallai fod yn cynnig hefyd. Ond PHP yn gweithredu tabl hash, sy'n ffurfio geiriadur effeithiol. Ac felly rydym yn gwybod yr enw o'n newidiol, dde? Mae'n cael ei basio yn y llinyn ymholiad gan PHP. Mae gennym = h a b = g ble a b yn enwau'r newidynnau. Felly, y ffordd y gallwn gael mynediad i'r gwerth sy'n cyfateb i'r allwedd yn ein geiriadur yn dim ond drwy ddweud _GET_GET ["yn"]. Felly, yn awr mae gennym _GET ["yn"]. Ac os ydym yn unig yn cymryd lle y tu mewn ein adlais, os ydym yn adleisio _GET_GET ["yn"] - a chawn weld a yw'r dadnamydd taflu unrhyw wallau am this-- byddwn yn eithrio bod a chau hyn allan. Agor i fyny. Felly rydym yn ei wneud hawl yn unig erbyn hyn, felly ni ddylai b bwys. "Hi" a "him" - "Hum." "Hi" a "hymian." Swnio'n dda. Ac mae'n hargraffu "Hi," sydd yn wallgof. Ond dyna'n union beth oedd yn digwydd yn P yn gosod 6. Yn y bôn, pa P yn gosod 6 Roedd doing-- adlais helo, name-- lle ei fod wedi cael Enw amrywiol ac 'i jyst yn gofyn i chi deipio bod ychydig o destun. Roedd yna hefyd rai Cod ychwanegol lle mae'n cynnwys os ddatganiadau, y gallwn ei wneud ar hyn o bryd. Gallwn ddweud os yn bodoli, a oedd yn yn swyddogaeth o fewn PHP, _GET Gyda'r tanlinellu, "enw" - sydd yn y bôn dweud, "Os enw wedi cael ei llenwi i mewn" am fod gallem fod wedi dim ond clicio ar y botwm i gyflwyno'r ffurflen heb teipio i mewn i unrhyw beth y maes hwnnw. Ac rydym yn lapio hynny yn ein bresys cyrliog gyfeillgar. Gallwn gael datganiad arall. A dyna i gyd o fewn yr ongl PHP braced, gofynnod, bachyn ongl, os mynnwch. Ac yn awr byddwn yn gweld os bydd hyn yn gweithio. Rwy'n cadw yn aros ar ei gyfer i debug ac yn crap arnaf, yn y bôn, ond nid oes ganddo eto. Efallai ei fod yn awr yn am fy mod yn siarad am. Yup. Oedd, mewn gwirionedd. Felly, nid oes dim yn dangos i fyny. Mae hynny oherwydd rhywbeth o'i le a ysgrifennais yn y cod PHP. Ac yr wyf yn sôn am y debugging yn ddyrys oherwydd yn PHP, rydym yn Nid oedd llunio ei llaw ac nid oedd y casglwr yn ei hoffi, dyma lle mae eich camgymeriadau yn cael eu. Ond beth y gallwn ei wneud yw-- gwneud pobl yn cofio sut i edrych ar rwydwaith gwahanol ceisiadau sy'n PHP-- neu bod gwefannau anfon? [? Malin?] Yn gwneud hyn yn darlithio unwaith neu ddwy. Chi gofio lle rydym yn mynd i ddod o hyd y gwahanol ddyledion a 200 OKs, i gyd codau hyn sy'n cael eu hanfon drwy HTTP o dudalen gwefan hon i dudalen we? A oes unrhyw un yn cofio lle rydym yn mynd i wneud hynny? GYNULLEIDFA: Tudalen Source. SAM LEVATICH: ffynhonnell Page. Yn union. Os byddwch yn mynd i Page Source-- berffaith. Felly Page Ffynhonnell tynnu i fyny yr arolygydd. A dwi'n defnyddio Safari. Yn ôl pob tebyg llawer ohonoch fydd yn defnyddio Chrome neu Firefox. Ond ar yr amod eich bod yn mewn unrhyw browser-- modern ac mae croeso i ddilyn ar hyd os ydych yn dymuno. Gallwch deipio i fyny cod hwn neu dim ond yn edrych y tu mewn i'r P set 6 cyfeiriadur ar gyfer rhai pethau tebyg. hello.php yw'r hyn rydym yn bryd yn gweithio ar efelychu. Felly mae yna amrywiaeth o tabs. Gallwn edrych ar yr holl adnoddau. Gallwn weld y cod ffynhonnell. Felly, yn edrych fel nad oedd yn cael corff yn y gorffennol yn y diwedd. Mae'n dod o hyd gamgymeriad yn PHP ac mae'n rhoi'r gorau i lwytho'r dudalen we gyfan. Nid ydym yn hyd yn oed gael i ben tag ar gyfer HTML neu unrhyw beth. Ac os ydym yn edrych ar y rhwydwaith, y gallwn weld ein bod yn cael eich anfon cais. Mae hyn yn y parth. Mae hyn yn y cyfeiriad. Mae'n ddogfen. Rydym yn defnyddio'r dull get. Ac mae'n goch. Neu, yr oedd yn goch pan fyddaf Nid oedd yn dewis hynny. Sut ydw i'n dad ddewiswch hyn? Wel, roedd yn goch. Gadewch i mi adnewyddu. Ceir y mae. Nawr mae'n goch. Felly mae'n goch, sy'n golygu mae'n methu, sydd yn ddrwg. Felly gadewch i ni edrych ar pam ei fod yn methu. Felly, i gyd y gall y Page Ffynhonnell yn y bôn yn dweud wrthych beth yw eich nad oedd yn gweithio, y gallwn eisoes weld. Felly mae yna byddai yn ddelfrydol fod yn offeryn mwy defnyddiol. Ac mae rhai estyniadau porwr sy'n eich galluogi i dadfygio PHP, ond nid ydym yn mynd i yn ysgrifennu tunnell o PHP, felly mae'n debygol jyst gorau i edrych drwy eich cod yn ofalus a dim ond gwneud yn siwr bod nid yw'n gwneud unrhyw beth arall. Felly, gadewch i ni weld os fformat hwn os datganiad yw lle mae'r broblem. Rwyf am i lwytho bod yn ôl i fyny yma. Helo, hi. Felly mae 'na broblem yno. Felly, ar gyfer gystrawen gywir o PHP, PHP yn mynd i fod yn C-fel yn y byddwch yn gweld dolenni. Byddwch yn gweld os ddatganiadau. Byddwch yn gweld holl ffrindiau yma eich bod wedi dod yn gyfarwydd gyda dros y cwrs o hyn semester CS50. Ond y ffordd orau i ffigwr sut i gwneud rhywbeth yn PHP yw Google iddo neu i edrych ar rai enghreifftiau o god PHP oherwydd eich bod yn gwybod y functionality. Rydych yn gwybod beth y gallwch wneud gyda'r rhaglen. Gallwch ddolen. Gallwch dolen gymaint o weithiau ag y dymunwch. Gallwch dolen ym mhob math o wahanol ffyrdd. Gallwch greu swyddogaethau. Gallwch greu swyddogaethau y yn galw swyddogaethau, swyddogaethau eraill hynny galw eu hunain. A bod gennych enwau ar gyfer y cysyniadau hyn. Rydych chi wedi got recursion, dolenni, os, llifoedd rheoli eraill. Ac felly Google yn eich ffrind gorau. Hyd yn oed yn dweud, "PHP os datganiad "ac yna chi helpu fod tunnell o swyddi gyda atebion i bobl eraill sydd wedi cael cwestiynau tebyg i chi, sy'n dechrau allan gyda PHP ac maent yn chwilfrydig am beth cystrawen. Oherwydd ein bod yn cael y moethus o fod yn gallu edrych ar y cod yn P set 6, rydym mewn gwirionedd yn tynnu i fyny ac i weld bod OK, dyma rhywbeth diddorol. Felly, mae hyn yn beth mewn gwirionedd yn edrych fel yn P yn gosod 6. Felly, os ydym yn mynd drwy hyn, gallwn weld bod rydym wedi got sawl un o'r rhain ychydig Darnau question mark PHP-debyg. Ac nid oes braces cyrliog. Mae yna colon. Ac mae cyrliog bresys yn PHP, ond mae hyn yn fformat a ffordd o wneud PHP sy'n gweithio'n dda gyda HTML oherwydd fel y byddwch yn gweld, rydym yn cau'r rhwyd oddi ar y rhain PHP bits-- y elses ac mae'r IFS a phob un that-- ac yna rydym yn thraw yn HTML y tu mewn iddynt tra'n parhau i ddilyn y llif rheoli a nodwyd gan PHP. Felly, Im 'jyst yn mynd i Taith gerdded yn gyflym drwy hyn oherwydd ei fod yn llawer o'r un cysyniadau ein bod yn ei wneud o'r blaen. Mae gennym os nad wag, cromfachau, _GET_GET ["enw"]. Mae hyn i gyd yr un fath bethau. Rydym yn defnyddio'r geiriadur _GET sy'n PHP yn anfon ar gais o ffurfiau, oherwydd ei fod yn y paramedrau gweithredu, ac mae'r dull yn ei gael. Ac yna sy'n dod i ben hynny. Mae'r colon yn arwyddocáu i ddim ond gwneud hyn os yw'r datganiad yn gwerthuso os bydd i wir. Mae'n debyg i brês cyrliog. Ac yn wir, mae'n Brace cyrliog mewn ieithoedd eraill fel Python, y gallech ddod ar eu traws os ydych yn unig wneud hynny ar gyfer eich prosiect terfynol. Ac yna y llinell hon, helo. Yna, mae gennym y peth rhyfedd. Mae gennym fwy cromfachau. Does dim HTTP there-- neu PHP, mae'n ddrwg gennyf. Ond mae 'na arwydd cyfartal. Ac yna mae gennym swyddogaeth, htmlspecialchars (_GEThtmlspecialchars (_GET ["enw"]). Mae hyn yn fath o fel mwy Fersiwn uwch o adlais. Fel yr ydym wedi adleisio fel ffordd i argraffu pethau allan yn PHP. Mae hon yn swyddogaeth sy'n a ddiffinnir yn PHP sy'n Bydd ymdrin â rhai mwy cas cymeriadau a gwerthoedd beit y gallech ei basio. Mae bob amser yn fwyaf diogel i ddefnyddio hyn. Ond adlais fydd yn gwneud y gwaith jyst ddirwya os nad ydym yn delio gydag unrhyw beth yn rhy gas. Ac felly mae hyn yr un Effaith y bôn, pethau hyn yn rhwng y cwestiwn marciau sydd ar werthuso gan PHP. htmlspecialchars dychwelyd HTML 'n glws Gwerth printiedig _GET_GET ["enw"], h.y. beth bynnag y byddwn teipio yn y ffurflen. Ac yna bydd yn dweud helo, gofod coma, ac yna hynny. Mae hynny'n holl beth rhwng bracedi ongl bydd yn cael ei disodli gan ba bynnag htmlspecialchars rhoi allan. Felly dyna yn y bôn tebyg at yr hyn rydym yn ei wneud. Ac mae gennym ddatganiad arall sy'n helo byd, sy'n gwneud synnwyr. Felly nawr gadewch i ni fynd yn ôl at ein cod a gweld exactly-- oh. Dywedais yn bodoli, nad yw'n yn beth yr ydym am ei wneud. Roeddem yn awyddus i ddweud nad wag. Ac felly dylai hyn weithio ychydig ychydig yn well, nid _GET_GET gwag ["enw"]. A bod Brace cyrliog cyd-fynd Brace cyrliog. Rydym wedi cael ein bresys cyrliog yma. echo helo _GET ["enw"]. Gadewch i ni weld os yw hyn yn gweithio ychydig yn well. Rydym yn dal i redeg ein gweinydd. Helo Jason. Helo Jason. Ac fe weithiodd y tro hwn. Ac felly dyna brawf eich bod yn gallu wir Defnyddiwch y braces cyrliog eich bod yn gwybod a chariad yn y cod PHP yn HTML. Mae'r cod PHP a ddarperir i chi yn pset 6-- pset 6-- yn cynnig ffordd arall o gwneud yr un peth. Felly, yn awr mae gennym y pŵer. Mae gennym y swyddogaeth i weithredu y cod PHP a welsom yn pset 6 gan ein hunain, yn y bôn. Cyn imi symud ymlaen, beth yw rhai o'r gwestiynau sydd gennych ar hyn o bryd? Ydw [Anghlywadwy]. GYNULLEIDFA: Felly, yn y fersiwn yn pset6, pan fyddwch yn rhedeg y peth, mae 'na lle. A gallaf weld ble mae'r gofod yn ar ôl y coma. [Anghlywadwy] cychwyn y braced agored. Sut ydych chi'n ymgorffori gofod mewn y ffordd yr ydych yn ysgrifennu eich codau hun? SIARADWR: Mae hwnnw'n gwestiwn da. Ac felly gadewch i ni chyfrif hynny allan. Felly dyna gwestiwn da iawn ac yn un nad oeddwn yn eu hystyried. Ond gadewch i ni wneud hynny gyda'i gilydd. Felly, yn gyntaf oll, yr hyn Rwy'n gwneud gyda adlais yw pan rydym yn unig yn adleisio helo, yr allbyna helo. Os byddwn yn adleisio yn awr mae hyn yn cael ar wahân llinell, gadewch i ni edrych ar yr hyn sy'n digwydd. Felly, rydym yn cliciwch yma. Rydym yn cadw dweud, hi Jason. Felly unwaith eto, nid oes gennym y gofod hwn. A dyna oherwydd, yn PHP, pan fyddwn wedi adlais, ni waeth faint o spaces-- Na, nid yw'r V-- ni waeth faint o leoedd yr ydym yn eu rhoi ar Yma-- os ydym yn awr yn llwytho hynny i fyny eto, hi Jason. Yeah, gweler, bawb lleoedd got fwyta i fyny. Ac mae hynny'n rhywbeth y y swyddogaeth adlais yn ei wneud. Felly, i ofalu am hynny lle, ac mae hyn yn un o'r rhesymau pam nad ydych yn defnyddio adlais ac rydych yn ei ddefnyddio htmlspecialchars yn lle hynny. Rwy'n chwilfrydig beth fyddai yn digwydd os byddwn yn gwneud hyn lle rydym yn amgáu gofod mewn llinyn. Dydw i ddim yn onest yn siwr beth fydd yn digwydd pan fyddaf yn gwneud hyn. Felly dyna un ffordd. Dyna un ffordd i gymryd gofal ohono. Os ydych yn lapio y lle yn llinyn, yna bydd y gofod Bydd cynnyrch 'n glws gan adlais. Y peth mwyaf diogel i'w wneud yw i wneud htmlspecialchars. Dyna bob amser yn y bet ddiogel. Ond yn awr mae gennym ffordd o wneud 'i ag adlais os oes angen. Ac yn yr un modd, y gallwn adlais llinellau newydd, yr holl math o bethau ydych yn gyfarwydd yn ei wneud yn PHP. Unrhyw un arall, beth yw'r mwyach Cwestiynau y mae pobl eraill yn cael yn y fan hon am PHP? Os yw pobl yn dangos i fyny ychydig yn hwyr, Rwy'n hapus i aros ar ôl ychydig ac yn siarad am rai o'r dechrau. Ac mae'n hefyd yr holl livestreamed, ac archif, sydd yn wallgof. Beth bynnag, felly yn awr gadewch i ni wneud rhai stwff mwy datblygedig gyda PHP. Ac un o'r pethau cyntaf i chi eu cyflwyno i mewn oedd C ar gyfer dolenni. A PHP Mae gan fwy pwerus ar gyfer a elwir yn ddolen y ddolen foreach. Ac mae'n edrych fel this-- ar gyfer pob wag fel cromfachau gwag, cyrliog, gwneud y peth. Felly, mae hyn yn y bôn yn llaw-fer. Gweler, mae'r i ddolen fel adeiladu cystrawennol Dyfeisiwyd yn C ac mewn gwasanaeth iaith a phethau yn hoffi. A ddyfeisiwyd yn C, yn union, fel llaw-fer am lawer o'r mathau o dolenni y byddai pobl yn gweld. Fel pan fyddwch yn ysgrifennu dolen, yno yn aml yn gam initialization ddienyddio i'r dde ar y dechrau, mae cyflwr lle byddai'r ddolen stop-- a dyna y nodwedd bod yn unig mewn cylch tra, neu bod sbel wedi union dim ond bod feature-- ac yna yn gam incrementation ar y diwedd. Ac felly byddech yn aml yn cael eich hun ysgrifennu cod fel y canlynol. Rydw i'n mynd i ddileu rhywfaint o hyn. Ond os ydym yn ailadrodd trwy cymeriadau mewn amrywiaeth, er enghraifft, fel rydym wedi got amrywiaeth o gymeriadau. Mae'n ddrwg gennym i ddod yn ôl C. wyf yn gwybod, oeddech yn meddwl y cawsoch eich gwneud. Ond dim ond at y diben o PHP dysgu, yr wyf yn addo. Felly, os ydych got a str torgoch o hyd 8, a gadewch i ni yn dweud y mae'n ei ddweud Hellooo gyda null llusgo. Great, felly dyna ein llinyn. Ac yna rydym wedi cael dros ddolen. Mae gennym int fi yn dychwelyd 0. Ac rydym am i adael pan str o Nid fi hafal cyfartal i null, am ein bod yn ymadael pan fydd yn hafal null. Ac yna rydym yn ei wneud i ++ ar bob pwynt yn y ar gyfer ddolen. Gwneud rhywbeth â str o i. Felly y fformiwla sylfaenol oedd, roedd gennym amrywiaeth hwn ein bod yn yn awyddus i drin fel elfennau ar wahân. Ond yr hyn roedd rhaid i ni ei wneud yw ein bod wedi gorfod yn y bôn yn creu cyfanrif ar wahân newidyn oedd yn cyfrif i fyny bob amser i ni fynd trwy'r ddolen. Ac yna byddai'n rhaid i ni yna yn galw strstr [i] pan yr hyn yr ydym yn wir am ei wneud yn unig yn mynd cymeriad gan gymeriad, dde? Nid ydym am i gynyddiad gael cyfanrif ac yna defnyddiwch y cyfanrif i gael gafael ar bob cymeriad yn unigol. Rydym yn awyddus cymeriad gan cymeriad. Ac felly ar gyfer pob ddeallus cyfrifo bod i ni. Os oes gennym amrywiaeth, a oedd yn gallwn ddatgan yn PHP fel just-- os oes gennym newidyn alw, gadewch i ni ei alw'n amrywiaeth. Mae gwyrthiau o ddim teipio, 'i' yn union fel unrhyw newidyn arall. Dim ond arae. Ac mae gennym ychydig o [Anghlywadwy] fel 1, 2, 3, dim ond rhyw fath o amrywiaeth ymgychwyn. Mae'n iawn, nid yw'n hoffi fy foreach. Ond os ydym yn foreach-- mewn gwirionedd Yr wyf yn teipio mai ychydig o'i le. Mae dwy ffordd o wneud dolen foreach. Mae y gystrawen yn a fel chystrawen. Ac rydym yn mynd i'w wneud cystrawennol yn gyntaf, nid fel. Dyna fy camgymeriad. Num Felly foreach yn array, adlais num. A PHP yn gweiddi ar fi am ryw reswm. Mae'n dod o hyd i annisgwyl mewn mewn rhywbeth, sydd yn ychydig bach o trafferthu. Ond byddwn yn chyfrif i maes pam y mae mewn munud. Felly nid fel hynny. Gadewch i ni geisio defnyddio'r fel. Mae'n well gan y gan gystrawen yn ymddangos. Felly, gadewch i ni wneud amrywiaeth foreach fel num. Felly ychydig o eglurhad o'r hyn a ddigwyddodd yn unig yw'r fel gystrawen yn saying-- yn dda yn gyntaf, gadewch i ni edrych ar beth mae hyn yn argraffu. Felly, rydym yn agor ein IDE. Rydym yn mynd yma. Yr ydym yn dweud, Helo Jason. Ac yr oedd 123, a oedd yn cynnwys y rhesi yr ydym yn ei greu i fyny top. Felly blymio i mewn i hyn dolen foreach, mae gennym newidyn o'r enw arae sef casgliad o tri rhif. Ac yna rydym yn ei wneud foreach amrywiaeth fel num, adlais num. A dyna mwy greddfol nag ar gyfer tocio. Rydym yn dweud, gan drin pob un y pethau yn y casgliad fel num, Rwyf am i chi roi num mi. A dyna yn union beth mae'n ei wneud. PHP yn cyfrifo bod pan fyddwch yn dweud array foreach, ac rydych yn delio gydag amrywiaeth, beth ydych yn mynd i eisiau ailadrodd drosodd yw'r cymeriadau yn y array, yw'r ints yn y array, yw'r elfennau yn y rhesi. Ac mae'n gadael i chi storio newidynnau hynny fel num, ac num na jyst allbwn ar unwaith yn hytrach na dweud, Mae gen i newidyn enw i, a yna rwyf am i strstr allbwn [i]. Ac felly sy'n ein galluogi i wneud pethau oeri. Fel y bôn nid oes raid i ni greu newidynnau hyn fel fi ac yn gwneud popeth y pethau incrementation ar y diwedd. PHP yn gofalu am hynny i gyd ar eich rhan. Felly nawr gadewch i ni siarad am foreach fel mae'n berthnasol i ein geiriadur _GET. Felly, byddwn yn gwneud sylwadau hyn allan yn gyflym. Felly, rydym wedi ein amrywiaeth _GET. Rydym wedi newidyn hwn. Ac 'i' got rhai pethau ynddo. Ar hyn o bryd, dim ond un newidyn cael eu trosglwyddo iddo, sydd yn enw. Ond os ydym gwasgwch Enter, yn awr gallwn gael dau newidyn. Gallwn gael enw ac oedran, er enghraifft, os ydym am gael y oedran a hefyd enw person, yn rhyfedd ddigon. Felly nawr _GET yn mynd i fod yn Geiriadur gyda dwy elfen, gyda dau bâr gwerth allweddol. Ac mae'r key-- cyntaf Rydw i'n mynd i ysgrifennu hyn un i fyny ar y bwrdd hefyd. Rydym wedi ein geiriadur yn _GET. Mae'n ddrwg gennym, 'i' ychydig yn anodd gweld. Ond y tu mewn ein geiriadur rydym wedi enw, sydd yn mynd i fod yn rhywbeth ein bod yn rhoi. A bydd yn rhaid oed, sydd hefyd mynd i fod yn rhywbeth yr ydym yn ei roi. A hon yw'r gyfanrwydd o ein geiriadur. Felly, 'i' got dwy elfen ynddo. Ac felly am fod foreach dolenni yn smart, rydym yn Efallai y meddwl, ac yn gywir Efallai meddwl bod foreach Gall ailadrodd drwy hyn geiriadur, argraffu gwerthoedd a roddir yn ôl enw ac oedran. Felly gadewch i ni mewn gwirionedd yn gwneud hynny. Gadewch i ni adeiladu dolen foreach. Ac rydym yn mynd i wneud am _GET fel. Ac rydym yn mynd i wneud y canlynol. Felly, gadewch i ni weld beth fydd yn digwydd os byddwn deipio gair yn unig, ac yna dywedwch gair adlais. Rydym ni hefyd yn mynd i adleisio llinell newydd dim ond er mwyn ei gwneud yn ychydig yn gliriach, beth sy'n Digwydd. Felly, gadewch i ni weld. Dyw hi ddim yn rhoi unrhyw wallau mi. A byddwn yn cau'r hyn. Ar ein gwefan, rydych yn mynd i fod yn ei wneud mae llawer o hynny yn ystod y pset7. Felly, rydym yn dweud fy enw i yw Sam. Mae fy oedran yn 45. Nid yw'n. Ond mae'n printiau allan, yn ôl y disgwyl, Sam 45. Ac felly byddwch yn sylwi bod pa dolen foreach did-- yma, gadewch i ni fynd yn ôl at hynny, felly mae i fyny ar y board-- rydym yn cael _GET fel gair. Ac yr oedd pedwar peth yn _GET. Ond dim ond argraffu dau beth. foreach, sef ei hunan cudd-wybodaeth, cymryd yn ganiataol bod yr hyn yr ydym eisiau mewn gwirionedd Roedd y gwerthoedd, nid yr allweddi. Ond mae yna ffordd y gallem argraffu allan yr allweddi yn ogystal, os ydym eisiau. Os oeddem am wybod hefyd beth Galwyd newidynnau hyn, mae ffordd yr ydym yn gael mynediad hwn yn ogystal. A'r ffordd i fath o wneud hynny, er mwyn i ni ddweud, yn gadael 'n sylweddol rhannu i mewn i barau gwerth allweddol. Felly, gadewch i ni weld beth fydd yn digwydd yn awr. Felly mae gennym allweddol. Mae gennym werth. Rydym wedi newydd arall lein ar gyfer darllenadwyedd. A gadewch i ni weld beth sy'n digwydd pan fyddwn yn gwneud hyn nawr. Nid wyf yn gwybod pa mor hen yw Jason. Jason 15. Felly mae gennym enw Jason, 15 oed. Felly roeddem yn gallu cael mynediad i'r allwedd a pharau gwerth y geiriadur hwn dim ond drwy ddweud pwyntiau yn allweddol i werth. A dyna yn cystrawennol foreach bit siwgr sy'n caniatáu i gael mynediad at bethau yn y geiriadur. Felly gobeithio y mae hyn yn pwysleisio fath o grym y ddolen foreach. Gallwch 'n bert lawer tafliad unrhyw beth sy'n ymddangos iterable, fel unrhyw beth sydd wedi lluosog elfennau fel amrywiaeth, fel dictionary-- y rhai mae dau pethau sylfaenol y byddwch yn gweithio gyda y ddau mewn bywyd ac yn pset 7. Felly, gallwch chi daflu y pethau arno, a bydd yn chyfrif i maes beth rydych am ei wneud ag ef. Bydd yn dweud, OK, dwi'n mynd i gael y pethau hyn o'r data sy'n ei basio i mi. Ac mae hynny'n rhywbeth eich bod yn mynd i gael ei defnyddio llawer o yn pset 7. Rwy'n mynd i sgrolio cyflym i lawr dim ond i weld lle dwi yn. A oes gan bobl gwestiynau yn y fan hon? Cwestiynau o gwbl? Do? GYNULLEIDFA: Felly gyda'r allwedd a gwerth, gallech ei enw unrhyw beth arall a byddai'n dal i weithio? SIARADWR: Wps. Wow, yr wyf yn llwyr ddileu y llinell cyfan. Gwaith mawr. Felly mae, a. Allweddol a gwerth yn unig yw confensiwn. Mae'n ddefnyddiol. Byddech yn cael rhywfaint o ddyluniad pwyntiau, efallai rhai pwyntiau arddull ar gyfer gwneud hynny oherwydd ei fod yn 'n sylweddol yn cyfleu bwriad. Ond rydym yn dweud a yarp. GYNULLEIDFA: Nid oes rhaid i chi newid unrhyw beth yn y ffeil HTML er mwyn adlewyrchu hynny? SIARADWR: Dim o gwbl. GYNULLEIDFA: A 'i jyst yn gwybod bod oherwydd y yn hafal mwy o than-- SIARADWR: Oes. GYNULLEIDFA: dangosydd --that sy'n that's-- SIARADWR: Oes. Mae hynny'n cystrawen foreach, ond ie. GYNULLEIDFA: Nid oes math. Felly beth os ydych yn dymuno oedran i ddim ond fod yn rhif? A oes ffordd o wneud hynny? SIARADWR: Mae yna ffyrdd i gadarnhau a oes newidynnau yn cydymffurfio â rhai mathau. Felly PHP yn gofyn ychydig mwy o chi oherwydd nad oes unrhyw fath yn. Rhai ffyrdd y mae'n gofyn llai. Mewn rhai ffyrdd mae'n gofyn mwy. Oherwydd os ydych newydd rhywbeth mewn newidyn, nid oes gennych syniad pa fath ydyw. Ond os ydych yn smart am y newidynnau eich bod yn neilltuo i fathau a gwneud yn siŵr mai dim ond chi swyddogaethau return-- am i swyddogaethau i ddychwelyd yn unig un math o werth felly eich bod yn gallu bôn yn disgwyl bod y newidyn a gewch yn ôl o swyddogaeth a fydd fod o'r math eich bod yn credu y bydd yn, yn y bôn. Ond mae rhai dulliau erbyn pryd y gallwch wirio. Nid wyf yn eu cofio oddi ar ben fy mhen. Im 'yn aros iddo droi yn las. isint? isstr? Mae yna ddulliau hadeiladu i mewn PHP y gall gwiriwch y math o newidynnau i chi. Ond os ydych yn aseinio newidynnau smart, ni ddylech rhaid i ni wneud hynny gormod yn pset 7. Ond y dulliau hynny yn bodoli. Ac mae hynny'n rhywbeth y yn yr iaith ei hun. Ac nid wyf yn cofio'r union gystrawen. Gallem hyd yn oed yn edrych i fyny. Ond mae amser yn brin. rhaid i A oes unrhyw un arall gennych unrhyw gwestiynau? Ydw. GYNULLEIDFA: Rwyf wedi dim ond un yn fwy. Felly, rydych crybwyll y dull GET, ond na wnaethoch sôn am y dull POST. A ydym yn dod yn ôl at hynny? SIARADWR: Ie, byddwn yn yn dod yn ôl at hynny. Dyna'r union beth oeddwn yn chwilio ar fy ffôn, sydd bellach yn syrthio i gysgu, ond byddaf yn ei chael yn. Dim ond yn gwneud yn siŵr ein bod yn taro pob un o'r nodiadau PHP. Yep, does dim fersiwn debugging. Oes, mae gennym ychydig mwy o bethau y ydym am ei wneud yn awr ar y pwynt hwn. Felly siarad am POST, yr ydych yn sôn amdanynt, yr unig wahaniaeth rhwng GET a POST yw hynny cofio pan edrychasom yn y URL hwn ac rydym yn gweld, o, enw yn cyfateb yn ac oedran yn dychwelyd yarp yn iawn yn yr URL yno i ni. SWYDD ychydig yn fwy cyfrinachgar gyda'i pasio gwybodaeth. Felly os nad oeddech am defnyddiwr ei wybod, er enghraifft, eich bod Nid oedd am i'r enw defnyddiwr a chyfrinair y person wedi mewngofnodi ar hyn o bryd yn cael ei arddangos mewn yr URL, sy'n beth rhesymol i ddim eisiau yn yr URL, oherwydd gall rhywun yn ei weld. Os ydynt yn cysylltu rhywun i dudalen, yr ydych nad ydynt am eu URL plastro yno, oherwydd byddai hynny'n galluogi pobl i fewngofnodi yn unig gyda'r gludo o URL yn lle hynny o mewn gwirionedd yn llenwi ffurflen. SWYDD yn ychydig yn fwy cyfrinachgar. A'r unig bethau sy'n bydd rhaid i ni newid yn y dull hwn, newid o ddod i bostio. Ac yna y tu mewn i'r HTTP, yn lle hynny o gael mynediad i'r _GET array, rydyn ni'n mynd i gael mynediad i'r _POST arae. A byddwn yn sylwi, os rydym yn agor gefn hyn i fyny eto, Jason yn araf yn dirywio o ran oedran. enw Jason, 14 oed. Mae'r un pethau pops i fyny. Ond rydym yn mynd i'r URL a Nid yw newidynnau hynny yno. A'r ffordd y mae POST passes-- felly cofiwch sut i edrych ar y ffynhonnell o dudalen. Rydym yn mynd i'r rhwydwaith. Rydym adnewyddu. Ac mae hyn yn beth arall sy'n Bydd POST rhoi rhybuddion am i chi. Efallai eich bod wedi gweld bocs, testun blwch fel hyn yn eich porwr. A ydych yn sicr eich bod am anfon ffurflen eto? SWYDD yw beth sy'n anfon y ffurflenni hyn. Oherwydd y bôn, os ydych yn anfon eich gwybodaeth cerdyn credyd i rywun, Nid yw hynny'n mynd i arddangos i fyny yn yr URL. Mae hynny'n mynd i fod cais POST. Felly, pan fyddwch yn adnewyddu'r dudalen, mae'n ail-anfon y swydd cais. Felly, nawr rydym yn dymuno anfon y yn ffurfio eto oherwydd nid yw'n mynd i greu unrhyw bryniadau dyblyg. A byddwn yn sylwi bod lawr yma, y dull yr ydym yn ei ddefnyddio yw POST. Ac mae'n yn wir trosglwyddo bytes. Mae'n trosglwyddo 401 ohonynt. Rhaglen 'n bert bach. Ond does unman y gallwn weld gwerthoedd sy'n cael eu pasio. Mae'r tudalennau gwe eu hunain yn gweld, ond nid ydym fel defnyddwyr yn gallu gweld, oni bai eich bod haciwr. Os ydych yn haciwr da, gallwch edrych. Os ydych yn gwybod sylfaenol fformat y HTML, Bydd y gwerthoedd yn gwneud eu hunain yn hysbys yn y tudalennau. Byddwch yn gallu gweld. Bydd y gwerthoedd yno, maen nhw'n dim ond ychydig yn llai amlwg ar eich cyfer chi â mynediad, yn y bôn. A oes gennym mwyach cwestiynau am GET, SWYDD before-- beth yr ydym yn mynd i'w wneud nesaf mewn gwirionedd yn edrych ar rai o'r cod eich bod yn rhoi yn pset 7, yn siarad am sut mae'n defnyddio rhai o'r cysyniadau hyn, a siarad am y pethau eich bod yn mynd i gael i wneud ychydig bach yn pset 7. Unrhyw mwy o gwestiynau cyn hynny? Mwy o gwestiynau i chi guys gael? Great. Mae pob hawl, gadewch i ni edrych ychydig yn pset 7, dim amheuaeth beth rydych yn pob fwyaf gyffrous am. Yr wyf yn golygu, mae hyn yn rhywbeth y David yn mynd drwy ychydig bach. Ond bydd yn rhaid dri gyfeiriaduron yn y top, yn ogystal â ffeil cyfluniad. Dyna gyfer cronfeydd data, yr ydym chi helpu siarad am mewn tua phum munud. Yn cynnwys, fyddwch byth angen i edrych yn y cyfeiriadur hwn os nad ydych am i ond mae'n braf gwybod bod pob math o gynorthwywyr. Cynorthwywyr yn debyg swyddogaethau defnyddiol. Ac yna rydym wedi config, sy'n gosod rhai pethau i fyny. Mae rhai swyddogaethau sydd CS50 wedi ysgrifenedig sydd yn gynorthwywr a config. Ac mae rhai o'r PHP sy'n eisoes allanfeydd mewn ffeiliau Bydd yn gwneud llawer o'r math mwy gwaith goes o aflem i chi. Fel os ydym yn mynd i mewn i cyhoeddus login.php, sef yr hyn yn dangos i fyny yn iawn pan fyddwch yn mynd i mewn i pset 7. Byddwn yn gweld fod yna hyn yn gofyn datganiad hwn. A'r math o fel miniog yn cynnwys, hashtag yn cynnwys os ydych o genhedlaeth newydd. Ond mae hyn yn y bôn yn dweud bod angen mynediad i mi i holl swyddogaethau yn config.php. A gallai gennych ei gwneud yn ofynnol am bob math o bethau eraill. config mewn gwirionedd yn ei gwneud yn ofynnol cynorthwywyr. Felly, pryd bynnag y byddwch ei gwneud yn ofynnol config, rydych yn hefyd gan gynnwys ei gwneud yn ofynnol neu'n gynorthwywyr hefyd. Felly mae hynny'n rhoi mynediad i chi i gyd y swyddogaethau oeri ein bod yn mynd i ddefnyddio, pethau yn hoffi rendr. Rydw i'n wir yn mynd i leddfu mae hyn i lawr ychydig bach. Felly y swyddogaeth, yna rydym yn mynd i gerdded trwy ychydig cyn i ni symud ymlaen i SQL ychydig bit yw swyddogaeth login.php, dim ond oherwydd ei fod yn defnyddio rhai o'r pynciau yr ydym newydd sôn amdanynt yn PHP. Byddwch yn gweld y peth cyntaf yw os $ _SERVER. Mae hyn yn amrywio byd-eang arall sy'n ydych yn mynd i fod yn delio â hwy. Mae fel _GET a _POST, ond beth gweinydd yn cynnwys yn gall hyn adael i chi gwybod os y dull cais Roedd yn GET neu SWYDD. Fel o'r blaen yr hyn yr ydym yn ei wneud yn unig yn ein cod sy'n ysgrifennom, roeddem yn unig ei newid i fod yn GET a POST yn dibynnu ar yr hyn y mae'r HTML wedi. Ond mae yna dudalennau y gellir eu mynediad gyda'r ddau fath o geisiadau. Ac efallai y byddwch am ei wneud pethau gwahanol gan ddibynnu ar y math o gais, yn union mewngofnodi debyg ei wneud. Felly, gallwch wirio bod cais Dull trwy gael mynediad i allweddi, drwy ddefnyddio allwedd a chael y gwerth rhywbeth yn y geiriadur _SERVER. Felly dyna byd-eang arall amrywiol fel _GET a _POST. Os yw'n GET, rydym am olygu bod y ffurflen mewngofnodi. Rendr yn swyddogaeth sydd yn y bôn dim ond rhoi i fyny y HTML priodol ac yn ei rhai paramedrau. Mae'r teitl yn baramedr sy'n a ddefnyddir yn arddangos, yn ddigon rhyfedd, teitl y dudalen yn cwestiwn, y peth i fyny yma, ddweud helo neu yn ein enghraifft flaenorol. Nawr mae gennym beth gwahanol. Arall os yw'n POST, rydym yn gwneud rhai pethau eraill. Rydym yn defnyddio dull hwnnw gwag. Dyw hi ddim yn bodoli, mae'n wag. Ac rydym yn gweld o'r blaen, PHP Mae cryn dipyn o adeiladu mewn dulliau y mae David will-- os oes yn ddulliau sy'n ddefnyddiol i chi, byddant yn cael eu hysbysu i chi yn y daith gerdded trwy'r David rhoi ar y dechrau trosolwg, a hefyd darnau defnyddiol Zamyla yn. Mae hi'n pawb yn ôl. Gall pob un ohonom lawenhau. ymddiheuro yn swyddogaeth enw addas mai dim ond yn y bôn yn argraffu allan rhai negeseuon gwall, oherwydd bod CS50 yn gwrtais iawn. Ac yn awr mae hyn, mae hwn yn ychydig yn anodd gan fod hyn lle rydym yn ymholi'r gronfa ddata. Nawr, nid ydym wedi sôn am gronfeydd data. Ac rydym yn mynd i mewn i'r nesaf pum munud neu ddwy, uchafswm. Ond mae hyn yn swyddogaeth bod CS50 wedi ysgrifennu i gael tabl bôn o gronfa ddata ein bod yn gweithio â hwy yn pset 7. Rwy'n drwg iawn gyda fy sero mynegeio heddiw. Ond ie, y mae 7. Felly ymholiad fod yn mynd i ddychwelyd i array, yn y bôn yw'r darn allweddol. Ac oherwydd nad yw'r pethau hyn yn cael teipio, felly rhesi yn amrywiaeth o araeau. Oherwydd pan fyddwn yn meddwl am bwrdd, yr hyn yr ydym yn mynd i'w wneud yw, wrth i chi ddysgu yn psets fel y gêm o 15, beth bynnag lle y bu'n rhaid i chi ddefnyddio amrywiaeth dwbl, rydym yn y bôn cael amrywiaeth o eraill araeau yn gwneud tabl. A bod gennych rhesi a cholofnau. Ac yna gallwch gael mynediad iddynt yn hoffi [0] [1], byddwch yn cael y [0] [1]. Pethau sylfaenol fel 'na. Felly, yr hyn yr ydym yn ei wneud yma yn y swyddogaeth hon, rydym yn gofyn y gronfa ddata os bydd y defnyddiwr sy'n ceisio mewngofnodi, a fydd yn anfonwyd drwy'r dull POST. Byddwn yn gweld ydym yn ei gael enw defnyddiwr rhag _POST. Byddant wedi anfon, y defnyddiwr neu chi, bydd yn anfon gwerth trwy ffurflen drwy SWYDD oherwydd 'i' enw defnyddiwr a chyfrinair stwff. Rydym yn gwirio enw defnyddiwr i weld, a yw hyn yn y tabl? Oherwydd os yw defnyddiwr yn logio i mewn, yna mae eu enw defnyddiwr Dylid ei storio yn y tabl o defnyddwyr sy'n bodoli ar gyfer y safle. Felly y bôn, os y defnyddiwr yn y gronfa ddata, ymholiad yn mynd i ddychwelyd hynny rhes, sef arae. Ond mae'r rhan anodd yw os hyd yn oed os yr amrywiaeth dwbl yn unig o un rhes, hyd yn oed os ei fod yn un rhes array-- fel chi wedi cael basically-- os oes gennych chi un maint amrywiaeth sy'n cynnal amrywiaeth arall, eich bod yn wir yn delio ag un golofn. Ond mae'n dal i drin fel amrywiaeth dwbl. A dyma lle gall weithiau gael anodd, oherwydd ein bod wedi cael rhesi yma. Mae ein newidyn yn rhesi. Ac yna rydym yn creu newidyn a elwir yn rhes newydd a gosod ei gyfartal i y rhes gyntaf o rhesi. A byddwch yn sylwi bod sylw Dywed ei fod yn y rhes gyntaf, a dim ond. Felly dyma'r anodd rhan lle nawr swyddogaethau Gall dychwelyd araeau yn hawdd iawn. Does dim mallocs. Ni fyddwch yn gweld mallocs. Felly, ni fyddwch yn gweld diffygion SEG. Ond bydd swyddogaethau yn dal i basio o gwmpas araeau a data mewn grwpiau. A rhaid i chi fod yn wyliadwrus o beth yn union y bydd eich swyddogaethau yn dychwelyd. A hyd yn oed os yw'n un golofn fel hyn, ymholiad yn dal i fynd i ddychwelyd amrywiaeth dwbl. Felly, i fynediad sy'n column-- neu os ydych gallu meddwl am hyn i gyd fel y inverted ers i ni yn sôn am rhesi. Ond i gael mynediad mai un rhes, nid ydych yn gallu ddweud rhesi. Hyd yn oed er ei fod yn un rhes, rhaid i chi Nid rowsrows [0] i fath o gael gwared ar hyn bit allanol y rhesi a cael dim ond eich un rhes. Gwnewch ychydig o bethau eraill. Mae 'na swyddogaeth Gelwir password_verify sy'n gwirio y cyfrinair a gafodd ei bostio. Ac yna gwelwn fyd-eang arall amrywiol yma, _SESSION. Yn y bôn Sesiwn id yw sut yr ydych yn cadw golwg o os oes rhywun wedi mewngofnodi ai peidio. Felly, ar hyn o bryd gyda login.php, rydym yn logio defnyddiwr yn. Felly yr hyn yr ydym am ei wneud yw ein bod eisiau dweud y id sesiwn yn hafal i'r rhes id, a dim ond yn gwneud synnwyr gan fod Bydd pob rhes yn cael id gwahanol nifer fel rhan o'r tabl. Byddwn yn mynd i mewn i SQL mewn yn ail, felly os bydd unrhyw un hwn yn ymddangos ychydig fel blah, Yna bydd yr holl cael ei glirio i fyny. Ond rydym ni'n mynd i osod y id cyfartal i y peth cywir, logio y defnyddiwr yn. Ymddiheuro os bydd unrhyw beth yn mynd o'i le. A dyna mewngofnodi diben mewn byddai bywyd fel Athro Malan ddweud. Felly dyna oedd login.php. Ac mae llawer o'r cod PHP ydych yn ysgrifennu yn pset 7, byddant yn ychydig bach. Peidiwch ag anghofio i chmod i y caniatâd priodol. Bydd ychydig am bod yn cychwyn y fanyleb. Ond mae'r PHP eich bod yn ysgrifennu yn mynd i fod gwneud pethau sy'n debyg i hyn. Rydych yn mynd i fod yn cael mynediad at rai pethau sy'n cael eu rhoi i chi yn y newidynnau byd-eang o PHP sy'n yn ymdrin â'r presennol wedi mewngofnodi defnyddwyr, a oes wedi bod ceisiadau a anfonir at hyn dudalen, pethau gwahanol fel 'na. A bydd hefyd o bosibl ailadrodd drwy resi o peth hyn. Mewn swyddogaeth, ymholiad gwahanol yn dychwelyd y casgliad dwbl. Ac os oes mwy nag un rhes ynddo, os oes yw-- ie, os oes yn fwy nag un rhes ynddo, yna bydd yn dabl. Ac efallai y byddwch am ailadrodd trwy y rhesi o amrywiaeth hon gan ddefnyddio mae'r ddolen foreach a ddisgrifiwyd i ni. Felly, os ydych yn gwneud foreach ar dwbl array, beth fydd y word-- yma, 'N annhymerus' mewn gwirionedd yn ysgrifennu. 'N annhymerus' ysgrifennu hwylus yma. Os oes gennym foreach o resi fel rhes, beth yw'r math o rhes? Oes rhywun yn gwybod? Rydych got it? Felly rhesi yn amrywiaeth dwbl. Felly, yr hyn sy'n foreach yn mynd i gasglu bod arnom eisiau o hyn amrywiaeth dwbl os ydym yn ailadrodd drosto? Gallwn gymryd yn ganiataol bod y bôn mae'n mynd i fod naill ai'n elfennau, neu resi neu golofnau, yn y bôn. Ac felly rhesi a cholofnau rydym yn Gall trin fel yr un peth. Yn y bôn yr hyn y ddolen foreach yn mynd ei wneud yw ei fod yn mynd i ddychwelyd rhesi. rhes yn mynd i fod o fath rhes, tra rhesi yn amrywiaeth dwbl. Felly, os ydych yn rhoi foreach amrywiaeth dwbl, 'i' ddim yn mynd i ailadrodd fwy nag un lefel o ddyfnder. Pa un yw y bôn i ddweud os oes Mae wyth o gelloedd yn y table-- 1,2, 3 4, 5, 6, 7, 8-- y Nid yw dolen foreach yw mynd i fynd drwy bob un o'r celloedd hyn. Beth fydd y ddolen foreach yn ei wneud Roedd bydd yn mynd drwy'r rhes hon, rhoi'r hon rhes cyfan i chi. Ac yna bydd yn mynd drwy y rhes. Felly dim ond ailadrodd un lefel o ddyfnder. Os byddwch yn ychwanegu nythu dolen foreach, yna rydych Gall trin pob rhes dychwelyd o rhesi, rydych yn gwneud rhes foreach fel elfen, Gadewch i ni ddweud. Ac yna gallech adleisio'r elfen. Felly dyna briff Ychydig gloywi ar sut efallai y byddwch yn eu defnyddio foreach dolenni yng nghyd-destun ymholiad. A oes unrhyw gwestiynau ar PHP? Unrhyw beth o gwbl cyn i ni symud ymlaen i siarad am SQL ac yr hwyl o gronfa ddata? Teimlo'n dda? Teimlo'n dda. Iawn. Gadewch i ni symud ymlaen yn ôl i'r PowerPoint, a oedd mae'n debyg y byddwch yn colli. SQL, yay. Mae pobl sydd yn fy adran nodweddiadol Bydd yn gwybod bod is-benawdau o acronymau Dim ond geiriau cyntaf bob amser Yr wyf yn meddwl am y gêm sy'n algorithm-- y acronym. Dyw hi ddim yn algorithm. Felly SQL yn gronfa ddata. Mae'n iaith sy'n gweithio gyda chronfeydd data. A'r holl gronfeydd data yn ei tablau, o leiaf yn y ffordd hynny SQL yn eu cynrychioli. Ffordd arall i feddwl am gronfeydd data yn cronfeydd data yn set o allweddi a gwerthoedd yn y bôn. Gallwch feddwl am gronfa ddata fel eiriadur a hefyd fel bwrdd. Yn y bôn mae'n ffordd i gysylltu gwahanol data â data arall, yn aml trwy rhesi a cholofnau. A dyna y ffordd dyna SQL gweithio orau. Felly, mae hyn yn un enghraifft o dabl. Mae gen i ychydig o enghreifftiau o bobl yn fy adran, a oedd yn Doedd gen i ddim amser i newid. Ond mae gennym bethau fel ID, enw, bŵer, a hometown. Nid wyf yn gwybod ble i unrhyw un sydd o yn fy adran, felly Im 'jyst yn mynd i gymryd yn ganiataol pawb o Efrog Newydd City am fod gen i uchel ystadegol tebygrwydd o fod yn gywir. Bydd SQL cymryd yn awtomatig gofal o asgwrn ID i chi. Os byddwch yn mewnosod rhes newydd mewn cronfa ddata SQL, bydd yn cynyddiad hynny Rhif adnabod a dim ond bôn ffon fel pum enwau, bŵer, tref enedigol, pwy bynnag ar ddiwedd y tabl. Felly ID mae colofn byddwch yn byth yn rhaid i chi boeni am. Ond, fel yn yr achos o login.php, pan fyddwn yn yn cael y sesiwn ID o dabl a dim ond gan ddefnyddio ID, ID yn ffordd i nodi unigryw elfen o gronfa ddata. Felly, os oedd gennym ddau Sams, y ddau oedd yn dysgu CS50, ac mae'r ddau o bwy yn dod o Milwaukee, byddai rhai yn dal i gael rhifau ID wahân ac felly fod yn wahanol mewn cyd-destun y tabl. Felly, mae hyn yn beth SQL yn delio gyda, gweithio â hwy yn y pen-ôl. Nawr mae'r rhain yn y pedwar gorchmynion y bydd angen i chi weithio gyda SQL. Ac yr wyf yn taflu nhw i gyd i fyny ar un sleid. Ond rydym yn mynd i fynd drwy nhw i gyd yn unigol. Y gorchymyn cyntaf yw DIWEDDARIAD, sy'n gwneud beth y gallech ei ddisgwyl. Dywedwch fod gennych rhywfaint o ddata yn mae'r tabl sy'n dyddio. Fel os ydych yn cadw cofnod o enwau pobl ac oedrannau, os bydd rhywun yn cynyddu oedran, yna ydych yn mynd i eisiau mynd i mewn a diweddaru oed dim ond y person hwnnw. Er enghraifft sy'n gweithio gyda'n table-- cyntaf peidiwch â phoeni am ysgrifennu pob un gorchmynion hyn ar yr un pryd. Ond os oes gennych wybodaeth ddiweddaraf i lawr, bydd hynny fod yn dda ar gyfer y rhan hon, oherwydd ein bod ni'n mynd i mynd yn ôl at y bwrdd. Felly, os ydym yn mynd yn ôl at y bwrdd, gadewch i ni ddweud rhywbeth a ddigwyddodd Roedd yna daeargryn neu ffawtlin sy'n rhannu yn uniongyrchol drwy Ninas Efrog Newydd. Ac rydym yn awyddus i ddiweddaru pawb a oedd yn byw yn Ninas Efrog Newydd. Roedd yn rhaid iddynt i gyd i symud i Pennsylvania. Nid yw hyn yn dref enedigol. Roedd yn rhaid iddynt i gyd i symud i New Haven. Dyna ni. Fel bod pawb yn Efrog Newydd yn symud i New Haven. Ac felly dyna rhywbeth sy'n golygu tair rhes yn y tabl hwn. Ond mewn SQL, gallwch chi ei wneud bod yn un datganiad yn unig. Felly, rydym yn mynd yn ôl i DIWEDDARIAD. Gadewch i mi yn gyflym ddileu bwrdd hwn eto. Pan fyddwn yn sôn am diweddaru, mae ychydig o rannau o'r gystrawen sy'n allweddol. Wel, pob un o'r gystrawen yn allweddol. Ond mae'r pethau mewn gwyrdd yn ddewisol. Mae'n ofynnol i'r gwyn, enwau diffinio o flaen llaw fel. Ac mae'r glas golau yn bethau sy'n amrywio yn dibynnu ar y bwrdd. Felly dyna beth sy'n mynd ymlaen gyda y cynllun lliw yma, i fyny yno. Felly os ydym am i ddiweddaru unig rhesi rhai o'r bobl sy'n byw yn Efrog Newydd, felly beth y byddem yn ei wneud os ydym yn dweud DIWEDDARIAD? Felly tabl yw lle rydym yn rhoi enw ein bwrdd. Gadewch i 'jyst dweud yr enw ein bwrdd yn nhabl un. Felly rydym am DIWEDDARAF tabl un. Ac rydym am set-- beth ydym ni eisiau i osod? Wel rydym eisiau ei ddweud, PHP mor column-- trin rhesi fel dynodwyr unigryw. Ac yna colofnau yn cael eu y gwahanol feysydd o elfennau hynny o'r gronfa ddata. Felly yr elfen gyntaf y gronfa ddata Mae gan enw Sam, bŵer o CS50, ac mae tref enedigol o Milwaukee. Felly, os ydym yn dweud osodwyd, gadewch i ni edrych ar y paramedrau eto bod set cymryd. Mae gennym golofn hafal werth. Felly rydym eisiau ei ddweud rhai column-- sy'n cofio yn field-- ydym am weld maes yn gyfartal i rywbeth newydd. Felly, os ydym newydd ei ddweud newyddion diweddaraf tabl 1, enw a osodwyd Elliot gyfartal. Cael rhai pobl o'r adran newydd i mewn ar hyn. Ond os ydym yn unig yn gwneud diweddariad tabl 1 enw a osodwyd Elliot gyfartal, beth fyddai mae'r tabl yn edrych fel ar ôl hynny? Mae pobl yn cael unrhyw syniad? Yeah. GYNULLEIDFA: Mae popeth yn y Byddai rhes yn dod yn Elliot. SIARADWR: Mae popeth y mae rhes? GYNULLEIDFA: Yn y rhes gyntaf. SIARADWR: Yn y rhes gyntaf? Pam y rhes gyntaf? Dydw i ddim yn ei olygu i ddewis ar eich cyfer. GYNULLEIDFA: Efallai popeth yn y tabl cyfan? SIARADWR: Mae popeth yn y bwrdd cyfan, ie. A dyna yn union gywir i mi because-- Roedd dim ond chi helpu ychydig there-- oherwydd ein bod hepgor y cymal LLE dewisol. Os nad oes gennych y LLE cymal, beth fydd hon archa yn ei wneud yn bydd yn gweithio gyda phob sengl rhes yn y tabl. Enw pawb fydd yn dod yn Elliott, yn y bôn, sydd Elliot yn hapus iawn am. Neu Yanni, un o'r ddau. Ond bydd enw pawb yn newid. Felly, y ffordd yr ydym yn defnyddio'r LLE clause-- ac mae hyn yn berthnasol i bob un o'r Tryfan sydd ym mhob un o'r pethau gwahanol hyn. Felly, byddwch yn sylwi bod SET Mae colofn werth cyfartal. Ac felly mae LLE. Ond mae'r rhain yn wahanol mathau o ddatganiadau. Felly mae'r golofn yn hafal i werth mewn SET yn aseiniad. Fel rydyn ni'n ei ddweud ein bod am i osod enw cyfartal i Elliot. Ond yn y cymalau LLE, mae'r rhain yn ddatganiadau cydraddoldeb. Felly, gadewch i ni ddweud ein bod dim ond eisiau newid enw'r person i Elliot os caiff ei enw oedd Ryan, gadewch i ni ddweud. Felly, pan fyddwn yn dweud LLE enw hafal Ryan, bod Byddai newid yn unig yn llwyddiannus y name-- byddai'n unig newid y cae enw mewn rhesi lle y cae enw yn hafal i Ryan. Felly, os oedd gennym bobl lluosog enwir Ryan, pob un eu henwau Byddai newid i Elliot. Mae hyn yn debyg i'r esiampl o os ffawtlin yn rhannu Dinas Efrog Newydd a rhaid i bawb symud i New Haven, mae'r ffordd y gallwn gwneud hynny mewn un datganiad yn DIWEDDARIAD Tabl 1 hometown SET = Haven Newydd lle mae hometown yn cyfateb Dinas Efrog Newydd. Mae hyn yn y pŵer y datganiad DIWEDDARIAD. Gallwn ddewis unrhyw nifer o rhesi drwy ddatganiadau gwir am y meysydd mewn rhesi hynny. Ni allwn ddweud set Tabl 1 Y DIWEDDARAF enw = Elliot LLE rhes = 1, ac eithrio y gallwn os dywedwn ID = 1. Felly rydym yn mynd i fod yn gan weithio gyda chydraddoldeb o feysydd, cydraddoldeb colofnau. Ond gan ddefnyddio y cae ID yn ffordd o dewiswch rhesi unigol yn benodol, oherwydd bod y cae ID yn unigryw dynodwr mewn cronfa ddata SQL. Felly, fel diweddaru rhes un, ID dychwelyd 1. Diweddaru rhes dau, dim ond newid y rhif adnabod. Ond grym y LLE datganiad yw ein bod yn Gall roi'r wybodaeth ddiweddaraf pethau yn seiliedig ar yr hyn mae eu Gwerthoedd presennol o rhai pethau yn cael eu. Do Elliot? GYNULLEIDFA: A beth os ydych chi am i'r canlynol-- eto, mae hwn yn gwestiwn arall. Ond mae fy nghwestiwn cyntaf oedd, lle mae hyn yn digwydd? Ble ydw i'n diweddaru'r hyn? A yw hyn mewn cod PHP? SIARADWR: Lle byddwch yn diweddaru, ie. Rydym yn mynd i siarad ynglŷn â lle hyn oll sy'n digwydd ar fath o ôl i ni fynd drwy'r holl orchmynion. Ond beth mae angen i chi yn gwybod am y tro yn y bôn bod eich cronfa ddata SQL yn bodoli fel rhywbeth i gael ei defnyddio gan y ymholiad swyddogaeth, a oedd yn CS50 diffinio. Felly, os ydych yn defnyddio'r swyddogaeth ymholiad, gallwch gael mynediad y tabl hwn. Felly, byddwch yn anfon y rhain gorchmynion i eich bwrdd mewn ffeiliau PHP drwy'r swyddogaeth ymholiad. Gallwch hefyd chwarae o gwmpas gyda'ch bwrdd yn uniongyrchol. A dyna y ffordd orau i profi mathau hyn o orchmynion. A byddwn yn mynd drwy sut yn union y i wneud hynny mewn dim ond ychydig. Felly dyna gorchymyn DIWEDDARIAD. A'r gweddill y gorchmynion yn mynd i fod rhyw fath o debyg, gweithio ar bethau tebyg. Mae'r INSERT INTO yn ôl pob tebyg y mwyaf yn wahanol i DIWEDDARIAD. Rydw i'n mynd i adael bod hyd yno am ychydig bach ac yn gweithio dros yma. Felly INSERT I, byddwch yn gweld y tabl hwnnw yn dal i fod yr un fath. Yr hoffech ei fewnosod YN. Mae'r cyfalafu, SQL yn achos ansensitif. Fel nad oes rhaid i chi cyfalafu y pethau hyn. Erbyn confensiwn, y geiriau mewn gwyn yn cael eu cyfalafu. Ond rwyf hefyd codau lliw iddynt. Yr unig reswm yr ydych yn cyfalafu pan fydd y rhai yr ydych yn eu teipio yn unig i bwysleisio bod y rhai yn gysonion. Ac felly gallwch naill ai edrych ar y cyfalafu neu'r ffaith fy mod i wedi lliw yn wahanol. Felly, mae gennym RHOWCH I, gadewch i ni wneud Tabl 1 eto. Mae hyn i gyd ar un llinell. Im 'jyst yn ei wahanu gan y gwahanol ddatganiadau. Felly peidiwch â phoeni am y ffaith bod gwneud Tabl 1 fod ar yr ail linell. Felly rydym am i fewnosod I Tabl 1 rhai gwerthoedd. A byddwch yn sylwi ar y ddewisol bit, a byddaf yn cael i mewn eiliad. Felly, mae gennym ni GWERTHOEDD. Felly, gadewch i ni ddweud ein bod eisiau ychwanegu Andi at ein bwrdd, oherwydd ein bod yn colli Andi. Andi yn sâl. Felly gadewch i ni ychwanegu Andi at ein bwrdd. Cofiwch bod y rhif adnabod yn cael ei diweddaru'n awtomatig. Felly yr unig caeau ydym Mae angen i chi boeni am yn enw, bŵer, a hometown. Ac felly y ffordd yr ydym yn gwneud hynny, edrych ar ein cystrawen, yw rydym wedi jyst got a cromfachau, gyda coma gwerthoedd wedi'u gwahanu, pob un ohonynt yn werth. Felly, os oeddem am i fewnosod Andi yn ein tabl, pob mae'n rhaid i ni ei wneud yw Andi iawn. Beth yw bŵer Andi yn, pobl mewn adran Andi yn? Mae hi'n hoffi hedfan, neu yn hoffi cyflymder, neu rywbeth. Beth sydd gennym eisoes i fyny yno? Rydym wedi CS50, hedfan, cyflymder, a chryfder. GYNULLEIDFA: Teithio Amser. SIARADWR: teithio Time, anhygoel. Felly, mae gennym Andi, amser teithio, ac mae ei dref enedigol. Mae hynny'n gwestiwn da iawn. New York City, oni bai fod rhywun yn gwybod. Mae pawb yn o Efrog Newydd yw'r gwers i fynd i ffwrdd o heddiw ymlaen. Felly, byddai datganiad hwn mewnosod, fel pumed res, gyda'r amser teithio superpower ac mae tref enedigol o Dinas Efrog Newydd. Ond mae'r maes dewisol yn y bôn yn ffordd i nodi'n union pa colofnau yr hoffech ei fewnosod pethau mewn. Mae'r ffordd yr ydym yn ei wneud yn awr, Andi, teithio drwy amser, Dinas Efrog Newydd, yn mynd yn yr union drefn ein enw table--, bŵer, hometown. Ac os ydych am ei wneud rhywbeth arall na hynny, fel dweud nad oeddech yn gwybod bŵer rhywun, fel sut nad oeddwn yn gwybod Andi yn bŵer ar y dechrau. Felly, i gyd roeddwn i'n gwybod oedd ei enwi ac mae ei dref enedigol. Beth allwn i ei wneud yw y gallwn do-- 'N annhymerus' dileu hyn gyflym. Rwyf am dim ond ddiweddaru'r colofnau. A dyma lle mae'r ddewisol Daw rhestr golofn i chwarae. Dim ond eisiau i ddiweddaru enw a hometown. Ac yna yr wyf am ddweud GWERTHOEDD. Fe wna i Andi a Dinas Efrog Newydd. Os wyf wedi hepgor y rhestr o golofnau a dim ond gwneud y ddau beth, lle byddai Dinas Efrog Newydd wedi mynd? A fyddai'n colofn Efrog Newydd City wedi cael eu gosod mewn? Mae pobl yn cael unrhyw syniad? Bŵer, yn union. Felly, bydd hyn dim ond yn mynd yn eu trefn. Ac unwaith y bydd yn cyrraedd diwedd y rhestr, bydd yn jyst peidiwch â chwblhau'r pethau i mewn. A'r gwerthoedd y bydd yn aros yn bydd yr holl colofnau unig fod null. Felly am i ni bennu enw a nhref enedigol, rydym yn mynd i gael ID 5, enwi Andi, NULL superpower. Felly bŵer yn werth uninitialized. Ni fyddwch o reidrwydd yn cael y Gwallau Valgrind un fath os ydych yn ceisio ac yn cael mynediad iddo. Bydd popeth yn cael ei zeroed 'n glws allan, gan fod NULL yn werth yn SQL. Mae hynny'n gyson. Ac yna bydd dref enedigol yn Ninas Efrog Newydd. Felly dyna y RHOWCH YN gorchymyn. Cyn i ni symud, mae ' dau gorchmynion mwy. Ydy pobl gennych unrhyw gwestiynau am Y DIWEDDARAF, am RHOWCH YN, tua SQL Yn gyffredinol, cyn i ni symud ar ein darnau terfynol? Mae pobl yn teimlo'n dda, gwych. Wrth eu bodd. Felly, gadewch i ni siarad am SELECT. Mynd ffos DIWEDDARIAD dros yma. A SELECT yn mynd i fod yn debyg iawn. Mae'r nod o SELECT, Diben SELECT mewn bywyd yw rhoi bagad o golofnau i chi sy'n bodloni'r amodau penodol. A phan wyf yn dweud bodloni amodau penodol, efallai eich meddwl ar unwaith fynd yn ôl at y cymal LLE a ddaeth i fyny yn DIWEDDARIAD. Ac mae cymal sy'n yn union yno yn SELECT. Os nad ydym yn rhoi'r LLE cymal a dywedwn enw SELECT, hometown-- sillafu'n bod ychydig enw wrong--, hometown GAN Tabl 1. Os ydym yn unig yn dweud bod, beth SELECT yn mynd i roi i ni yw ei fod yn mynd i roi i ni double-- tabl, yn hytrach. Mae amrywiaeth dwbl os ydym yn meddwl am yn PHP synhwyrau. Ond mae'n jyst yn mynd i roi i ni yn amrywiaeth dwbl o ddau enw columns--, a hometown. A bydd yn anwybyddu ID. A bydd yn anwybyddu superpower. A bydd yn jyst rhoi i ni bob sengl res y tabl hwnnw. Felly, os ydym yn unig fewnosod Andi, bydd gennym Andi. A byddwn yn cael y pedwar gwreiddiol. Os ydynt wedi eu diweddaru, bydd hynny yn cael ei adlewyrchu, et cetera, et cetera. Felly, mae hyn oherwydd ein bod Nid oedd yn defnyddio'r cymal LLE. Ond gallwn ei ddefnyddio yn union yr un ffordd yr ydym yn ei ddefnyddio yn DIWEDDARIAD. Os mai dim ond eisiau tabl o'r enwau a phwerau super pobl sy'n byw yn Efrog Newydd, gallwn gyflawni datganiad fel enw SELECT, superpower-- Im 'jyst yn mynd i adael that-- GAN Tabl 1 LLE hometown = Dinas Efrog Newydd. Felly, mae hyn yn dangos eich bod yn gallu cael hollol wahanol colofnau, ac yna rhowch colofnau nad ydych yn hyd yn oed yn mynd yn ôl yn y cymal LLE. Nid ydym yn hyd yn oed am y tref enedigol o bawb. Ond rydym am enw a y bŵer o bobl y mae ei dref enedigol yn Ninas Efrog Newydd. Felly dyna rhywbeth yr ydym Gall wneud â'r LLE cymal yn gallwn ddelio â cholofnau nad ydym o reidrwydd am yn ôl. Yn yr un modd mewn DIWEDDARIAD, gallwn ddelio gyda cholofnau nad ydym yn ei wneud o reidrwydd am ddiweddaru. Gallwn ddiweddaru'r ddinas bawb pwy sy'n enw i yw Sam, er enghraifft. Gallwn ddiweddaru'r ddinas pawb y mae eu ID rhif yw 2. Felly, dim ond diweddaru'r dinas yr ail res lle nad oes rhaid i ni ddelio â angenrheidiol y cwestiwn cyffredin. A dileu yw, fel y byddech yn disgwyl, DELETE O Tabl 1. Ac yna mae gennym gymal LLE arall. Felly, gallwn ddweud BLE ID = 1. Dileu y rhes gyntaf. A DILEU Bydd bob amser yn dileu rhes, neu a fydd yn dileu rhywfaint o nifer o resi. DILEU O dabl BLE City tref enedigol = Efrog Newydd Bydd dileu pawb yn Ninas Efrog Newydd. Mae hynny os oedd pla trasig sydyn a 'ch jyst eisiau i gael gwared pawb o'r tabl sy'n yn byw mewn dinas benodol a gafodd ei tharo gan y pla. Bydded iddynt orffwys mewn heddwch. Mae'r rhain yn y pedwar gorchmynion SQL y bydd angen i chi ddefnyddio. Efallai na fydd angen hyd yn oed i chi nhw i gyd defnyddio. Ond mae'r rhain yn y pedwar bod CS50 yn disgwyl i chi i fod yn gyfforddus gyda mynd i mewn i y ddau cwis 1 a hefyd pset7 a pset8. Does dim ond bod tabl eto. Yn yr un, bŵer Roy Mae gan wedi'u diweddaru i trawstiau laser, a oedd yn yn enghraifft doeddwn i ddim yn eu defnyddio. Nid wyf yn gwybod pa un Roy well, ond cryfder. Roy Mae gan bŵer o gryfder. Nid oedd Katherine yn ei gwneud yn heddiw. Mae hynny'n anffodus. Ond mae hi wedi cyflymder super. Wel dyna oedd PHP. Cyn i ni siarad am MVC, yn gwneud gan unrhyw un gwestiynau am PHP? Nawr SQL, neu PHP os ydych yn sydyn gennych dod o hyd i gwestiwn am PHP? Great. Mae pob hawl, rydym ni i gyd yn gosod wedyn. Felly siarad ychydig bach am y model barn rheolwyr, gadewch i ni fynd yn ôl at rai o'r stwff yn pset7. Felly, pa fodel barn rheolwr yw-- Dydw i ddim mynd i achub fy newidiadau i fewngofnodi gan fy mod yn butchered yn gwbl. Ond yn y bôn mae gennym ddau pethau ar wahân digwydd. Mae gennym cyhoeddus cyfeiriadur sy'n cynnwys cod sy'n mynd i gael eu gweithredu ac mae'r tudalennau gwe a fydd yn cael ymweliad. Ac mae gennym hefyd y cyfeiriadur barn. A golygfeydd yn cynnwys templedi. Dyma beth y swyddogaeth render-- gwelsom y rendr swyddogaeth mewn bagad o'r cod PHP bod CS50 eisoes wedi ysgrifennu i chi, sy'n cymryd mewn rhai paramedrau. Yr hyn y cod yn ei wneud yn ei fod yn mynd i mewn i safbwyntiau, sydd yn setiau o fel Cod HTML prewritten, ac mae'n gosod gwerthoedd i mewn i rai mannau. Dyma sut pan fyddwch yn mynd i mewn i CS50 Cyllid, yr un pennawd ar bob tudalen. Mae'r un troedyn ar bob tudalen. Mae hyn oherwydd bod y ffordd hynny rendro gwaith a yw'n chi helpu chlytia yn awtomatig yn y pennawd a gwyliwr y gallwch ddod o hyd mewn barn. Rydym mewn gwirionedd yn gallu mynd i mewn i pennawd, ac edrych, 'i' ar ffurf ffeil HTML gyda phen. Mae'n got rhai arddull. Nid oes angen i chi edrych ar CSS ar gyfer pset7 os nad ydych yn dymuno gwneud hynny. Ond gallwch addasu hwy os ydych yn dymuno, gwneud eich Cyllid yn edrych ychydig yn wahanol. Mae'n got rhai PHP yn y pennawd ychydig i weld os oes deitl gwahanol dylai roi yn header hwn. Ond dim ond rhai sgriptiau eraill, a chysylltiadau, a phethau eraill. Pennaeth yn dod i ben, corff yn dechrau, ac wps, mae gennym ychydig hwn bit pen 'n annaearol. Ac mae 'na div, yn union fel yn fath o formless elfen sydd â syniad o'r canol. Ac yna pan welwn troedyn, mae gennym diwedd div. Mae gennym gwaelod, sef lle bo'r testun troedyn yn. Diwedd y div, diwedd y corff, diwedd HTML. Felly beth yw rendr wneud yw rendr yn didoli o clytio i fyny pennawd, a gwahanol ffeil PHP sy'n bydd yn cynnwys y pethau gwirioneddol y byddwch yn gweld, fel eich tabl o stociau os ydych yn prynu neu werthu stociau. Ac yna bydd yn ychwanegu yn y troedyn. A barn model syniad rheolwr yw ein bod yn eisiau i wahanu sut pethau yn edrych o'r cod. Mae'n rydym am i wahanu'r frontend a'r ol-wyneb, lle mae'r frontend yn y pethau y mae'r defnyddiwr yn gweld, y 'n glws visuals-- HTML, CSS, pethau fel 'na, delweddau, et cetera. Ac mae'r ol-wyneb yn PHP. Mae hyn yn cod eich bod yn ysgrifennu. Dyma lle mae'r cod sy'n gwneud gweithrediadau gwirioneddol. Mae hyn yn pan fyddwch yn ychwanegu stoc i'ch bwrdd, pan fyddwch yn prynu a gwerthu, dyna ochr gefn. A gallwn, fel y gwelsoch, gan gynnwys PHP yn uniongyrchol yn HTML. Felly, beth y gallem fod wedi ei wneud ar gyfer aseiniad hwn yn newydd gael ffeil HTML ar gyfer pob tudalen, fel mewngofnodi. Ac yna ar y dudalen honno, dim ond Roedd bloc anferth o god PHP, gan gynnwys pob un o'r cod sy'n y byddai angen dudalen benodol. Ac yna gallem fod wedi gwneud hynny ar gyfer portffolio. Gallem fod wedi gwneud pob un o'r prynu a gwerthu o fewn y tudalennau unigol. Ond oherwydd ein bod yn rendro ar wahân i ble rydym yn ysgrifennu'r ol-wyneb cod, y gallwn yn hawdd newid sut mae pethau yn edrych heb newid pob ffeil. Rydym yn gwneud pethau fel dim ond ychwanegu mae div newydd i'r gwaelod o- Helo Rwy'n addaswyd y troedyn. Alli jyst wneud pethau fel 'na. Ond hefyd, gallwch newid y cynllun gweledol cyfan heb effeithio ar beth sydd mynd i'r ochr gefn. A gallwch newid y ol-wyneb cyfan ac yn dal rhaid iddo edrych yn union fel y gwnaeth o'r blaen. Mae hyn yn A yw'r syniad o fodel farn rheolwr. Ac mae'n mewn gwirionedd yn patrwm a osodwyd yn rhai o'r ieithoedd rhaglennu efallai y byddwch am ddefnyddio ar gyfer prosiectau terfynol. Os ydych yn gwneud datblygu iOS, mae ganddynt safbwyntiau, sef yr hyn a welwch ar yr iPhone, ac Yna ol-wyneb fel fel rhywbeth ar wahân. Gallwch chi feddwl am ychydig bach. Mae yna lawer o binaries yn cyfrifiadureg, sydd yn ddoniol, fod popeth sydd yn deuaidd. Doeddwn i ddim yn cynllunio hynny. Dyna oedd pun anfwriadol. Ie, gair mwys na fwriedir. Ond fel ffeiliau .h a ffeiliau .c, mae ' llawer o gwahanu o bethau yr ydym Efallai na fydd angen. Felly, gallwn jyst olygu'r ffeiliau h, neu Gall rhywun ond yn gweld ffeil .h ac yn gwybod yn union swyddogaethau sydd yn y ffeil .c heb o reidrwydd yn gwybod eu gweithredu. Mae'r syniad o gydrannau sy'n gwahanu sy'n dibynnu ar ei gilydd ond gall fath o gael mynediad at ei gilydd drwy sianeli gwahanol, pasio o newidynnau, dim ond gynnwys datganiadau, pethau fel 'na, yr egwyddor hon yn helpu i greu ceisiadau Gall hynny fod yn haws wedi'i olygu gan bobl lluosog, gellir eu newid yn haws neu eu haddasu ar raddfa fawr, ac yn haws eu dadfygio mewn llawer o ffyrdd. Really gyflym, yr wyf wedi ychydig o awgrymiadau ar gyfer pset7, y byddaf yn gwneud sgrin lawn er mwyn i chi beidio dim ond yn edrych ar the-- Tippee domen domen. Nid oes bod llawer o awgrymiadau. Ond yr wyf yn crybwyll PHP yn anodd i'w dadfygio. Dwbl a triphlyg ei wirio. Os nad yw eich cod yn unig yn arddangos i fyny ar y dudalen, mae'n debyg gwall PHP, mae'n ddrwg gennyf. Byth angen i chi edrych ar CSS os nad ydych yn dymuno gwneud hynny. Ond ar ôl i chi orffen, gall fod yn yn beth bach o hwyl braf i jyst yn mynd yn a llanast â'r paramedrau CSS. CSS a HTML yn enghraifft o fodel arddull rheolwr barn peth hefyd, dde? Gallech gael tagiau arddull tu mewn elfennau HTML. Ond os ydych yn fath o eu contractau allanol i CSS, eu bod yn haws i olygu, a chwarae o gwmpas gyda, a chael hwyl gyda. Trin CS50 cynorthwywr swyddogaethau fel blychau du. Nid oes angen i chi ei wybod yn union beth rendr sy'n gwneud, ond ymddiried ynddo i bob amser yn gwneud yr hawl beth yn dibynnu ar yr hyn yr ydych yn ei throsglwyddo, pethau fel hyn. A byddwn yn argymell gwylio walkthrough Dewi, mynd drwy'r holl pethau, nid dim ond y todos, ond yr ydych yn wir yn gallu trin y blychau fel y du. Peidiwch â mynd rhain swyddogaethau chwilio am chwilod. Ac yn croesawu dychweliad o'n Zamyla overlord. Great. A oes unrhyw gwestiynau terfynol cyn rydym yn fath o bownsio ar gyfer y diwrnod? Ydw i'n dal i fyw? Great. Pobl livestream Hi. Great. A oes anymore cwestiynau? Na? Ac yna yr wyf yn meddwl ein bod da i fynd am heddiw. 'N annhymerus' ffon o gwmpas ychydig bach wedi hynny os oedd gan bobl gwestiynau eu bod yn ofni gofyn ar y nant. Ond fel arall, cael diwrnod da.