[CHWARAE CERDDORIAETH] SIARADWR 1: Mae hwn yn CS50 ac dyma ddiwedd yr wythnos saith. Mae heddiw yn bosibl lle rydym 'n sylweddol yn dysgu ieithoedd i chi. Rydym yn cyflwyno yn y cwpl o gorffennol wythnosau HTML a CSS, nid yw'r un o'r sy'n yn ieithoedd rhaglennu. Ac yn wir, hyd yn oed er y gwnaethom nad edrych ar yr bron pob un o'r tagiau bod HTML hon gyda a bron pob un o'r eiddo sydd CSS hon gyda, dyna math ohono ar gyfer HTML a CSS. Rydym annhymerus dim ond yn gyffredinol dechrau gan dybio eich bod yn deall y syniadau cyffredinol tagiau, a nodweddion, a thudalennau yn cael eu hanfon o cleient i gweinydd. Gan fod heddiw rydym yn dechrau edrych ar iaith rhaglennu arall, PHP. Rydym yn mynd i wneud hyn yn gyflym super. Nid ydym yn mynd i eich dysgu PHP fel y cyfryw, yn debyg nad oeddem yn anelu at eich dysgu C, fel y cyfryw, ond yn hytrach rhaglennu. Ac yn wir, un o'r nodau ar gyfer y cwrs hwn yn peidio â dysgu chi C, neu HTML, neu CSS, PHP neu, neu unrhyw nifer o eraill eiriau wefr neu acronymau, ond yn hytrach y wyddoniaeth gyfrifiadurol a sut i raglennu yn sylfaenol. Ac yn wir, heddiw rydym yn dechrau cymryd y rhai olwynion hyfforddi oddi ar yr holl ymhellach drwy hedfan drwy iaith o'r enw PHP, fel a ganlyn. Dyma beth yr iaith hon yn edrych fel. Mae'n ymddangos nad oes angen prif swyddogaeth mewn rhaglen ysgrifenedig mewn iaith o'r enw PHP. Er mwyn i eisoes yn swnio ychydig yn symlach na C, rydym yn gyfarwydd â hwy. Mae'n ymddangos bod os byddwch yn eisiau i ddatgan newidyn, byddwch yn gwneud hynny bron yn union yr un fath i C. Ond mae un gwahaniaeth amlwg yma pan wyf yn datgan llinyn, neu efallai dau wahaniaeth. Beth yn edrych yn wahanol? GYNULLEIDFA: Mae'r arwydd doler. SIARADWR 1: Oes, mae 'na doler llofnodi, yr ydym erioed wedi ei weld o'r blaen. A beth ar goll? Yeah? GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Yeah, does dim math o ddata. Felly, mae'n ymddangos bod PHP yn yr hyn yr ydym ffoniwch iaith deipio llac, lle C yn cael ei deipio yn gryf. Teipio llac yn unig yn golygu bod mae gwahanol fathau data, mae llinynnau, a ints, a fflotiau. Ond mae'r ffigurau cyfrifiadurol sy'n allan. Rydych yn y rhaglennydd dynol Nid oes rhaid i chyfrif 'ii maes. Felly yr holl rhaid i chi ei wneud i ddatgan newidyn yn arwydd doler, enw eich amrywiol, ac yna, er enghraifft, dyfyniad unquote, helo byd. Wel dyma beth mae cyflwr yn edrych fel yn PHP. Unrhyw wahaniaethau? Na Felly, mae'n troi allan y rhain yn union yr un fath. Ac efallai y byddwch yn cael llai o canghennau neu fwy o ganghennau, ond mae'r tro gystrawen beth yn union yr un fath. Ymadroddion boolean gall eu harchebu gyda'i gilydd. Ymadroddion boolean Gellir anded gyda'i gilydd. Rydych yn dal i gael switshis. Hyd yn oed os nad ydych wedi defnyddio hyn, mae'r rhain yn bodoli yn C ac maent yn weithredol cyfatebol yn PHP. Ac yn wir, yn PHP eu bod yn ychydig yn fwy pwerus. Yn C, gallwch gymharu penodol fathau o ddata fel ints a chars, tra yn PHP gallwch gymharu gwirionedd llinynnau fagu plu llawn heb orfod i chi boeni am awgrymiadau ac yn y blaen. Felly dyma am ddolen. Mae hyn yn unig pseudocode cod, os mynnwch. Ond yn strwythurol mae'n union yr un fath i C. Dyma dolen tra, pseudocode therefore-- union yr un fath i C. Dyma do tra'n loop-- union yr un fath. Ac felly does fath o y patrwm yma, lle mae ychydig o cystrawennol eraill Nodweddion rydym yn wir yn mynd i weld. Yn wir, dyma 'n glws ffordd PHP lle, os ydych am ailadrodd dros amrywiaeth, ac i chi nad ydych am i neidio drwy'r cylchoedd meddyliol a cystrawennol o gael int ff yn dychwelyd 0, fi llai na n, fi plws plus-- sy'n yn unig yw llawer o gystrawennau blino. Gallwch ddweud ychydig yn fwy fluidly ar gyfer pob rhifau fel rhif, ble yn yr achos hwn rhifau arwydd doler, rwy'n tybio, yn debyg i nifer y arae o'r enw. Ac yna rwy'n tybio rhif, unigol, yn mynd i fod yn amrywiol. A beth fydd PHP ei wneud i mi gan fy mod yn ailadrodd dros y ddolen hon yw, ar bob iteriad, mae'n mynd diweddaru'r nifer amrywiol i fod yr elfen ith yn y niferoedd, lluosog. Felly 'i jyst yn ymdrin hynny i gyd i mi. Dim cromfachau sgwâr, dim arwydd doler, dim hanner colon. Mae'n dim ond ychydig yn symlach. Wel, os ydych am gael array, mae'n troi allan chi Gall wneud rhywbeth 'n bert yn debyg i C. Mae'r gystrawen yn ychydig yn wahanol. Ond yma wedi arae o'r enw doler llofnodi rhifau. Ac yr wyf yn defnyddio, yn PHP, sgwâr cromfachau, mae'n troi allan. Ac rydym yn mynd i weld y rhain eto yn JavaScript-- eto iaith arall. Fi jyst yn defnyddio nodiant braced sgwâr i gael rhestr atalnod gwahanu o gyfanrifau, yn yr achos hwn. Ond mae hynny'n rhoi amrywiaeth mi. Ond hyd yn oed yn fwy pwerus yn PHP, mae gennym hefyd beth yn gyffredinol Gelwir araeau cysylltiadol. Ac mae llawer o ieithoedd cael hyn yn ogystal. Y peth am araeau C yw bod y mynegeion ar gyfer amrywiaeth, y peth yr ydych defnyddio mewn cromfachau sgwâr drwy lle gael gafael ar elfennau, fod yn beth? GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Mae'n rhaid iddynt fod yn rhifau neu cyfanrifau, yn benodol o sero ar i fyny. Wel, yn PHP, ac, mae'n troi allan, mewn ieithoedd eraill, gallwch ddechrau cael mynegeion nad ydynt yn rhifol. Ond maen nhw'n mewn gwirionedd geiriau neu ymadroddion, fel bod yn hytrach na ceisiwch gofio ble mae rhywbeth yw, neu ei storio mewn i amrywiol, alli 'n weithredol defnyddio gair a dweud that-- gallwch ddweud gair fel hyn. Felly dyfyniad arwydd doler yw'r enwi o newidyn yma. Mae hyn yn cystrawen braidd ffynci mae hynny'n cysylltu dau gwerth allweddol parau ar gyfer newidyn hwn. Yn benodol, mae hyn yn rhoi i mi amrywiaeth sydd o hyd 2. Ond nid y mynegeion 0 ac 1. Mae'r mynegeion yn cael eu dyfynnu unquote symbol a dyfynnwch y pris unquote. Ac gwerthoedd mynegeion hynny, yn y drefn honno, yn FB i Facebook a $ 79.53, pan fyddaf yn para wirio pris ar gyfer hyn. Beth yw ystyr hynny? Wel, mae'n golygu bod yn lle cod ysgrifennu fel hyn, lle yr wyf yn ei ddefnyddio i wneud rhywbeth fel doler sign-- neu yn hytrach, yn C Ni fyddwn yn hyd yn oed yn cael arwydd doler. Byddwn yn gwneud rhywbeth fel dyfyniadau ac yna Byddwn yn gwneud braced i gael o rai fympwyol mynegeio gwerth rhifol. Gan ddechrau heddiw yn PHP, os ydych yn am gael ar ryw werth, rydym fath o wedi mwy expressiveness semantig. Dim ond yn ffordd ffansi o ddweud y gallwn ffoniwch pethau beth ydynt. Ac os ydych chi am gael ar rywbeth symbol, nawr eich llythrennol yn ei wneud Dyfynnwch symbol unquote mewn cromfachau sgwâr yn hytrach na nifer yn unig. Felly mae'n gyfleustra 'n glws. A dyna fath o ni am y tro. Mae tusw o nodweddion eraill yn PHP. Ac yn wir, PHP hon gyda sinc y gegin diarhebol. Mae dwsinau, cannoedd o swyddogaethau yn dod gyda PHP-- cymaint mwy na ddaeth gyda C. Ac nid dyna'r bwriad o gorlethu ond yn hytrach helpu byddwch yn sylweddoli ein bod ni rhaid i ysgrifennu cod hirach dyna fath o lawr yma gysyniadol. Nawr gallwn dim ond dechrau cymryd mantais nodweddion llawer mwy datblygedig bod ieithoedd fel PHP wedi. Felly nid oes gennym i chi boeni am symud pethau o gwmpas yn y cof. Nid oes rhaid i chi boeni am malloc a phob un lefel is hyn, Manylion pwerus y byddwch yn reslo gyda, os nad cael trafferth gyda, pset5, ond gallwch ddechrau yn fuan cymryd yn ganiataol. Yn wir, gadewch i ni ysgrifennu super rhaglen syml yn PHP, fel a ganlyn. Rydw i'n mynd i fynd i ben i mewn i CS50 IDE yma, a'r hyn yr wyf i'n mynd i wneud yw creu ffeil newydd, bod yn syml iawn yn mynd i gael ei alw helo dot PHP. Felly, yn lle dot c, 'i' mynd i gael ei alw dot PHP. Ac yna yn y ffeil hon, Gallaf ddechrau teipio. Ond mae'n ymddangos bod y un peth mae'n rhaid i mi ei wybod yw bod unrhyw ffeil PHP yn gyffredinol, mae angen i ddechrau gyda rhywfaint o gystrawen arbennig. Debyg o ran ysbryd i HTML, ond unwaith eto, PHP yn iaith raglennu, nid iaith markup. Felly pob ffeil, ac mae'n fath o dwp yn edrych 'n annhymerus' cyfaddef. Braced agored, gofynnod, PHP. A dim ond y ffordd iaith o ddweud, hey, cyfrifiadur yma hon rhywfaint cod hysgrifennu mewn iaith o'r enw PHP. Ac yna ar ddiwedd o'ch ffeil, chi wneud y math o fath y gwrthwyneb. Nid ydych yn ysgrifennu PHP eto, 'ch jyst gwneud marc cwestiwn, bachyn ongl. Ac yna unrhyw beth yr ydych yn rhoi y tu mewn y ddau dag, fel petai, Bydd fod, neu y dylai fod, cod PHP. Felly, gadewch i ni wneud rhywbeth super syml. Rydw i'n mynd i fynd yn ei flaen a gwneud print def, helo byd, slaes n, arbed. Ac yn awr ar fy brydlon, dw i'n mynd i ei wneud, yn gwneud hello-- dim, dw i'n mynd i'w wneud, dot slaes helo. Na, dot slaes, EM. Felly rhywbeth sy'n wahanol. Ac yn wir, mae hwn yn wahaniaeth allweddol rhwng PHP a ieithoedd fel C. C Roedd hyn a elwir yn iaith llunio. Beth oedd ei olygu i C i gael ei llunio? Beth oedd yr awgrym? Yeah. GYNULLEIDFA: Ysgrifennu i mewn cod beiriant felly gellid ei rhedeg gan y cyfrifiadur. SIARADWR 1: Yn union. Mae'n rhaid i ni droi yn gyntaf i mewn hyn a elwir cod peiriant, zeros a rhai, cyn y bydd mewn gwirionedd yn weithredadwy ac yn ddealladwy gan y cyfrifiadur. Erbyn Intel tu mewn. Erbyn CPU tu mewn i'r cyfrifiadur. PHP, mewn cyferbyniad, yn yr hyn a elwir yn iaith dehongli, a oedd yn yn golygu nad ydych yn llunio ei i mewn i zeros a rhai, cod peiriant, chi yn hytrach na adael fel cod ffynhonnell. A ydych yn lle hynny ei drosglwyddo fel mewnbwn i raglen, cyfieithydd ar y pryd bod rhywun arall yn ysgrifennu flynyddoedd yn ôl sy'n deall ei linell wrth linell, cymeriad gyfer cymeriad. Felly, mewn geiriau eraill, pobl allan yna ysgrifennodd rhaglen a fydd yn edrych yn eich llinell wrth linell cod, a chyfrif i maes beth dylai'r cyfrifiadur ei wneud, heb ei drosi yn uniongyrchol i zeros a rhai. Felly, os yw'n gweld yn ar gyfer dolen, hyn a elwir yn gyfieithydd yn mynd i fod fel, iawn, dylwn yn gwneud rhywbeth eto ac eto ac eto. Beth ddylwn i ei wneud? Gadewch i mi edrych ar y llinell nesaf. Gadewch i mi edrych ar y llinell nesaf. Ac mae'n wir mae'n ei ddehongli fesul llinell. Felly, i weithredu arno, Nid wyf yn defnyddio gwneud. Nid wyf yn defnyddio dot slaes yn yr achos hwn. Rwyf yn lle hynny wneud PHP, sef enw rhaglen, a.k.a. Cyfieithydd ar y pryd, dyna cyn-osod yn CS50 IDE, ac yn awr mae angen i mi basio ymresymiad llinell orchymyn, a oedd yn yn eithaf syml, enw'r ffeilio yr wyf am ei ddehongli. Neu yn fwy casually, yr wyf am ei redeg. Ac os wyf yn taro Mewnbynnu, mae gennym. Helo Byd. Nawr mae'n ymddangos fy mod yn a ddefnyddir def print yn fwriadol i bontio'r ni o C i PHP. Mae'r rhan fwyaf rhaglenwyr PHP, fel y byddwch yn gweld, peidiwch â hyd yn oed yn trafferthu defnyddio print def. Maent yn unig yn defnyddio swyddogaeth o'r enw print, nad oedd ganddynt C. Ac felly os byddaf yn ailgynnal yn awr, mewn gwirionedd mae'n ymddwyn swyddogaethol yr un fath. Nid wyf yn gallu defnyddio'r cant s a fi cant ac yn y blaen, ond mae ffyrdd eraill yn PHP o wneud hynny. Ond mae hyn yn unig i yn dweud bod syntactically, heblaw rhai pethau rhyfedd i fyny top, a rhai cymeriadau rhyfedd i lawr ar y gwaelod, mae'r cysyniadau yn awr o rhaglennu yn yr iaith arall yn mynd i fod yn union yr un fath. Yn wir, gadewch i ni wneud un enghraifft arall. Felly dw i'n mynd i fynd yn ei flaen a chau y ffeil hon. Gadewch i mi greu un arall sy'n 'N annhymerus' galw amodau 1 dot PHP. Felly nid oes sero, oherwydd yr hyn a wnaeth i mi oedd fy mod yn edrych yn ôl ychydig wythnosau yn ôl, cawsom ffeil o'r enw amodau 1 dot C. A beth Wnes i ddim ei newid yn fy pen, ac yn fan hyn ar bapur, ac yn fuan ar y cwrs yn gwefan, fesul llinell i mewn PHP. Felly, yn y fersiwn C, gwnaethom rywbeth fel llinyn s yn cael cael llinyn. Felly mae'n ychydig yn wahanol i wneud hynny yn PHP. Yn lle hynny, Im 'jyst yn mynd i'w wneud, neu yn hytrach, yr wyf yn Efallai fod wedi gwneud int n cael ei gael int, yn yr enghraifft hon yn gynharach. Felly, yn lle hynny, yr wyf i'n mynd i wneud n cael llinell darllen, hoffwn yn gyfanrif, os gwelwch yn dda. Felly, mae hyn yn unig yw fy brydlon. Ac felly mae'n troi allan, ac Byddwn ond yn gwybod hyn o ôl darllen neu wedi gweld y swyddogaeth o'r blaen, darllenwch llinellau swyddogaeth yn PHP yn cymryd dadl bod yn brydlon ar gyfer y bobl, ac mae ei phwrpas mewn bywyd yw darllen linell o destun ei fod ef neu hi yn fathau. Ac yna mae'n storio bod testun i mewn i'r n amrywiol. Ac yn awr efallai y byddwn am wneud rhywbeth fel y gwnes i wythnos yn ôl, mewn wythnos tebyg un o'r dosbarth. Os yw n yn fwy na sero, yna, dw i'n mynd i fenthyg y gystrawen rydym yn unig yn gweld, print def, byddwch yn dewis nifer cadarnhaol, n slaes. Else os n hafal hafal sero, rwy'n mynd i fynd yn ei flaen a dweud, print def, chi dewis sero slaes n. Else, dyma dylai'r achos wrth gwrs yn, print def, chi ddewis rhif negatif. A gallwn yn sicr yn rhoi ar waith y rhesymeg y peth hwn mewn criw o wahanol ffyrdd, ond y pwynt yma yw bod syntactically, prin unrhyw beth yn newydd. Dim ond arwydd doler a swyddogaeth newydd a llinell darllen. Ond yn sylfaenol, beth sy'n newydd yn awr yw fy mod yn dehongli'r hyn. Rydw i'n drosglwyddo fel mewnbwn i raglen arall. Felly os wyf eisiau rhedeg hyn, os Doeddwn i ddim yn gwneud unrhyw gamgymeriadau, Rydw i'n mynd i redeg PHP, o amodau 1 dot PHP, Mewnbynnu, Rydw i'n mynd i deipio yn y nifer 50, a gadewch i ni dybio am nawr mae'n gweithio. Oherwydd bod y rhesymeg yn y yr un pethau ag wythnos un. Mae pob hawl, felly dyna 'n bert underwhelming, dde? Gallem wneud hyn mewn unrhyw nifer o ieithoedd. Gadewch i ni wneud rhywbeth ffordd fwy pwerus. Gadewch i ni problem gorffen a phump. Felly, yr wyf i'n mynd i fynd yn ei flaen ac yn gwneud hyn. Rydw i'n mynd i greu ffeil Gelwir geiriadur dot PHP, ac tueddu ag y gallech fod i sgrialu i lawr llawer o nodiadau, Bydd y nodiadau yn unig yn helpu os ydych yn caniatáu i chi i weithredu problemau a osodwyd pump yn PHP. Ond byddwn yn gweld pa mor gyflym yr ydym yn awr Gall weithredu'r un broblem a osodwyd. Felly mewn geiriadur dot PHP, yr wyf yn mynd i gymryd yn ganiataol bod yna eisoes ffeil yn y byd a elwir yn sillafu. Ac yn wir, yr wyf yn gwneud hyn o flaen llaw, ac ni fyddwn yn cerdded drwy y llinell hon gan linell, ond os ydych chi'n chwilfrydig yn ddiweddarach ac yn wir eisiau i lapio eich meddwl o amgylch y gwahaniaethau rhwng c a PHP, yn llythrennol yn cymharu y ffeil, sillafu, o cod ffynhonnell heddiw y byddwn yn postio yn nes ymlaen heddiw, yn erbyn p set pum dot sillafu ein bod yn rhoi i chi c, ac mae bron yr un fath fesul llinell. Mae mwy o arwyddion ddoler. Mae swyddogaethau cwpl yn ychydig yn wahanol. Ond mae'n ffordd braf o fath o weld sut byddwch yn cyfieithu un iaith i'r llall. Ac mae'n llinell bron yn union ar gyfer llinell. Ond dw i'n mynd i gymryd yn ganiataol bod hynny yn bodoli, a'r hyn yr wyf i'n mynd i wneud yma yw ceisio chwythu eich meddwl drwy reimplementing y cyfan o'r broblem a osodwyd pum ffordd gyflymach nag ydych chi wedi bod yn ei wneud hyd yn hyn. Felly, er enghraifft, yr wyf i'n mynd i gyntaf ddatgan newidyn byd-eang a elwir maint, a'i osod yn hafal i sero. Nawr nid yw hynny'n llawer o arbedion. Odds yn cael eu rhoi ar waith i chi maint 'n bert lawer yr un fath, neu awgrym awgrym, bydd heno neu yfory, dim ond gan ddefnyddio newidyn byd-eang o'r enw maint, ac yn ei osod yn hafal i sero. Nid yw hyn yn arbennig o spoiler anhygoel. Felly beth oedd eich data strwythurau dewis, y rhai ohonoch sydd wedi syrthio mewn a darllen y fanyleb, strwythurau pa ddata wedi y rhan fwyaf ohonoch wedi bod yn defnyddio? Mae tabl hash neu roi cynnig ar, efallai rhai amrywiadau o hynny. Felly gweithredu tabl hash o leiaf, yn fath o lawer o linellau o god, iawn? Ac efallai na fydd pob un ohonynt yn swyddogaethol yn y fan hon yn yr wythnos, ond mae hynny'n iawn. Oherwydd yn PHP, os byddaf eisiau tabl hash, ei wneud. Iawn? Er mwyn i newidyn fy mod i wedi datgan yn unig yn amlwg Gelwir tabl arwydd doler, fesul y cyflwyniad o'r blaen. Ond Fi 'n sylweddol jyst eisiau, yn diwedd y dydd, amrywiaeth. Ond nid yw mynegeio rhifiadol array, oherwydd dyna fel wythnos dau pethau, pan fyddwn yn siarad am araeau. Rwyf am dabl hash. Ond tabl hash yn wirioneddol dim ond yn ffordd concrid o ddweud, rydych am amrywiaeth cysylltiadol. Byddwch am fod yn gallu allweddi cysylltiol gyda gwerthoedd. Allweddi â gwerthoedd. Beth yw eiriadur, mewn gwirionedd? Wel mae'n criw cyfan o allweddi. Mae geiriau fel afal, gellygen, banana a, a phob un o'r geiriau Saesneg yma ein bod yn llaw i chi. A'r gwerthoedd sy'n eich bod yn effeithiol fewnosod yn eich geiriadur naill ai'n wir neu absenoldeb, ffug. Mewn geiriau eraill yr ydych yn ei fewnosod criw cyfan o barau gwerth allweddol, afal, yn wir, gellyg, yn wir, banana, yn wir. Felly pan fyddwch yn adfer neu'n edrych i fyny data hwnnw yn eich tabl hash gyda'ch swyddogaeth siec, rydych yn naill ai yn mynd yn ôl ateb, ie, yr wyf yn ei chael yn yn fy cymhleth hash bwrdd, neu na, nid ei fod yno, felly byddwch yn dychwelyd ffug. Felly, i wneud hynny, y cyfan sydd angen i mi yw'r data strwythur fel yr wyf yn cynnig o'r blaen. Jyst angen i mi fod yn gallu i gysylltu geiriau fel, dyfynnwch unquote, symbol, gyda gwerth fel, yn wir. Felly mae fy mwrdd hash. Gadewch i ni mewn gwirionedd yn ei ddefnyddio. Felly mae yna ychydig o swyddogaethau Mae angen i mi weithredu. Rydw i'n mynd i fynd yn ei flaen ac yn brathu oddi maint swyddogaeth o'r enw. Mae'n cymryd unrhyw ddadleuon. Nid oes rhaid i mi drafferthu gyda y gair, ddi-rym, yn PHP. Rydw i'n syml mynd i ddychwelyd maint. Ac wrth fynd heibio, PHP wedi y manylion minorly blino, lle bydd unrhyw beth yn fyd-eang, mae'n rhaid i chi dywedwch wrth y swyddogaeth yr ydych yn ei ddefnyddio iddo, hey, mae hwn yn newidyn byd-eang. Felly, mân hurtrwydd, ond rydych yn rhaid i wneud hynny serch hynny. Felly beth am llwyth? Rydw i'n mynd i weithredu llwyth swyddogaeth o'r enw sy'n cymryd yn enw o eiriadur, yn union fel yn broblem a osodwyd pump. A chyn i mi fynd yn ei flaen, yn sylwi nad wyf wedi bod yn teipio hollol yr un pethau. Beth sy'n amlwg yn wahanol yn PHP am sut yr ydych yn datgan swyddogaeth yn erbyn C? Yeah. GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Dim math dychwelyd. Ac yn wir, dyna'r achos, PHP i'r graddau y mae'n ei deipio llac, ychydig yn flêr yn hynny o beth hefyd. Nid ydych yn pennu wrth i'r rhaglennydd pa ffwythiant yma yn dychwelyd. Byddai'n rhaid i chi edrych mewn gwirionedd yn y cod at chyfrif hynny allan. Neu ddarllen y sylwadau neu y ddogfennaeth. Felly pwyntiau cadarnhaol a negyddol o mathau hyn o benderfyniadau. Ond mae'n rhaid i mi ddweud y gair allweddol, swyddogaeth. A phan fyddwn yn dysgu JavaScript mewn cwpl o wythnosau rydyn ni'n mynd i weld yr un peth unwaith eto, ond mae'n yr un syniad. Enw'r swyddogaeth, ei ddadl neu ddadleuon neu ddiffyg o hynny, ac yn awr dyma yw'r gweithredu. Felly, yr wyf i'n mynd i dorri rhai corneli yn unig i fod yn ddramatig am ychydig funudau'n. Ond dw i'n mynd i fynd yn ei flaen ac yn dweud hyn. Dyma sut y gallaf lwytho ffeil i mewn arae. Mae swyddogaeth yn PHP o'r enw ffeil. Rydych yn llaw ei enw ffeil. Mae'n dwylo chi yn ôl amrywiaeth, y tu mewn o'r rhain yw pob llinell o'r ffeil. O sero, un, ar i fyny i n minws 1 linellau. Dyna ni, dde? Does dim darllen f. Does dim f get s. Does dim cant s. Does dim cur pen. Does dim feof. Mae pob un o'r stwff ag ef ydych wedi bod yn reslo efallai, gyda p yn gosod pedwar a phump, yn mynd i ffwrdd. Felly, yr wyf newydd ddarllen y llinellau hynny i mewn y ffeil, ac yna rydych yn gwybod beth? Os ydw i eisiau ailadrodd dros y geiriau hynny, Gallaf ei wneud, ar gyfer pob un llinellau ag y llinell. Cofiwch fod hyn fath o glyfar ffordd o ailadrodd dros amrywiaeth, mynegai trwy fynegai, ac ar bob galwad iteriad y llinell gyfredol, llinell arwydd doler. Ac dde yma dw i'n mynd i fynd a dweud bwrdd, braced, llinell, yn cael wir. Mewn geiriau eraill, mae hyn yn sut yr wyf yn mewnosod i mewn i fy tabl hash yn PHP. Rwy'n dweud bwrdd arwydd doler, a oedd yn yw fy arae cysylltiadol a oedd yn gwag fesul y llinell o cod fyny uchod. Yna rwyf mynegai i mewn iddo Nid yw, gan ddefnyddio nifer, ond yn llythrennol gan ddefnyddio'r gair allweddol yr wyf yn poeni am. Efallai ei fod yn afal neu ellygen neu fanana neu beth bynnag, ond yn benodol i ddim yn mynegeio i mewn iddo yn hoffi gynigiais yn gynharach. Yr wyf yn cymryd enw fy amrywiaeth cysylltiadol, ac yna yr wyf yn defnyddio dyfyniad unquote yn y cromfachau sgwâr gyda llinyn, yn hytrach na nifer gwirioneddol. Ac felly dyna ni. Mae'r swyddogaeth llwyth yn cael ei wneud. Unwaith y bydd hynny'n ailadrodd dolen, dwi wedi rhoi popeth i mewn i'r tabl hash. Nawr ymwadiad bach, mae 'na cwpl o bethau mae angen i mi atgyweiria. A'r fersiwn 'n annhymerus' bostio ar-lein Bydd yn rhaid i bob un o'r arlliwiau, ond mae'n bennaf yn unig yn mynd i fod yn rhyw gwirio wall a rhai mân tweaks. Ond dyna wir hanfod ohono. Os wyf yn awr am weithredu y swyddogaeth o'r enw gwirio, sy'n disgwyl gair fel ei dadl, sut y gallwn fynd ati i wneud hynny? Wel, dw i'n syml mynd i ddweud, os tu mewn fy mwrdd, yn air lleoliad, os wedi ei osod. Felly, os oes yw-- mewn gwirionedd, eich bod yn gwybod beth? Rydw i'n mynd i wneud hynny mewn ychydig o pseudocode. Ond mae'r syniad yr un fath. Os yw hynny'n wir hafal, yn dychwelyd yn wir. Iawn. Else-- allwch chi fath o weld lle mae hyn yn going-- dychwelyd ffug. Done. Gwirio ei wneud. Pretty 'n glws, dde? Ac felly beth yw hyn wir yn mynd yn? Ac mae hyn hefyd, yr wyf yn torri rhai corneli. Edrychwch ar y fersiwn ar-lein ar gyfer pob un o'r ychydig arlliwiau. Ond dyna hanfod ohono. Mynegai i mewn i'ch array cysylltiadol, a.k.a. Tabl Hash, weld os oes 'na gwerth yno, os yw'n wir, ac os felly, dychwelyd yn wir. Felly rydym wedi ei dreulio o dipyn i lawr pob un o'r cymhlethdod. Felly fath o feddwl chwythu, dde? Ni fyddaf yn trafferthu gorffen gyda dadlwytho, oherwydd yn fact-- oh, eich bod yn gwybod beth? Yeah, gadewch i ni ei orffen gyda dadlwytho. Dadlwytho mewn tabl hash gallai edrych fel dadlwytho swyddogaeth, yn dychwelyd. Iawn felly dyna dadlwytho. Gan nad oes unrhyw beth i ddadlwytho, dde? Does dim malloc. Doeddwn i ddim yn gofyn yn benodol i'r system weithredu ar gyfer unrhyw beth. Fi jyst ddechrau defnyddio newidynnau. Ac felly mae hyn hefyd yn arwydd o nodweddion o ieithoedd lefel uwch. Felly unwaith eto, mae'r rhan fwyaf o'r term hwn rydym wedi bod yn delio lawr yma gyda C. lefel Super isel. Gallwch weld gof y cyfrifiadur. Gallwch gyffwrdd unrhyw beth rydych eisiau yn RAM eich cyfrifiadur, er gwell neu er gwaeth. Hyd yma, rydym yn mynd i roi'r pŵer i fyny. Ond mae fy duw, yn edrych sut llawer llai cod ysgrifennais. Yn wir os nad wyf yn siarad a siarad dros fy teipio, byddem wedi cael ei wneud gyda yr enghraifft hon bum munud yn ôl. Felly, beth sydd y pris sy'n cael ei dalu? Wel gadewch i ni edrych. Gadewch i ni edrych. Rydw i'n mynd i fynd yn ei flaen ac yn rhedeg CS50. Gadewch i mi fynd yn gyntaf i mewn i enghreifftiau heddiw lle Mae gen i'r cyfeiriadur testunau fel o'r blaen. Rydw i'n mynd i redeg y datrysiad y mae'n dod gyda phroblem osodwyd phump o'r enw sillafu, sydd yn cyfrif CS50 yn. Ac yr wyf i'n mynd i redeg ar rywbeth mawr fel y Brenin Iago Beibl, yn union fel y mae gwir rhoi'r atebion staff i'r prawf. Nawr weithiau y rhyngrwyd 'na ychydig yn arafach, ychydig yn gyflymach, Gallai cymryd peth amser i sgrolio. Ond cymerodd cyfanswm o 0.56 eiliad i sillafu gwirio Brenin Iago Beibl ddefnyddio'r datrysiad staff. Felly 'n bert da. Efallai eich un chi fod yn llawer arafach, ac mae hynny'n gwbl iawn. Ond mae'n gywir fan hyn. Felly dyna yr ateb staff. Os byddaf yn mynd i mewn ac yn glanhau'r fersiwn PHP. Ac yr wyf i'n mynd i wneud ychydig fel sioe pobi peth. Rydym yn mynd i gymryd y cod ysgrifennais yn gynharach, felly mae'n berffaith gywir. Gan nad yw'r cod ysgrifennais yn mynd i fod yn hollol gywir yn unig nawr. Ond os byddaf yn rhedeg y fersiwn PHP, beth sy'n rhaid i mi roi'r gorau heddiw? Cymryd i mi bum munud i gweithredu p gosod pump, i hawlio. Pa pris wyf wedi talu? Yeah. GYNULLEIDFA: Cyflymder. SIARADWR 1: Cyflymder. Beth ydych chi'n ei olygu? GYNULLEIDFA: Mae'n mynd i gymryd mwy o amser. SIARADWR 1: pob hawl. Gawn ni weld. Mae'n mynd i gymryd mwy o amser, Nid yw i ysgrifennu, ond i'w redeg. Yeah. Felly gadewch i ni geisio hyn. Felly, dyma dw i'n mynd i fynd yn ei flaen ac yn gwneud PHP o sillafu, ac oherwydd bod y ffeil yn Gelwir sillafu. Felly, dydw i ddim yn rhedeg y geiriadur, galw i gof, Im 'yn rhedeg y rhaglen o'r enw sillafu. Rydw i'n mynd i basio yn yr un ffeiliau, y Brenin Iago y pumed. Mae'n hedfan heibio. Gallai hyn yn unig fod cyflymder y rhyngrwyd, felly peidiwch â darllen gormod i mewn i hynny. Ond mae'n teimlo'n hirach yn sicr. 1.26 eiliad. Nawr mae hynny'n dal i fod yn eithaf damn gyflym, dde? A'r unig reswm y teimlo fel fwy fel tri, neu bedwar, neu bum eiliad, dyna dim ond oherwydd y rhyngrwyd yn bod yn araf. Roedd yr amser a dreuliwyd yn cyfrifiadurol 1.26 eiliad, yn erbyn yr wyf yn meddwl 0.56. Felly fwy na dwywaith mor araf. Nawr bod yn dal i fod yn eithaf darn cyflym, ond mae'n yn amlygiad o, yn wir, mae hynny'n union pris. Oherwydd ein bod yn dehongli yn y llinell cod fesul llinell, a bod PHP rhaglen yn darllen fy cod top i'r gwaelod, o'r chwith i'r dde, mae'n rhaid iddo wneud mwy o feddwl. Mae'n rhaid iddo fath o drosi y tu mewn o ei hun at y peiriant cyfatebol cod ar y hedfan, fel petai, er bod y mecaneg yn ychydig yn wahanol. Yn hytrach na dim ond yn bwydo i'r Intel CPU y sero amrwd a rhai ei fod yn deall frodorol. Felly gwbl, dwylo i lawr, rydym wedi talu pris. Ac cod hysgrifennu mewn iaith fel PHP yn tueddu i fod yn arafach. Ond mae fy duw. Felly nawr pan fyddaf yn gwirio sillafu fy ffeiliau, rwy'n treulio ychwanegol 0.7 neu felly eiliadau vs 20 awr i weithredu a sillafu yn gyflymach gwiriwr, dde? Mae'n fath o gyfaddawd. Ac os ydych ond yn dechrau p gosod pump, efallai na fydd 20 awr. A allai fod yn llawer llai na hynny. Ond mae'n fasnach i ffwrdd, ar gyfer go iawn. Ac os ydych yn rhedeg cod ar fawr iawn setiau data, neu ar galedwedd hŷn hyd yn oed, mathau hynny o wahaniaethau Gall sicr ychwanegu hyd. Unrhyw gwestiynau hyd yn hyn? Yeah. GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Mae'n ddrwg gennyf, gall ydych yn dweud ei fod unwaith eto? GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Rydych yn rhoi'r gorau i amser. Wel, felly yeah. Rydych yn arbed amser drwy peidio â gorfod llunio ei, os dyna beth ydych yn gofyn. Ac yn wir, yn CS50, y rhan fwyaf o'r rhaglenni, er y gallent gymryd ychydig o amser i ysgrifennu, eu bod yn gymharol fyr. Ychydig dwsin, ychydig gannoedd o linellau o god, ac felly maent yn llunio yn weddol gyflym. Ond pan fyddwch yn dechrau ysgrifennu rhaglenni mwy, fel os ydych yn Microsoft neu os ydych yn Google ac ysgrifennu rhaglenni fawr iawn yn C, neu C ++, neu a luniwyd yn yr un modd ieithoedd, gallai gymryd llawer o eiliadau, neu hyd yn oed munud neu fwy i llunio miliynau o linellau o god. Ac yno hefyd, sy'n gwahaniaeth yn mynd i adio. Ac yn wir, ar ôl i ni pontio heddiw, un diwrnod heddiw, i raglenni ar y we gan ddefnyddio PHP, rydych yn mynd i ddod o hyd iddo yn unig gymaint mwy pleserus i ysgrifennu cod pan nad oes rhaid i chi wneud hyn dwp camau megis newid i'ch terfynell ffenestr, math gwneud helo, ail redeg, ail-lwytho y ffenestr. Dim ond cymaint o dwp camau mecanyddol sy'n dim ond mynd yn y ffordd o wneud y mae'r gwaith yn ddiddorol, yn hwyl. Ac yn wir rydym yn taflu i ffwrdd â hynny PHP. A gallwn ryngweithio ag ef yn gyflymach. Yeah. GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Cadarn. A allaf i egluro'r hyn y mae'n ei yn golygu i gael eu dehongli? Pan fyddwch yn llunio iaith fel C, mae'n mynd i lawr fel y dywedasom i beiriant cod, zeros a rhai. A Intel Penderfynodd mlynedd yn ôl y patrymau penodol o sero a rhai gynrychioli ogystal, neu tynnu, neu brint, neu weithrediadau sylfaenol eraill. Yn y byd o iaith dehongli fel PHP, neu JavaScript, neu Python, neu Ruby, neu tusw o eraill, yn hytrach na rhywun wedi ysgrifennu interpreter-- yn yr achos hwn, mae hefyd yn cael ei alw PHP, union yr un fath i'r enwi o'r language-- sydd yn y bôn Mae cylch mawr yn ei bod ailadrodd dros bob un o'r llinellau y cod fy mod yn ei bwydo fel mewnbwn, fel helo dot PHP, neu dot geiriadur PHP. Ac yna gallwch chi feddwl am eu mawr dolen fel un sydd â llawer o gyflyrau. A'r amodau hynny yn dweud, os yw'r dynol wedi ysgrifennu y gair allweddol ar gyfer, dechrau gwneud ei cod dro ar ôl tro. Neu os y dynol wedi ysgrifenedig y llinell o god, os, ond yn cyflawni eu llinell nesaf yn amodol. Felly mae'n wirioneddol yn hoffi dehongli mewn ystyr, llinell dynol gan linell, ac mai dim ond yn cymryd amser. Mae'n cymryd uwchben. Ac felly dyna price-- da question-- rydym yn talu. Felly, gadewch i ni wneud demo arall dyna ychydig yn fwy dramatig. Mae yna, byddwn i'n dweud, mae bras hwn ar 90% tebygolrwydd o fethu ofnadwy, ond byddwch yn synnu gyda 10% tebygolrwydd. Felly bob blwyddyn rydym yn ceisio i wneud hyn, lle yr ydym yn ceisiwch ysgrifennu rhaglen sy'n mynd drwy problem a osodwyd sero, yr ydych chi wedi cyflwyno eich rhifau ffôn ac yn llawer o wybodaeth ddemograffig arall, ac yr ydym yn programmatically anfon neges destun atoch. Ac yna ffoniwch pawb dechrau gwneud sain neu dirgrynol, ac mai dim ond anhygoel, oherwydd yn dda, yn edrych ar yr hyn y gall cyfrifiaduron ei wneud. Mae hyn yn anaml iawn yn gweithio'n gywir mae'n ymddangos, i raddau helaeth am fy mod fel arfer yn cael waharddiad o gwbl gan Gmail neu ryw wasanaeth arall er mewn gwirionedd yn ceisio gwneud hyn ar raddfa. Ond mae peth rhyfedd yw hefyd, ers i ni Nid oes rhaid i pawb yma heddiw, ffaith hwyl y tro diwethaf i ni rhoi cynnig ar hyn ddwy flynedd yn ôl, Rwy'n credu Ysgrifennais rhaglen yn eistedd mewn ailadrodd dolen dros yr holl fyfyrwyr yn y dosbarth, ac mae gan bob un ohonynt neges destun, ac mae'n dweud rhywbeth fel, pam nad ydych chi yn y ddarlith? Cariad, CS50 bot. Nid oes gennych unrhyw syniad faint o ymddiheuro ac e-byst fath o boenus Rwyf wedi derbyn mewn ymateb oddi wrth y n minws 100 o bobl nad oedd yma y diwrnod hwnnw. A hyd yn oed yn fwy doniol story--, yn fwy cywilyddus eich bod yn gwybod, gadewch i ni ei roi allan yna. Mae eisoes ar fideo rai blynyddoedd yn ôl. Felly, byddwch yn fuan yn fy ngweld ysgrifennu ar gyfer dolen, lle mae'n hawdd iawn i ysgrifennu nam yn y ar gyfer dolen, fel bod y tro cyntaf drwy'r ddolen, yr ydych anfon un neges destun. Yr ail dro drwy'r ddolen i mi Dylai fod wedi anfon un yn fwy neges destun, ac yna un testun mwy neges, ac un yn fwy. Ond mae'n troi allan os byddwch yn gwneud typo wrth raglennu, weithiau i chi gallu ysgrifennu rhaglenni sy'n anfon un neges destun, yna dwy negeseuon testun, Yna tair neges testun i bawb sydd eisoes wedi derbyn neges destun. Ac fel y gwyddoch, yn gwneud rhywbeth, yn ogystal â rhywbeth, yn ogystal â rhywbeth, yn ogystal â rhywbeth, yn O fawr o lawer o negeseuon testun, neu n sgwario, neu mewn $ 0.10 neges destun, $ 20,000. Diolch byth i mi daro Rheoli-C cyn hynny ddigwyddodd, ond o leiaf un i ddim yn ddyledus o'ch rhagflaenwyr $ 20 ar gyfer y 200 rhai negeseuon testun rhyfedd bod, Nid yn unig aeth at ei ffôn, ond hefyd ei bod yn debyg i ffôn troi hŷn felly mae'n hoffi gwthio allan o'i cof bob testun personol eraill neges yr oedd wedi gotten mewn gwirionedd. Felly mae gennym un nod heddiw, i beidio â gwneud hynny. Efallai droi ar y modd awyren. Iawn. Felly gadewch i ni fynd i mewn i rhaglen yma callled-- y byddaf yn galw testun dot PHP. Ac o flaen llaw, mae gen i ddwy ffeil yma. Fe wnes i ffeil ar gyfer staff yn unig, sydd wedi cael yr holl wybodaeth y staff, yr holl enwau o wefan y cwrs. Ac yna ar hyn o bryd Fi jyst rhoi rhai rhifau ffug 555-1212. Felly ni fyddai'r rhain mewn gwirionedd yn mynd i unrhyw le. Ond sylwi ar y tu mewn y ffeil CSV, yr ydym yn siarad am gyfnod byr cyn yng nghyd-destun ffeil IO. Beth yw ffeil CSV? Comma gwahanu newidynnau. Ac mae hyn yn fath o debyg i iawn Cronfa ddata ysgafn, os mynnwch. Mae math o fath o bedair colofn yn y ffeil hon, ac mae danheddog, ond mae'r coma yn y bôn cynrychioli'r colofnau yn y ffeil. Mae'r golofn gyntaf yw'r TF neu enw CA yn. Ail golofn ar ei enw olaf. Drydedd golofn yw eu rhif ffôn. Ac bedwaredd golofn yn ôl pob golwg yw-- bedwaredd golofn yn ôl pob golwg beth? Iawn, felly mae'n eu cludwr. Felly Verizon, neu Sbrint, neu beth i beidio. Ac os wyf yn misspoke gynharach, CSV. Comma gwahanu gwerthoedd yw CSV yma. Felly, beth allaf ei wneud â hyn? Wel dim ond ffeil testun mawr yw hyn, ac mae'n fath o hir, dde? Fel hyn yn mynd i fod yn fath o blino. Ac mae'n troi allan, serch hynny, os byddaf yn eisiau anfon neges destun i, gadewch i ni yn dweud Alex yma. Gadewch i mi fynd i mewn i fy porwr ac yn gadael y modd sgrîn lawn dim ond er mwyn i mi toggle yn ôl ac ymlaen. Mae'n troi allan, gadewch i ni weld, os byddaf yn mynd yn yma, ac mewngofnodi i Gmail, pob hawl. Peidiwch ag edrych ar y rhan hon. Dim ond i mi gael eu gweld. wrth gwrs gall y livestream yn dal i weld yr hyn rwy'n ei wneud. Iawn. Felly dyma yn unig yw Gmail gyda Cyfrif John Harvard. Felly, os ydw i eisiau anfon neges testun i Alex, Gallaf, wrth gwrs, yn cyfansoddi neges. Ac mae'n troi allan, ac rwyf wedi brofi 'i ag Alex cyn yma, fel y gallwch atodi parth penodol enwi i rifau ffôn pobl, oherwydd bod yn bodoli yn y byd pethau a elwir SMS i e-bostio pyrth. Sy'n ffordd ffansi o ddweud i gyd ohonom sydd â ffonau symudol sy'n gael rhifau ffôn, wrth gwrs, yna yn ôl pob tebyg ar gyfer eich cludwr, ôl-ddodiad penodol fel yn Vtext.com am neges destun Verizon dot com, y gallwch ei atodi at eich rhif ffôn personol eu hunain, ac yna chi neu ffrindiau, neu eich rhieni yn gallu anfon neges destun yn y cyfeiriad penodol hwnnw. A Verizon Mae gan gweinydd, e-bost gweinydd, bod ar dderbyn e-bost hwn, yn edrych ar y rhan rhifol ac yna yn defnyddio pa bynnag hud diwydiant arbennig mae'n rhaid iddynt mewn gwirionedd yn anfon allan dros tonnau awyr at eich cell penodol ffôn. Nawr mae hyn yn braf gan nad wyf yn ei wneud yn gwybod sut i anfon neges destun neu i ysgrifennu cod eto ar gyfer fy ffôn symudol, ac efallai y byddwch yn gwneud yn union hynny am prosiect terfynol, ond am y tro pob Mae gen i yw fy laptop yma. Felly, yr wyf yn awyddus i ailadrodd dros y CSV ffeil, llinell, drwy linell, drwy linell, gan linell, cydio pob un o'r rhifau ffôn y staff, ac mae eu cludydd ac programatically, concatenate, hynny yw, cysylltu y ffôn rhif gyda'r enw parth priodol ac yna anfon e-bost. Felly dyna llawer o gamau. A phob lwc yn gwneud hynny yn C. Mae'n hunllef o sefyllfa i agor ffeil, i'w ddarllen llinell, drwy linell, drwy linell, wrth i chi yn gweld, neu efallai yn fuan yn gweld gyda phroblem yn gosod phump, os nad problem yn gosod pedwar, ac yna i concatenate ddeinamig dau llinynnau at ei gilydd, oherwydd yn C, i gymryd dau llinynnau a'u cyfuno, yr hyn yr ydych yn ei wneud cyn lleied â phosibl angen iddynt ei wneud yn fwyaf tebygol? Mae angen i chi ddatgan mwy o gof, dde? A gofyn, malloc, a allaf gael mwy o gof? Felly gallaf roi hanner yr hyn yma, hanner hyn yma. 'I' jyst cymaint o gamau. Ac erbyn hynny yr ydych wedi colli diddordeb yn y demo bach yn dwp lle rydych yn gwneud Canu ffôn pawb. Gadewch i ni wneud y math yma o PHP arddull, lle rydym yn unig ddechrau defnyddio mwy o hynny sinc y gegin. Ac mae'r syniadau yn sylfaenol yr un fath, ond nid oes rhaid i ni boeni gormod llawer am y lefel is. Felly, gadewch i ni weld sut yr wyf yn gallai mynd ati i wneud hyn. Ac yn union fel nad wyf yn ei wneud ailadrodd camgymeriadau yn y gorffennol, Rydw i wedi ysgrifennu rhai nodiadau i mi fy hun yma. A gadewch i ni weld os gallaf gerdded ni drwy rai o'r camau sylfaenol, ac yna er mwyn bryd rydym chi helpu efallai dorri rhai corneli yn y diwedd. Rydw i'n mynd i fynd yn ei flaen ac yn gwneud yn agored PHP braced i gychwyn y ffeil hon. Ac yr wyf i'n mynd i fynd yn ei flaen ac yn gwneud hyn. Trin Ffeil, fel y wnewch chi helpu yn fuan yn gweld, mewn gwirionedd yn galw swyddogaeth o'r enw f agored. A chofiwch hyn yn agor ffeil. Ac mae'r dyfyniad, unquote, r yn golygu beth, unwaith eto? Jyst agor ar gyfer darllen. Nawr yn p a osodwyd ar gyfer, wnaethoch chi hyn. A thrin Gallai fod yn unrhyw beth, fu, bar, bas, unrhyw enw newidyn. Ond yn gyffredinol, cyfrifiadur Byddai gwyddonydd yn galw ffeil agored, gan roi dolen ffeil rydych, rhywbeth i ddal gafael ar fel petai. Im 'jyst yn mynd i wneud rhywfaint gwirio camgymeriadau. Felly, os yr handlen yn ffug, yn union fel yn C, dw i'n mynd i wneud rhywbeth fel, Ni allai agor ffeil, slaes n. Ac yna Im 'jyst yn mynd i fynd yn ei flaen ac yn ymadael. Ac mae'n troi allan, yn PHP, Dydw i ddim y tu mewn i swyddogaeth. Does dim prif swyddogaeth yma. Felly, nid wyf yn dychwelyd, fel y cyfryw. Yr wyf yn ymadael. Sydd yn ei hanfod yr un peth. A dwi'n cyffrous gydag un y mae'n debyg. Un yn unig yw camgymeriad o ryw fath. Mae'n heb fod yn sero, felly mae'n camgymeriad. Mae pob hawl, felly os dwi'n lawr yma nawr yn fy rhaglen fy mod wedi agor y ffeil. Rydw i'n mynd i fynd yn ei flaen ac yn datgan arae o'r enw cyfeiriadau, ac yn C byddai'n rhaid i mi wybod y maint y rhesi o flaen llaw, dde? Neu byddai angen i mi ddatgan hyn yn pwyntydd, ac yna defnyddio malloc. Ac yna bob tro yr wyf yn darllen trwy rhes arall yn y ffeil, Rydw i'n mynd i angen i malloc mwy o gof, malloc mwy o gof. Dyna boen yn y gwddf. Ac yn diolch byth, PHP, a Ruby, a Python, a JavaScript, maent yn Bydd dyfu eich araeau i chi yn awtomatig. Dim mwy malloc. Dim mwy o reoli cof. Mae'r cyfrifiadur yn gofalu am hynny. Ond mae'r pris a dalwch. Mae'n ychydig yn arafach. Ac ar gyfer rhaglen fel hon nid ydym yn mynd i hysbysiad. Rydym yn mynd i anfon 100 o negeseuon testun. Er enghraifft ddim yn mynd i yn teimlo ei fod. TG mewn gwirionedd dim ond yn dechrau ots eich dewis iaith pan fydd eich data neu eich rhaglenni ca 'n sylweddol,' n sylweddol sizable, gan y bydd yn wir yn fwy felly gyda'n stwff ar y we. Ond am nawr gadewch i ni fwrw ymlaen. Er ei fod yn troi allan mae 'na swyddogaeth yn C a elwir f cael CSV. File cael CSV, sy'n cymryd ffeil trin fel ei dadl, ac mae'n mynd yn ei flaen wedyn, rhes, gan rhes, gan res, i ddarllen yn olynol. Felly 'i jyst yn darllen llinell o destun o'r ffeil. Ond yr hyn sy'n braf am y swyddogaeth hon, nid yw dim ond llaw i mi llinell o destun. Mae'n edrych i coma hynny, ac yn parses y llinell. Ac i gramadega y llinell olygu i rannu ar werthoedd penodol yn y cyd-destun hwn. Mewn geiriau eraill, arwydd doler rhes yn newidyn sy'n mynd i roi bagad o fynegeion mi. Mae hyn yn mynd i fod y ngholofn gyntaf yn fy CSV. Mae hyn yn mynd i fod yr ail golofn, mae hyn yn mynd i fod y trydydd, ac mae hyn yn mynd i fod y pedwerydd. Oherwydd galw i gof, ac Excel y Nid yw cydweithredu y tro diwethaf i ni yn gwneud hyn, ond os wyf lawrlwytho staff dot CSV. Wps, nid ail-enwi. Os byddaf lawrlwytho staff dot CSV, a cheisiwch ei agor, Rwyf eisoes wedi registered-- oh wyf Nid oedd diweddaru Excel ers tro diwethaf. Byddwch yn gweld bod mewn staff dot CSV, mae gennyf pedair colofn. Felly, pan ddarllenais yn y rhes gyntaf ar gyfer Abby yma, doler arwydd rhes 0 yw Abby, doler arwydd rhes mae un yn Lyons, doler arwydd rhes dau yw ei rhif, ac yna cludwr ei ffôn yn. Felly dyna i gyd. A dyna braf, am fy mod Nid oes rhaid i chyfrif i maes yn awr lle mae pob o'r atalnodau rheini mewn gwirionedd. Felly, yr wyf i'n mynd i fynd yn ei flaen a gwneud hyn, o ystyried y diffiniad hwnnw, Rydw i'n mynd i ddweud bod ei enw i yw mewn braced rhes sero, fel yr addawyd. Ac yr wyf i'n mynd i grab-- a mewn gwirionedd, eich bod yn gwybod beth? Dydw i ddim yn mynd i boeni am ei henw, yn yr achos hwn. Rydw i'n mynd i gadw symlach. Rydw i'n mynd i wneud ei rhif yn mewn braced rhes dau, yr wyf yn meddwl. A'i cludwr oedd mewn lle? Rhes tri, un drosodd. Felly dim byd newydd yno. 'I' jyst sero mynegeio i mewn arae. Ac yn awr, yr wyf i'n mynd i wneud y canlynol. Os bydd y cludwr yn hafal hafal i AT & T-- Im 'jyst yn mynd i gael loop-- Rwyf am greu neges e-bost cyfeiriad sy'n edrych fel hyn. Mae'n mynd i fod yn 617-555-1212 ar, beth ydyw, text.ATT.net, yr hyn yr wyf am ei wneud. Felly sut ydw i'n gwneud hyn? Rydw i'n mynd i wneud y canlynol. Mae ei gyfeiriad yn mynd i fod ei rhif, ac yn awr, gadewch i mi fynd yn ei flaen ac yn gwneud hyn. Mae hyn yn rhywfaint o gystrawen ffynci. Gallwn i wneud y cant s tric, ond gallaf mewn gwirionedd dim ond gwneud hyn. Felly, mae hyn yn beth PHP, ond gadewch i ni ystyried yr hyn rwy'n ei wneud. Dollars yn llofnodi gyfeiriad ar y chwith, dim ond amrywiol. Rhowch newidyn mi. Nid oes rhaid i mi nodi'r math. Bydd PHP chyfrif 'ii maes. Ar yr ochr dde, beth yw'r math data o hynny holl beth ar yr ochr llaw dde? Edrych fel llinyn, oherwydd mae dwbl dyfyniadau ar ochr chwith a'r dde yn hyn. Nawr mae rhywfaint o gystrawen newydd ffynci yma. Mae y braces cyrliog, a'r nifer arwydd ddoler. Ond gan gymryd dyfalu beth yw y gystrawen yn ôl pob tebyg yn dweud PHP i wneud i mi? Yeah. Dim ond rhowch y gwerth yno. Felly dim cant s. Gallem ddefnyddio print f, neu s print f neu rywbeth tebyg iddo, ond PHP ac mae llawer o ieithoedd lefel uwch, eich bod yn mynd i weld bod gallech gwneud yr un peth swyddogaethol, efallai chwe ffordd wahanol. Ac felly mae'n dechrau i ddod yn fater o ddyluniad neu arddull. Felly, mae hyn yn unig yw ffordd cryptig yn chwilio o ddweud, yn rhoi cyfeiriad e-bost i mi, ond plug-yn y nifer mewn rhwng y braces cyrliog hyn. Ac nid y braces cyrliog fydd yn y pen draw yn y cyfeiriad olaf. Nawr gallwn sgip dros rai o'r llinellau hyn er mwyn amser yn. Felly, os cludwr hafal hafal whoops verHorizon--, Verizon-- Rwyf am wneud rhywbeth debyg iawn, lle mae'r cyfeiriad yn cael, dyfyniad, unquote, rhif ar text.ATT.net. Ac yna y gallaf ei wneud yr un math o beth am weddill y cludwyr. Ond byddaf yn jyst yn gwneud dot, dot, dot am y tro. Ac yn awr gadewch i ni dybio bod Rwyf am ychwanegu array, gwthio. Rwyf am ychwanegu at y array, a elwir cyfeiriadau. Mae'r cyfeiriad, dyma sut yr ydych ychwanegu rhywbeth at amrywiaeth yn PHP. Nid oes angen i chi wneud malloc. Nid oes yn rhaid i chi newid maint y rhesi. Rydych yn unig yn dweud array, gwthio. Beth ydych chi eisiau ei push-- pa array ydych chi eisiau i wthio rhywbeth ar? Cyfeiriadau. Beth rydych am ei wthio ymlaen i gyfeiriadau? Gyfeiriad. Ac yn wir, os ydych yn wir eisiau bod yn glyfar, ychydig o siwgr cystrawennol ar gyfer hyn, fel petai, a dim ond yn golygu sut y gallwch wneud hyn mewn y ffordd prettier, fyddai i wneud hyn. Hefyd yn cael bod yr effaith o dyfu y cyfeiriadau arae yn ôl maint un, ac yna sw n plopian hynny ychwanegol cyfeiriad e-bost i mewn iddo. Yeah. GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: A typo ar y arall Os-- oh, cludwr. Mae hynny'n iawn. Mae hefyd ni fydd yn hoffi fy methiant i gweithredu rhan o'r rhaglen hon nes ymlaen. Ond diolch i chi am ddal. Un bug mwy. Diolch. Rydym am i hyn fod Vtext.com. Ydw. Iawn. Felly, lle mae hyn yn gadael i ni? Rydym wedi ysgrifennu y cod i agor y ffeil. Mae gennym dolen i ailadrodd dros y rhesi yn y ffeil. Mae gennym cod sy'n ychwanegu at fy array, un ar y tro, mae'r gywir cyfeiriad e-bost fformatio. Felly cyfan sydd wir yn parhau i fod yw anfon e-bost at bob un o'r bobl hyn. Felly, yr wyf wedi mynd yn ei flaen ac readied fy hun fel a ganlyn. Yr hyn yr wyf i'n mynd i wneud yma yw-- a gadewch i ni fynd yn ei flaen a sgipio i ryw cod gwirioneddol, sy'n edrych fel hyn. Felly dyma yw'r cyn-pobi Fersiwn Ysgrifennais gynharach. Ac yn sylwi i mi orffen gweithredu Sbrint. Gorffennais gweithredu T-Mobile. Gorffennais gweithredu Virgin Mobile. A mi ymddiheuro o flaen llaw. Mae ychydig o gludwyr sy'n rhai myfyrwyr yn y dosbarth yn cael nad oeddwn yn trafferthu rhestru'r yn y cyflwr yma os. Felly, ni fydd yr holl destunau yn mynd allan. Ond gadewch i ni weld beth arall sydd angen i mi ei wneud. Terfynaf y ffeil, dim ond fel yn p gosod pedwar. Ac mae hyn yn cystrawen newydd. A byddwn yn gweld ychydig dipyn o hyn dros gyfnod o amser, yn enwedig gyda p yn gosod saith ac wyth. Ond mae hyn yn cystrawen ar gyfer creu yn fath arbennig o strwythur. Mae'n troi allan mae llyfrgell y hon gyda PHP, a elwir yn PHP Mailer. Ei bwrpas mewn bywyd yw programmatically anfon e-bost. Arall ysgrifennodd Mae'n cod rhywun sy'n yn ei gwneud yn haws i ni anfon negeseuon e-bost, felly nid oes rhaid i ni gadw mynd yn ôl ac ymlaen i Gmail, a gludo mewn cyfeiriadau e-bost pobl. Mae criw cyfan o linellau yma hynny onest, yr wyf yn unig fath o copïo a gludo oddi wrth y ddogfennaeth. Ac yn wir, os ydych chi'n chwilfrydig, yr wyf yn gadael i gyd o URLs o'r ddogfennaeth yn y cod y byddwn yn postio yn nes ymlaen. Ac yn sylwi bod ymysg y pethau rwy'n ei wneud yw, rwy'n dweud llyfrgell hon, yn defnyddio gweinydd Gmail, dde? SMTP buom yn siarad yn fyr am pan fyddwn yn Roedd yn Iâl am fod post syml protocol trosglwyddo. Mae'n y protocol y gweinyddion a ddefnyddir i anfon e-bost, ac that's-- Gmail mae un o'r rheini. Mae porthladd, dyma'r rhif porth TCP. Mae'n iawn os ydych yn Nid wedi gweld 587 o'r blaen. Dim ond yn gwybod bod gan y ddogfennaeth. Dyma fy enw defnyddiwr. Rydw i'n mynd i ddefnyddio'r bot CF50. Ac mewn munud, dw i'n jyst yn mynd i deipio i mewn cyfrinair gwirioneddol y bot yn. Ac yna i lawr yma, sylwi ar yr hyn yn parhau i fod. Yr wyf yn gosod fy o gyfeiriad i gael eu bot yn CS50.net. Rwy'n credu na fyddaf yn difaru anfon neges destun i 800 o bobl sy'n yn dweud, yn colli chi, bot cariad CS50, efallai ar gyfer y rhai nad oedd yn gallu ei gwneud yn heddiw. Ac yna yn unol 76, beth ddylwn i ei wneud? Mae'r math hwn o edrych fel C. Felly, ar gyfer i yn hafal i 0, n equals-- yn awr yn cyfrif yn newydd. Mae'n ymddangos bod os ydych chi am gael mae nifer o bethau yn amrywiaeth, Nid oes rhaid i chi gofio ei anymore. Alli jyst ofyn i swyddogaeth a elwir yn gyfrif, a bydd yn dweud wrthych faint o cyfeiriadau yn y rhesi. Ac yna dwi'n mynd i ychwanegu y cyfeiriad at yr e-bost. Ac yr wyf yn gwybod hyn gan gan ddefnyddio'r ddogfennaeth. Mae swyddogaeth cyfeiriad ychwanegu. Ac yn awr yn sylwi yno yn un darn o gystrawen. Rydym wedi gweld hyn o'r blaen yn C. tebyg mewn ysbryd. Gallwch chi feddwl am arwydd doler bost fel newidyn, y mae'n. Ond mae'n struct tu mewn sydd nid yn unig o eiddo, newidynnau os mynnwch. Ond mae'n troi allan bod yn PHP, a oedd yn yn rhaglennu gwrthrych oriented iaith, fel Java os ydych yn cymryd APCs. Doler bost arwyddion, os ydych am i'r canlynol-- mae ganddo hefyd swyddogaethau tu mewn iddo, neu ddulliau. Felly, mae hyn yn golygu nad Mailer PHP arbennig llyfrgell, os gen i newidyn ohono, os wyf am i alw swyddogaeth sy'n yn dod gyda hynny llyfrgell, ar gyfer dibenion heddiw, jyst yn gwybod eich bod yn defnyddio'r nodiant saeth. Does dim dot nodiant. Dim ond y saeth. Ond nid yw hynny'n pwyntydd. Dim ond ei fod yn benthyg o gystrawen C. Felly ffoniwch ychwanegu gyfeiriad y tu mewn o gwrthrych y llyfrgell hon neu amrywiol. Iawn. Mae hyn yn y llinell hudol. Dyna sut yr wyf yn anfon e-bost. Mae hynny yn cyfateb i agor i fyny Gmail, ei deipio allan, ac yn taro anfon. Ond mae'n mynd i lle hynny anfon anfon e-bost i'r cyfeiriad hwn, gyda'r corff hwn, oddi wrth y bot CS50. Ac yn awr llinell allweddol. Mae'r llinell hon yn absennol yn hoffi 2011 pan fyddaf yn meddwl fy mod yn ceisio hwn ddiwethaf. Hynny llinell yno, wrth gwrs, clirio'r cyfeiriadau. Felly yn rhesymegol, os wyf yn peidiwch â clirio'r gyfeiriad ar ôl pob iteriad, y cyntaf anfon e-bost neu neges destun yn mynd i Alice, yr ail yn mynd i Alice a Bob, y trydydd yn mynd at Alice a Bob a Charlie, a dyna pam y camgymeriad yn ddrud iawn Yr wyf yn gwneud y flwyddyn honno. Felly, gadewch i ni weld. A oes unrhyw gwestiynau cyn i ni anfon yr holl destun i chi neges gyda thebygolrwydd o 10 y cant? Unrhyw gwestiynau? Iawn. Gadewch i mi fynd i mewn yma a newid y cyfrinair i hyn a ddylai weithio, Bydd debygol o gael waharddiad o gwbl gan Gmail. Felly, efallai y byddant nid i gyd yn mynd allan, gan eu bod yn ôl pob tebyg ddim yn hoffi i ni anfon negeseuon e-bost 800 mewn i ddolen i gyd ar unwaith. Gan nad yw hynny'n ymddygiad arbennig dynol. O, dw i'n mynd i newid un peth arall. Up ar y brig, dwi'n mynd i sent-- newid y ffeil i fyfyrwyr dot CSV. Ac ni fyddaf yn agor y, ond mae hyn yn ffeil CSV union yr un fath â pheidio â 100 o staff, ond 800 o fyfyrwyr, dim ond o Harvard, gan fod Yale Mae toriad Hydref yr wythnos hon. Ac mae'n ymddangos fel y math o beth jerk i'w wneud i destun pob un ohonynt ynglŷn â pham dydyn nhw ddim yn y dosbarth ar wyliau. Mae hynny'n iawn. Myfyrwyr Harvard Just heddiw tu mewn y ffeil. Ac yn awr gadewch i ni fynd yn ôl at fy ffenestr terfynell. Rwy'n fath o nerfus. Iawn felly yn awr yr wyf i'n mynd i fynd i mewn i'r cyfeiriadur, a thestun PHP PHP dot. Beth am un gwirfoddolwr dewr? Felly, nid wyf am i hyn ar mi. OK, yn dod ar i fyny. Beth yw dy enw? MAYA: Maya. SIARADWR 1: Maya. Dewch ar i fyny, Maya. Iawn. Gadewch i ni weld a yw hyn yn gweithio. Rwy'n rhoi fy nghyfeiriad e-bost ei hun yn y file-- fy rhif ffôn ei hun yn y ffeil, fel bod gobeithio byddaf yn cael un hefyd. Neis i gwrdd â chi. MAYA: Yn yr un modd. SIARADWR 1: Felly yr holl rhaid i chi ei wneud yw daro Enter i anfon 800 o negeseuon testun, os nad oeddwn yn sgriw i fyny. Nice. A allai gymryd peth amser, yn ystadegol, nes i ni fynd i e-bost address-- neges destun sy'n yn yr ystafell ar hyn o bryd. Gadewch i lechu a gweld. GYNULLEIDFA: [chwibanu] SIARADWR 1: O, ie. GYNULLEIDFA: O, gotcha. SIARADWR 1: Ar gyfer dolenni yw-- hwn Nid yn araf oherwydd PHP. Mae hyn yn araf am fod Gmail yn throttling ni ac nid gadael i ni anfon mwy nag fel un e-bost yr eiliad. Unrhyw beth? Roedd hwn yn beth anodd i mi i brofi ar cartref gyda dim ond fi a fy un ffôn, felly. Ai dyna, gobeithio, oddi wrth y bot? Do? Na? Dweud ie. Na? Mae'n gan ffrind? Lletchwith. IAWN. Eithaf siwr ei fod yn gweithio er. Uh oh. Black-- Maent oh, arhoswch funud. O, eich bod yn gwybod beth? Un eiliad os gwelwch yn dda. Dim ond Maya ac I-- Mia, oedd hi? MAYA: Maya. SIARADWR 1: Maya, yn mynd i gwybod yr hyn a wnes o'i le yma. O, arhoswch funud. Rwy'n credu fy mod jyst anfon 100 negeseuon testun i 555-1212. Yn sefyll yn ôl. Ni allaf ennill unrhyw flwyddyn. IAWN. Maya? Atgyweiria bod mewn ôl-gynhyrchu. Dammit! Yn dilyn o gyfeiriad. OK, yn sefyll yn ôl. Mae'n ddrwg gennym. Mae'n boenus bob blwyddyn. OK, un o bryd. Mae hyn yn dda. Yr wyf yn lle hynny yn mynd i wneud hyn. Cyfeiriad Argraffu. OK, yn sefyll yn ôl. Cyfeiriadau Print, i braced. Yeah, yr wyf yn hoffi hynny. Doler sign-- OK byddaf yn egluro beth rwy'n wneud mewn munud, ar ôl i mi redeg hyn. Bob blwyddyn. OK, dyma ni. Mae gen i just-- ac nid oes arnaf eisiau i ddangos rhif ffôn pawb, ond gall Maya gadarnhau gyda amnaid y pen, bod hi'n gweld pawb rhif ffôn yn y dosbarth fy mod i'n mynd i gopïo i mewn rhaglen o'r enw Gmail. Ac os yn Gmail, beth ydym ni eisiau ei ddweud? Colli ti. Love-- nid yw hynny'n oddi wrthyf. Nid wyf wedi taro hyd yn oed anfon eto. Felly gadewch i ni fynd yn ei flaen ac yn gwneud hyn, os gallaf chwyddo i mewn. IAWN. Felly, Im 'yn arfer rhaglen o'r enw Gmail yn awr. Os Maya, hoffech chi cliciwch y botwm Anfon, byddwn yn efelychu yr hyn y Dylai cod wedi ei wneud. Unrhyw beth? [Larwm yn bipian] GYNULLEIDFA: Yep. SIARADWR 1: Oes? Iachawdwriaeth? GYNULLEIDFA: Yep. SIARADWR 1: Miss chi. Ac yr wyf i'n mynd i anfon y gweddill. Yr wyf yn anfon allan hanner oherwydd doeddwn i ddim yn meddwl Byddai Gmail hysbysu'r rheini sy'n mynd drwyddo. Felly dim ond cofiwch, heddiw yw'r diwrnod eich bod wedi dysgu y gallaf eu defnyddio Gmail. Dyna oedd arswydus. Mae cymeradwyaeth fawr i Maya. Diolch. Mae pob hawl, felly. beth [Larwm yn bipian] Rydym yn cael ychydig o larwm yn bipian, ie? Iawn. Nawr rwy'n mynd i gael 700 'n sylweddol negeseuon e-bost yn anhapus yn ôl o ffrindiau yn y dosbarth. Felly, o leiaf byddwn yn gweld os oedd hynny'n werth chweil. Felly beth aeth o'i le? 'N annhymerus' chyfrif i maes beth aeth o'i le ar ôl y ffaith, ond dim ond yn edrych pa mor hawdd roedd yn gwneud hynny yn PHP. Felly, beth allwn ni ei wneud mewn gwirionedd yn awr y mae gennym expressiveness yma o PHP. Dyna was-- a oedd yn ofnadwy. Iawn. Felly dyna oedd yr hyn a ddylai fod wedi mynd allan. Roedd hyn yn fy profi y bore yma ar fy ffôn, screenshot gwirioneddol fy ffôn. Ond yn awr gadewch i ni ystyried pam rydym yn cyflwyno mewn gwirionedd i gyd bethau hyn yn y lle cyntaf. Felly, nid yw'r nod yw ysgrifennu rhaglenni hyn sy'n yn cael eu hysgrifennu yn y llinell orchymyn, dde? Felly, ysgrifennais syml hello rhaglen, ysgrifennais ychydig rhaglen sy'n gwneud conditionals, a defnyddio llinell darllen ac yn y blaen. Ac mewn theori, Fi jyst ysgrifennais rhaglen a anfonodd allan 800 negeseuon testun, rhoi neu gymryd 800. A bod rhaglen oedd y cyfan dal i redeg yn y llinell orchymyn. A dyna wrth gwrs yw Nid y we, dde? Y nod yn awr yw i ddechrau defnyddio yr hyn yr wyf yn honni yn haws i'w defnyddio iaith, yn debygol iawn mwy iaith rymus o safbwynt o'r nodweddion sy'n dod ag ef, i ddechrau ysgrifennu cod sy'n cynhyrchu tudalennau gwe. Felly y tro diwethaf a'r wythnos diwethaf, buom yn siarad am HTTP a HTML. A beth sy'n neis am HTML yw ei fod yn dim ond testun pur. A thestun yn sicr rhywbeth y gallwch argraffu gan llythrennol ffonio'r print f swyddogaeth, neu y swyddogaeth print. Ac yn wir, dyna beth PHP yn awr yn mynd i ganiatáu i ni ei wneud. Felly, ymhlith yr enghreifftiau yr ydym yn gennym yn cod ffynhonnell heddiw, yn ogystal â rhai o'r cod fy mod yn rhoi i fyny yno funud yn ôl, mae gennym raglenni fel hyn er enghraifft. Froshims, neu Freshman Rhyngfurol Chwaraeon, oedd mewn gwirionedd un o'r extracurriculars cyntaf Dechreuais gymryd rhan gyda flynyddoedd yn ôl. A fy roommate a minnau, gyda rhai plant eraill ar y campws, a ddefnyddir i redeg y rhaglen froshims. Rwy'n cael fy negeseuon testun yn awr. Nawr felly rydym, yn ôl yn y dydd, felly mae hyn Roedd 1996 neu hynny, yr oedd rhyngrwyd, ond nid oedd unrhyw process-- yno oedd unrhyw wefan i froshims. Ac felly os ydych yn dymuno i gofrestru ar gyfer pêl-droed neu bêl foli neu beth bynnag, byddech yn llenwi'r peth hwn Gelwir ddarn o bapur, a byddech yn cerdded ar draws Harvard iard, a fyddech yn llithro ei i mewn i'r slot post yr proctor, a Roedd yn Wigglesworth, un o'r dorms. Ac mae hyn oeddech chi cofrestredig. Ac ef neu hi fyddai yna cyfansoddi e-bost i chi â llaw, yn debyg iawn i mi yn unig oedd yma gyda Maya, ac yna byddech yn cael ei gadarnhau fel un sydd wedi'i gofrestru. Felly roedd hyn yn debyg isel ffrwythau crog, fel petai. Roedd yn fath o dwp bod rydym yn defnyddio'r papur ar gyfer hyn. Roeddwn i eisiau i ni allu i jyst yn mynd ar wefan, neu gael y Grwpiau myfyrwyr Grwpiau Cymuned yn mynd ar gwefan, cofrestrwch ar gyfer chwaraeon, a dim ond awtomeiddio llawer o bethau yma drwy roi eu henwau a negeseuon e-bost ac yn y blaen mewn cronfa ddata. Ac yn wir, y fersiwn cyntaf y wefan, gan ddefnyddio HTML super hyll, allai fod wedi edrych rhywbeth fel hyn. Yr oedd mewn gwirionedd, yn eironig, yn fwy embaras edrych na hyn yn ôl bryd hynny. Ond yr wyf yn defnyddio iaith raglennu. Nid yw PHP, ond yn hytrach a elwir Perl, sydd yn iaith hŷn, ond yn debyg iawn o ran ysbryd. Ac yr wyf yn jyst yn gyfan gwbl eu dysgu hi i mi fy hun. Ac mae'n cymryd i mi ychydig o amser i chyfrif 'ii maes, gofyn llawer o gwestiynau o ffrindiau. Ond mae'r syniadau yno yn union yr un fath. Oherwydd yr hyn PHP ei gynllunio mewn gwirionedd am nad yw'r stwff archa bannod rydym yn unig yn chwarae gyda, ond ar gyfer rhaglennu ar y we. Mae wedi clymu 'n sylweddol yn ei nodwedd gosod i y we, fel a ganlyn. Mae hyn yn froshims. Ac os oeddwn i eisiau cofrestru yn y ffurflen hon, mae hyn yn eithaf hyll, yn sicr, ond gadewch i mi fynd yn ei flaen a bod yn fyfyriwr yn llai cyfforddus, a beth bynnag chwaraeon i Matthews, cliciwch Gofrestr. Yr hyn yr wyf eisiau gallu ei wneud yw cyflwyno gwybodaeth o ffurf, i beidio â Google gweinyddwr fel fe wnaethom tro diwethaf, yn gyfan gwbl twyllo drwy ddefnyddio eu ochr gefn, yr wyf yn eisiau i weithredu fy cod ol-wyneb hun. Sy'n golygu PHP ysgrifennu cod sy'n byw mewn URL Gall y data ffurflen yn cael ei chyflwyno i. Ac yna eich cod, hysgrifennu mewn PHP ar weinydd, Yna gall ymateb i'r mewnbwn defnyddwyr. Fel ei enw, neu ar lefel cysur, neu dorm, ac yna gwneud rhywbeth ag ef. Yn yr achos hwn, Fi jyst wirion hargraffu 'ii maes fel testun, ac nid yw bob un sy'n 'n bert. Ond fe allech chi yn sicr ddychmygu, os ydych yn gwybod HTML, a byddwch yn fuan yn gwybod sut i gynhyrchu HTML gyda phrint f, ac argraffu, a swyddogaethau tebyg, gallwch yn sicr cynhyrchu tudalen we prettier sy'n dweud, hey David, yr ydych wedi cofrestru nawr. Rydych yn llai cyfforddus myfyriwr o Matthews, dde? Alli jyst ddefnyddio criw cyfan o% SES, neu'r braces cyrliog ac arwydd doler nodiant Defnyddiais eiliad yn ôl, i cynhyrchu testun sy'n fwy cyfeillgar i'r defnyddiwr na hyn. Felly, gadewch i ni edrych ar yr un ffeil. Froshim sero dot PHP yn edrych fel hyn. Pan fyddaf yn ail-lwytho IDE CS50, sero froshim edrych fel hyn. Mae hyn yn froshim sero dot PHP. A beth ydych chi'n sylwi am y ffeil? GYNULLEIDFA: [Anghlywadwy] SIARADWR 1: Mae'n ddrwg gennyf, ychydig yn uwch? GYNULLEIDFA: [Anghlywadwy] Mae hyn i gyd yn HTML. Ac yn wir, y mae, oherwydd beth sy'n ddiddorol am PHP yw ei fod yn ei gynllunio i fod, er gwell neu er gwaeth, yn gymysg gyda cod HTML. Ac yn wir, er bod hyn ffeil, froshim sero dot PHP, Mae sylw PHP ar y brig ohono, 'i' i gyd yn unig HTML. Ond ar y llaw arall, os wyf yn agor i fyny, gadewch i ni dyweder, cofrestrwch sero dot PHP, a oedd yn dim ond mae sylw mawr ar y brig. Mae hyn hefyd yn edrych yn bron yn gyfan gwbl fel HTML, ac eithrio ar gyfer yr hyn? Line, yr hyn, 21 yn edrych ychydig yn od. Ond yn sylwi fy mod yn mynd i mewn i ddelw PHP gyda braced agored PHP marc cwestiwn. Yna gen i rhai pethau. Ac yna ar ddiwedd y llinell bron gen i, cwestiwn PHP marc. Ac mae hyn yn hyn yr wyf yn ei olygu wrth gymysg. Gallwch ysgrifennu HTML yr ydych newydd am i'r gweinydd i boeri allan. Ond os ydych am wneud rhywbeth rhan o'r ffordd ddeinamig drwy'r dudalen, fel mewnosoder fy enw neu dorm neu lefel cysur, Gallaf ddefnyddio swyddogaeth fel print r, sef argraffu recursive, a dim ond yn golygu argraffwch newidyn hwn, ei fformadu fodd bynnag yr ydych ei eisiau. Mae'n wir nid ar gyfer dibenion dynol, 'i' jyst er debugging neu ddibenion diagnostig. Felly dyna sut yr wyf yn gwneud hynny. Os byddaf yn lle hynny yn mynd froshims dau dot PHP, sylwi bod y camau y ffurflen hon heb gofrestru sero dot PHP fel y old-- yr un blaenorol mewn gwirionedd oedd. Ond mae'n gofrestredig dau dot PHP. Felly gadewch i ni edrych ar sut mae hyn yn un ymddwyn ychydig yn wahanol. Os byddaf yn mynd i mewn i fersiwn dau. Os fan hyn, os ydw i'n cofrestru fel David, llai cyfforddus, o dorm o Mathews, gofrestru. Felly, y tro hwn mae'n dweud, i chi yn cael eu cofrestru, nid mewn gwirionedd. Gadewch i ni weld beth wnes i yma. Os byddaf yn edrych ar y gofrestr dau dot PHP, mae hyn yn cael mwy o cod PHP. Mae'n ychydig glanach, er ei fod yn dal i lapio ychydig yn hir ar y llinell hon. Hysbysiad yma. Yr wyf yn argraffu fy tag HTML, fy tag pen, fy tag teitl, y pennaeth, y corff. Ac yna byddaf yn dechrau i ddweud pethau fel mynd i mewn modd PHP. Ac fel y tag, braced agored Marc cwestiwn PHP-- dweud PHP, hey, gweinyddwr, execute-- dehongli y pethau canlynol fel PHP hyd nes y byddwch yn gweld y tag diwedd. A hyd yn oed er efallai nad ydych yn gwybod unrhyw PHP heblaw eich bod wedi ei weld hyd yn hyn, gallwch fath o ddarllen mae'n 'n bert reddfol. Os yw enw yn wag, neu gysur yn gwag, neu dorm yn wag, beth ddylwn i ei wneud? Beth ddylwn i ei ddweud wrth y defnyddiwr? Rhaid i chi ddarparu eich enw, cysur, a dorm, ac yn y blaen. Else, yr wyf yn dweud eich bod yn cofrestredig, yn dda nid mewn gwirionedd. Ac nid wyf yn dweud 'n sylweddol am nad oes cronfa ddata. Dydw i ddim yn gwneud unrhyw beth â'r data. Im 'jyst yn daflu i ffwrdd ar gyfer dibenion arddangos. Nawr rwy'n fath o nad oedd yn drwyadl dros linell 22. Mae mwy cystrawen yno, ond arwydd doler tanlinellu swydd yn fath o ddiddorol. Ac mae hyn yn beth sy'n neis am PHP. Yn PHP, mae gennych yr hyn a elwir yn ychydig o newidynnau byd-eang super. Maent yn fath o hyd yn oed mwy pwysig na newidynnau byd-eang. Ac mae'r rhain, pob cyfalafu fel y cyfryw, yn dod â PHP. Felly os oes gennych weinydd sydd â gweinydd gwe gosod, fel Apache, ac i chi osod yr iaith cymorth ar gyfer PHP, yn sydyn i chi Gall ddechrau defnyddio super hyn newidynnau byd-eang yn eich cod. A beth sy'n neis am PHP yw os ydych yn unig ysgrifennu ffeil sy'n dod i ben ym dot PHP, ei roi ar weinydd y we, ac yna i chi gyflwyno ffurflen iddo trwy gyfrwng y tag gweithredu a ffurflen tag, hynny priodoledd gweithredu yn y Ffurflen tag, PHP a'r we yn gyfan gwbl ffigurau sut i chrafangia pob un o'r rhai a barau gwerth allweddol allan o'r URL fel cwestiwn marc q hafal cathod, bydd yn ffigwr sut i q a chathod. Os ydych yn cyflwyno llun, neu enw defnyddiwr, neu gyfrinair i fel Facebook, Bydd PHP chyfrif i maes ar eich rhan lle mae pob o ddata sy'n cael ei. A bydd yn jyst llaw chi amrywiaeth cysylltiadol Gelwir doler ar ôl tanlinellu arwyddion, neu arwydd doler tanlinellu ei gael, yn dibynnu ar p'un a ydych gan ddefnyddio get neu drwy'r post gyflwyniadau. A bydd yn dim ond i chi llaw newidyn byd-eang super, felly os ydych chi am gael yn yr enw bod y defnyddiwr a gyflwynwyd drwy'r y we ffurflen, rydych yn llythrennol dim ond dweud yr enw y newidyn byd-eang super, dyfynnwch, unquote, enw. A dyfynnwch, cysur unquote, a dyfynnwch, dorm unquote. Ac rydym yn mynd i allu ei wneud hyn a llawer mwy gyda PHP. Ac er bod hyn yn Cipolwg corwynt arno, byddwn yn plymio yn llawer mwy yr wythnos nesaf. Byddwn yn cyflwyno cronfa ddata fel eich bod mewn gwirionedd mynd i ddechrau gweithredu eich based-- e-fasnach eich hun fel gwefan mewn pryd dim ond wythnos. Felly, byddwn yn gweld y tro nesaf i chi, a gobeithio y byddwch yn cael y negeseuon testun. Bye. [CHWARAE CERDDORIAETH] [AGOR DRWS] SIARADWR 2: Hey. SIARADWR 3: Beth sydd i fyny? SIARADWR 2: Beth ydych chi'n ei wneud? SIARADWR 3: Gweithio ar broblem a osodwyd. SIARADWR 2: Nice. Uchel pump. [HIGH PUMP] Beth yw-- UH, beth wyt ti'n ei wneud yma? SIARADWR 3: Dim ond yn hongian allan. Newydd ddod yn ôl o'r gampfa. Ni allwn helpu ond yn sylwi pan fyddwn yn uchel-fived, bod gennych dwylo eithaf garw. Ydych chi'n mynd i'r gampfa? SIARADWR 2: Nifer Na SIARADWR 3: Dude, yr ydych yn edrych yn eithaf mawr. Pa yn ddrwg, gan fod pawb yn gwybod 8-bêl yn y dyn mawr ar y campws. High-bump. SIARADWR 2: Uh, dim. Na, yr wyf yn meddwl fy mod i'n dda. Rwy'n credu fy mod i'n dda.