[Ag seinm ceoil] DAVID MALAN: Tá an CS50, agus is é seo an tús na seachtaine ocht. Agus tá muid an oiread sin sceitimíní fáilte a chur roimh ar ais, iontas mór, Ramon CS50 féin Galvan, a sinsearach ag ardú a bhí ag caitheamh na míonna anuas roinnt ó mhí Iúil i LA, i Hollywood, literally ag obair ar an teilifís branda nua seó ar a dtugtar Colony, an cruthaitheoir a i ndáiríre ar alúm Harvard féin. Agus mar sin go bhfuil muid an-excited a fheiceáil seo tús ar an líonra Stáit Aontaithe Mheiriceá an Eanáir. Mar sin, fanacht tiúnta le haghaidh sin, agus le haghaidh níos mó Ramon do na seachtainí atá le teacht. Know anois go bhfuil an deireadh in aice. Agus cad a chiallaíonn sé seo ná nach níl go léir go bhfuil i bhfad ar chlé de CS50, brónach a rá. Ní mór dúinn ach trí fhadhb Leagann left-- níl fhadhb a leagtar six-- atá i beidh do lámha a bheith anois nó go luath, mar gheall ar níos déanaí an week-- is brí le droichead ár saol ar an líne ordaithe, i gcás ina tá muid chaith an chuid is mó ar ár gcuid ama ag baint úsáide as C, agus saol na cláir gréasáin. Bhuel, beidh tú a fheiceáil go leor de na smaointe a fuarthas ar iasacht as an obair-orduithe, ach chomh maith go leor de na nua agus smaointe suimiúla go bhfuil dul chomh maith le bheith germane le haghaidh iarratais soghluaiste agus don teicneolaíocht, níos ginearálta, lena leat Tá guys go léir ar an eolas lá atá inniu ann ar ríomhairí glúine agus fóin agus a leithéidí. Mar sin, beidh tú a chur i bhfeidhm nach leathanach gréasáin, nó ar láithreán gréasáin per se, ach freastalaí gréasáin iarbhír. Beidh tú ag scríobh an chuid eile den fhreastalaí gréasáin scríofa i C, arb é is cuspóir sa saol Is a fháil ar iarratais HTTP, iad siúd clúdaigh fíorúil a choinneáil muid ag caint faoi, agus ar ndóigh, freagra a ceachtar le roinnt content-- statach mar a bheadh ​​ponc HTML comhad, nó JPEG ponc nó aon uimhir eile de chomhaid, nó fiú comhad PHP trína do gréasáin Tá freastalaí ag dul a léirmhíniú go PHP cód agus spit amach na torthaí. Anois, tá fáil againn tú leis go leor le beagán de chreat do it-- go deimhin, an cód dáilte do fhadhb leagtar sé os cionn 1,000 línte fada, tá Tá a lán de a bhfuil tuairimí, a bheith fair-- ach tá sé seo i gceist i ndáiríre a bheith ina deis a fháil do lámha salach tumadóireacht isteach i tionscadal mór go cothrom go bhfuil muid an-sonrach snoite as píosaí ar do shon, ionas go mbeidh i ndáiríre nuair a scoireann tú CS50 agus dul isteach ar an saol fíor de chláir agus ba mhaith liom dabble i aon líon na dtionscadal, beidh sé agat ar i bhfad níos mó compord íoslódáil fhoinse éigin cód, roinnt foinse oscailte tionscadal ar an ngréasán, agus tumadóireacht i agus ag déanamh athruithe a fheiceann tú oiriúnach. Fadhb atá leagtha seacht ag dul a bheith faoi dhéanamh d'iarratas bunaithe ar an ngréasán féin a thógann ionchur dinimiciúil agus Táirgeann aschur dinimiciúil i bhfoirm ar láithreán gréasáin etrade.com-mhaith. Agus atá leagtha fhadhb Beidh ocht díriú ar fós teanga eile ar a dtugtar JavaScript. Idir an dá linn, an deiridh Is tionscadal ar na spéire. An réamh-togra sin ar a dtugtar Is mar gheall ar na seachtaine ó lá atá inniu. Réamh-proposal-- in aghaidh an tsonraíocht, atá ar website-- CS50 s Is deis deas ócáideach le haghaidh tú a sheoladh r-phost go leor gonta le do chomhbhaill teagaisc ach a inis sé dó nó di de cad tá tú ag smaoineamh, a úsáid é nó í mar bhord sounding. Agus a bhfuil sanity check-- cibé an bhfuil tú ag smaoineamh faoi ​​biting uaire ró i bhfad nó b'fhéidir ró-beag, nó b'fhéidir go bhfuil tú aon smaoineamh ar bith agus ba mhaith liom a bheith páirteach i gcomhrá. Is ina dhiaidh sin togra agus tuairisc stádais, an mar a thugtar air CS50 hackathon anseo i Cambridge do Harvard agus Yale mic léinn araon. An tionscadal deiridh ar Tá cur i bhfeidhm sin dlite. Agus ansin aonach CS50 anseo, i Cambridge, chomh maith le ceann eile i New Haven. Mar sin, leis an togra, chur le breathnú ar an suíomh gréasáin le haghaidh na sonraí sin. Ach níos áthais, freisin, ina deis a fháil do lámha salach, agus do aigne oscailte do ina n-iomláine bunch topaicí agus uirlisí agus na teicnící go coimhdeach go dtí an cúrsa ar siollabas croí, ach mar sin féin a bhaineann leo. Agus freisin clocha cora iontach chun ag déanamh tionscadail really cool deiridh go dul i bhfad thar ábhair againn clúdaithe go foirmiúil i fhadhb Leagann nó i léacht. Mar sin, dul chuig láithreán gréasáin CS50 do an uainchlár iomlán na seimineáir. Mura bhfuil tú a chlárú go fóill, go breá. Téigh amach romhainn agus clárú go fóill agus beidh muid leanúint suas le nasc sruthú beo, is é an lá agus am ar an láithreán gréasáin. Agus beidh gach rud a bheith thaifeadadh agus a chur ar líne más rud é nach féidir leat a dhéanamh ar an laethanta ar leith agus amanna. Mar a cad atá amach romhainn thereafter-- maith, ar ndóigh, níl an hackathon CS50. Seo grianghraf, chun cuimhne, ó sheachtain náid a glacadh thart ar 04:00 tráthnóna amháin i mbliana anuas. An aonach CS50, a arís ar siúl sa dá chathair. Agus ansin, ach do shíoladh an síol, cé muid fós go mbeadh mí móide clé den seimeastar, más rud é gur mhaith leat a bheith páirteach teagasc CS50 féin foirne, agus ba mhaith leat chun tús ag smaoineamh faoi bheith ina CA, nó eile teagaisc, tá a fhios go beidh orainn tús ag caint níos mó faoi sin níos déanaí an seimeastar. Ach sa phictiúr anseo an chuid is mó den fhoireann na bliana seo. Agus mar sin, bhí PHP-- agus mé chomh brónach tseachtain seo caite go [? Allyse?] Kindly chuaigh go dtí an iarracht ag fáil dúinn na props iontach nach raibh mé suas go deireadh ag baint úsáide as, mar sin tá sé i ndáiríre d'fhéach sé ach de chineál ar dúr go raibh muid sluasaid suí anseo go léir lá Dé Céadaoin seo caite, agus spúnóg beag. Ach ba é seo mo metaphoric bhealach ag iarraidh a phéinteáil an pictiúr de cén fáth go bhfuil muid a transitioning ó C go dtí teanga mar PHP. Agus d'fhéadfadh an rud céanna a rá ar bith líon na n-languages-- Java, Python, Ruby nó bunches de others-- ach ach i C, mar shampla, scríobh le clár i C d'fhéadfadh a bheith de ghnáth mar ag cur spúnóg mar seo agus tochailt poll sa talamh, sa ghaineamh nó an salachar. PHP is féidir leat a ghlacadh i bhfad greamanna mó amach as an fhadhb, scríbhneoireacht cód i bhfad níos lú ag baint úsáide as uirlis i bhfad níos lú, mar níl sin i bhfad níos mó feidhmiúlacht pieced i. Anois, má bhí muid i ndáiríre drámatúil, gur mhaith linn a bheith rud éigin a sluasaid anseo, ach a bheith amhlaidh é. Idir an dá linn, an ceann eile meafar tháinig muid suas le Tá, ar ndóigh, d'fhéadfaí tú úsáid rud éigin cosúil le eochair le casúr i rud éigin cosúil le ingne. Ach ar ndóigh, an ceart Tá uirlis chun úsáid ag dul a bheith an oiread sin ar an teanga ar a dtugtar C-- agus anois mé annoyed díreach [? Sanders,?] Is dócha, beidh orainn a shocrú go later-- sin an uirlis ceart a úsáid go minic nach bhfuil ag dul a bheith an uirlis leibhéal is ísle. Agus go deimhin, nach bhfuil C dteanga a an chuid is mó de tú ag dul riamh a úsáid, nó ba chóir a úsáid gá go arís. Agus go deimhin, le beagán secret-- an t-am amháin Úsáid mé C féin go bhfuil go leor i bhfad idir Meán Fómhair agus Nollaig de gach titim seimeastar. Agus sin mar gheall orainn é a úsáid mar dheis a mhúineadh an bunúsacha de chláir, agus a bhfuil sé ríomhaireachta bunúsacha eolaíochta, sonraí Struchtúir, halgartaim agus na like-- ach go han-tapa beidh tú fheiceáil anois go bhfuil an error agus na smaointe bunúsacha C atá chomh iontach inaistrithe go dtí níos mó nua-aimseartha Teangacha leibhéal níos airde, cosúil le PHP agus Python agus Perl agus Java agus Cuspóir-C-- ndáiríre, an oiread sin Cuspóir-C-- ach Swift, na nuaí Teangacha go leor de tú beidh ansin dabble in éineacht leat tionscadal deiridh. Mar sin, gan a thuilleadh moille, a ligean ar i ndáiríre úsáid PHP chun an fhadhb roinnt fadhbanna. Chun cuimhne go luath ar, go deireanach seachtain, a úsáid le linn ach CS50 IDE, scríobhamar clár beag Dinky a dúirt go díreach, "Dia duit ar domhan." Agus ansin Shábháil mé é i comhad a dtugtar hello.php. Agus ansin Rith mé ordú seo. Agus cén fáth? I mBéarla, tá an méid a ar siúl anseo? Cad a bhí á dhéanamh agam nuair Rith mé an ordaithe? Yeah? LUCHT ÉISTEACHTA: Níl roinnt PHP fheidhm a léann cad atá thuigeann in-- sin. DAVID MALAN: Maith, níl roinnt fheidhm PHP-- agus lig dom a bheith níos sainiúla, níl clár ar a dtugtar PHP, a.k.a. Ateangaire, go dtuigeann an t-ábhar hello.php, agus léirmhíníonn sé barr a bun, ó chlé, agus a dhéanann an méid a deir na orduithe. An orduithe i hello.php, ar ndóigh, Tá ach foinse code-- feidhmeanna agus athróga agus lúba agus leithéidí, go muid féin a bheith tosaithe ag scríobh i PHP. Ach murab ionann agus C, a bhfuil teanga thiomsú, PHP scríobhann tú díreach é, agus rith sé. Skip tú go céim middleman de athrú sé le nialais agus cinn, agus ansin rith sé. Agus mar sin cad is bun os cionn ar seo? Cén fáth a bhfuil gan bacadh táimid ag an chéad chéim? Cén fáth a bhfuil na teangacha níos nua-aimseartha claonadh a skip an taisceadh sin? Cad é an sochar? Nó díreach intuitively? Fiú más rud é nach bhfuil muid scríofa PHP bhfad roimh, cad atá tairbheach faoi nach a thiomsú do chód a cheapann tú? Uimh? Gan cion? Scratching do cheann? Yeah. LUCHT ÉISTEACHTA: Níos dinimiciúla. DAVID MALAN: Níos dinimiciúla? Cad is ciall agat? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: OK, maith, mar sin ag brath ar an ionchur, ní gá duit a chur le chéile sé gach uair. Agus tá sé i ndáiríre mar simplí that-- cad is é an pointe leanúint a thiomsú do chód? Is é seo ach céim go making-- tá sé seo á cheangal, do na cúpla am atá thart seachtaine, céimeanna dhá oiread mar ag rith díreach tar éis do chlár. É a bhí úsáideach i bhfaca go bhfuil tú féach ar roinnt teachtaireachtaí earráide agus mar sin de, ach tá sé fós ach céim annoying. Agus mar sin ríomhchláraitheoirí realized le himeacht ama, ní dhéanann muid cén fáth tús teangacha nach é sin a dhéanamh ag scríobh Ní mór go céim go cothrom meicniúil, ionas gur féidir scríobh ach do chód agus é a reáchtáil. Ach cad é an praghas go chonaic muid íoc againn an tseachtain seo caite, le sampla amháin ar leith? Yes? Luas. Mar sin, [? cad atá?] ateangairí beagán níos moille, sa mhéid is go bhfuil nialais agus cinn deas agus tapa le haghaidh ríomhaire a thuiscint, mar gheall ar an Intel LAP, nó is cuma cad é, ach tuigeann cad atá ar siúl ar leis na patrúin giotán. De bharr an méid ateangaire Is clár sin i ndáiríre Tá a léamh ar an fhoinse ASCII cód go bhfuil tú ag scríobh, agus é a thiontú, mar a déarfá, nó figiúr amach conas a athraíonn sé ar deireadh thiar le nialais agus cinn. Mar sin, a thógann sé ach beagán beagán de hit feidhmíochta. Mar sin, tá sé beagán de thrádáil-uaire. Anois, má dhéanaimid é seo thar anseo, lig dom dul ar aghaidh agus a dhéanamh sampla mar seo a leanas. Má théim i anseo, comhad nua, tá mé ag dul a shábháil seo arís go bhfuil hello.php. Agus anois tá mé ag dul chun dul ar aghaidh agus a rá, "Dia duit cló domhan" - agus a thabhairt chun cuimhne gur féidir liom a úsáid cló, ní féidir liom a úsáid cló-F. Agus anois síos anseo, má dhéanann mé PHP de hello.php, I huh-- Ní gá cosúil go bhfuil léiriú air. Cad a rinne mé mícheart? LUCHT ÉISTEACHTA: An bracelets dronuilleach. DAVID MALAN: Yeah, is gá duit go barr uillinn lúibín suas. Mar sin, tá sé de chineál annoying, ach tú i dtaithí air go tapa. Má tá mé a scríobh cód PHP, liom Ní mór go ginearálta a rá leis an gclár, nó a rá leis an ateangaire, hug PHP, a thagann anseo roinnt cód PHP. Agus ansin le haghaidh dea-bheart, ba mhaith liom seo a dhúnadh ní leis seo, ach le díreach ceist marc uillinn lúibín, ionas go mbeidh anois síos anseo, má ritheann liom seo arís, anois Faighim an toradh inmhianaithe. Anois, a ligean ar a dhéanamh ar leas iomlán a bhaint beag, ach mar sin go atá tú ag feiceáil sé roimh. Tá an cineál annoying go bhfuil mé a reáchtáil PHP hello.php spás, mar gheall ar an am atá thart orm D'fhéadfadh scríobh ach ponc Slais ainm an chláir, a bhfuil de chineál ar deas. Tá sé de chineál taithí úsáideora níos fearr. Mar sin, casadh sé amach is féidir leat é seo a i PHP leis an I following-- Is féidir seo a úsáid cryptic cothrom incantation ag an mbarr anseo, ar a dtugtar de ghnáth le shebang, trína bhfuil an siombail géar, mar a déarfá, tá sé seo le Bang nó pointe exclamation. Agus tá sé seo anois an cosán chun clár ar chóras Linux tipiciúil go ar a dtugtar an timpeallacht, nó timp. Agus line-- an scéal fada líne amháin short-- díreach a deir, hug ríomhaire, teacht ar an PHP ateangaire dom sa timpeallacht, é a aimsiú i do chuimhne, mar a déarfá. Agus cad atá deas anois, tá go má théann mé síos anseo, Is féidir liom a dhéanamh ponc Slais Dia duit ponc php, or-- hmm. Níl cead ag. Bhuel, beidh tú a fheiceáil fiú níos mó de seo le fadhb a leagtar seacht, má tá tú tá cheana féin, le ceadanna. Tharlaíonn sé go raibh gá dom a fhorghníomhú an t-ordú ar a dtugtar [? chamod?] le haghaidh athraithe mode-- móide x hello.php. An gá dom [inaudible] an ceann seo sa bhreis céim atá ag insint mo ríomhaire, dhéanamh inrite hello.php. Agus é ag breathnú anois cad happens-- ponc Slais hello.php, ritheann sé ach. Ní féidir liom gá a shonrú an ateangaire níos mó. Agus is féidir liom a dhéanamh prettier fiú, go fóill, má tá mé a athainmniú rud seo. Má bhogaim hello.php dtí díreach Fógra Hello-- sin sa chlé barr, Is é ainm an chláir go deimhin, anois ach Dia duit. Anois is féidir liom a dhéanamh breathnú cosúil le clár C, cé go bhfuil sé scríofa i PHP-- nó frankly uimhir ar bith teangacha eile. Mar sin, feabhsú imeallach, aon difríocht feidhme. Ach tá sé ach fiosracht beag anois, ionas gur féidir leat cláir a scríobh i dteanga ar bith, agus ní dhéanann an t-úsáideoir ní mór go mbeadh a fhios nó a cúram cad iad na. Bhuel, a ligean ar breathnú ar níos mó sampla láidre anois go bhuailtí mé suas roimh ré. Agus is é seo ar a dtugtar quote.php. Agus tá sé ar fáil ar líne. Agus faoi deara go bhfuil sé deas short-- ach tá sé ina clár na n-orduithe sin ag dul chun breathnú suas praghsanna stoc dom, tá a dul go hiarbhír a bheith germane le fadhb a leagtar seacht. Mar sin a ligean ar a fheiceáil cad tá mé ag déanamh. Ag barr an-Tá mé an lúibín oscailte comhartha ceiste PHP. Ansin fuair mé an líne seo, tá mé trína á cheangal comhad a dtugtar functions.php-- táimid ag dul a fheiceáil níos mó ar seo i beagán, ach tá sé seo cosúil le C leagan de géar san áireamh, áit ar mhaith leat dul Áirítear comhad eile. PHP glaonna a cheangal air, cé go sé freisin Tá san áireamh feidhm. Agus casadh sé amach go bhfuil function.php ach rud éigin a scríobh mé roimh an rang. Chuir mé ar an eolaire céanna, mar gheall ar Bhí mé a fachtóir amach roinnt cód go b'fhéidir gur mhaith linn a úsáid in aon áit eile. Idir an dá linn, is féidir leat is dócha tátal a bhaint astu cad atá ar siúl anseo. Tá sé seo le beagán difriúil ó C-- ach cad is féidir liom a chiallaíonn ag áirithiú úsáid chuí? Aistrigh an níos go teicniúil. Cad iad na cúinsí tá mé quitting an chláir, nó scor? Yeah? LUCHT ÉISTEACHTA: Nuair nach bhfuil tú dhá argóint orduithe. DAVID MALAN: Nuair nach dóigh liom go bhfuil a ordú argóintí líne. Agus cuimhnigh go bhfuil ceann de na Is é argóintí ainm an chláir féin. Agus is é an dara dul a bheith focal eile cineál mé tar éis an pras. Mar sin, díreach cosúil le C, seo Is é mo bhealach seiceáil, raibh an t-úsáideoir comhoibriú agus reáchtáil an clár mar a bhí beartaithe agam? Anois, tá rud éigin beagán difriúil le C-- an gcéad de gach a chuirimid bhfuil an comhartha Dollar, agus cad a dhéanann dollar sínigh iúl i PHP? Just athróg. Sin all-- ach athróg dhiaidh is cuma cad ba mhaith leat a ghlaoch i ndáiríre é. Fógra tá rud éigin ar iarraidh ó mo chlár PHP, díreach mar a bhí sé ar iarraidh caite seachtain, i gcomparáid le C, a bhfuil cad é? A cineálacha, ach freisin rud éigin eile. Níl aon rud function-- fheidhm is mó. Níl aon fheidhm is mó. Tosaíonn tú díreach a scríobh do chód gan a bheith a bheith buartha faoi treallach cothrom coinbhinsiún ainmniú éigin mainneachtana príomh-fheidhm. Dá bhrí sin tá arg C ach i ndáiríre athróg domhanda go bhfuil an ateangaire Déanann sé ar fáil dom. Anois, tá sé seo suimiúil. Mar sin, breathnú suas stuif. Tá stoc comhartha dollar ar an chlé, go mo athróg. Ar thaobh na láimhe deise, níl cosúil feidhm i PHP a dtugtar Lookup go Tá mé ag rith mo orduithe dheireanach to-- is cuma cad é an focal argóint. Agus beidh orainn a fheiceáil conas an ag obair i láthair na huaire. Agus ansin ar deireadh tá mé ag tuairisciú ar an bpraghas. Tá mé ag priontáil amach amháin sciar den sórt sin agus den sórt sin. Agus cuimhnigh, is é seo an bhealach i PHP-- ar bhealach i PHP-- i gcás nach bhfuil tú a dhéanamh an comhartha Dollar S níos mó. Is féidir leat é a úsáid ach braces gcuach agus breiseán i roinnt athróg. Ní gá duit a bheith buartha faoi ag baint úsáide as printf ar an mbealach céanna. Agus mar leataobh, nuair a chuir tú athróg taobh istigh de Sleachta dúbailte mar seo, tá tú ag baint úsáide as teicníc mhaisiúil ar a dtugtar idirshuíomh athraitheach. Ciallaíonn sé ach breiseán an athróg i anseo. Agus mar leataobh, roinnt de tú a thagann ó chúlraí cláir eile, Ní féidir leat é a úsáid comharthaí athfhriotail singil thart ar teaghráin a dhéanamh. Ní mór duit úsáid Sleachta dúbailte le haghaidh Idirshuíomh athróg a bheith ag obair. Seachas sin beidh tú literally fheiceáil na braces gcuach. Mar sin, ar deireadh, a ligean ar dul ar aghaidh agus a reáchtáil seo. Lig dom a dhéanamh ar mo críochfort beagán níos mó. Lig dom dul ar aghaidh agus a reáchtáil taobh istigh de mo eolaire ceanglófar. [? CDsource?] [? AM?] [? ceanglófar?] ceanglófar PHP ponc PHP, agus tá mé ag dul a chuardach le haghaidh rud éigin cosúil le GOOG, a bhfuil a siombail ticker, agus scair amháin de a ainm nua, Aibítir Inc, costas $ 717, mar an lae inniu. Ceart go leor, más mian linn a reáchtáil an arís, duine ar bith tá stoc ticker eile ba mhaith leo chun breathnú suas? Microsoft Sílim go bhfuil an ceann seo, MSFT-- $ 53. Sílim go bhfuil Yahoo b'fhéidir go. Agus is é sin Facebook. Mar sin, cad é an clár seo a dhéanamh? Meastar go bhfuil na draíocht a bheith leabaithe i feidhme sin a chuardach. Mar sin a ligean ar ghlacadh le breathnú tapaidh. Casadh sé amach nach bhfuil a thagann le PHP, tá sé i functions.php. Agus ní bheidh muid ag dul tríd seo go mion mór, ach faoi deara an focal i bhfeidhm anseo go bhfuil ar líne sé de functions.php-- Rá liom literally feidhm. A shonrú mé an t-ainm na feidhme atá agam. A shonrú mé ansin ar bith argóintí, nó paraiméadair, Ba mhaith liom an fheidhm a take-- aon cineálacha. Agus ansin mé a chur i bhfeidhm é. Agus beidh mé tonn mo lámh ag cur chun feidhme, ó tá sé ceart go leor chun cinn anois, ach beidh orainn é a fheiceáil arís i ndáiríre in aghaidh na seachtaine i fadhb a leagtar seacht. Ach is féidir liom a ghlanadh suas seo, freisin. Áiríodh mé freisin i an lae inniu cód leagan de ceanglófar, nach bhfuil aon comhad ponc PHP. Mar gheall ar cad é is dócha ag an barr an clár ar a dtugtar ach ceanglófar? Sin mar a thugtar air shebang-- an incantation cothrom cryptic a deir aimsiú PHP agus ansin sé ar siúl ar mo cód anseo. Ceart go leor, mar sin a thugann dúinn chun áit a d'fhág muid amach time-- caite cé go roinnt samplaí níos mó chun cinn. Ceisteanna ar bith go dtí seo faoi PHP nó cad tá ag éirí linn? No-- ceart go léir. Yeah? LUCHT ÉISTEACHTA: Laistigh den Comhaid HTML, a dhéanann you-- [? a dhéanann tú?] [? ach glaoch air?] a [inaudible] comhad PHP? DAVID MALAN: Good question. I gcomhthéacs gréasáin, a bhfuil muid literally ar tí é a aistriú go dtí, nach bhfuil tú ag úsáid a bhaint as an mar a thugtar air shebang ag an mbarr, mar gheall ar an server-- gréasáin minic a clár ar a dtugtar Apache nó Microsoft IIS, Internet Server Faisnéise, nó líon ar bith de bogearraí freastalaí gréasáin eile, fhios go nuair a fheiceann sé comhad ponc PHP, go bhfuil sé Ba chóir go reáchtáil an ateangaire ar sé. Ní chuireann sé ag féachaint ar an chéad líne. Mar sin, an chéad cleas líne seo ach nuair a bhíonn tú programs-- scríobh-orduithe ach ní bheidh muid ag déanamh Super go minic, ach tá sé ár slí idirlinne ár C samplaí go dtí anois ar ár PHP. Mar sin, a ligean ar droichead go deimhin saol seo ón domhan-orduithe ar an ngréasán ag déanamh an méid seo a leanas. Lig dom dul ar aghaidh agus a tharraingt thar anseo ar feadh nóiméad ach. Mar sin, má táimid tar éis fhreastalaí gréasáin, nó in áit má tá mo ríomhaire glúine thar anseo, a beidh mé a tharraingt mar seo. Agus anseo ní mór dúinn an ar an idirlíon i bhfoirm éigin. Agus ansin thar anseo, ní mór dúinn freastalaí i building-- is é seo conas an idirlíon works-- agus i anseo Is freastalaí le roinnt soilse b'fhéidir. Cad atá ag dul i ndáiríre ar idir an dá naisc? Mar sin, tá sa bhfoirgneamh freastalaí gréasáin. Sin díreach ar ríomhaire go reáchtáil roinnt oibriúcháin system-- b'fhéidir na bogearraí saor in aisce ar a dtugtar Apache, atá CS50 IDE ag rith. Mar sin, is féidir leat i ndáiríre smaoineamh ar an bhfoirgneamh mar an bhfoirgneamh i atá CSt0 IDE stóráil. Sin an áit a bhfuil fad agat cuntais, i gcás ina fad agat ní mór do fhreastalaí gréasáin féin ag rith, ar fad agat ní mór do URLanna uathúil féin, mar a thosaigh muid chun plé a dhéanamh, agus go mbainfidh tú níos mó a fheiceáil i P. leagtha sé. Seo mo ríomhaire glúine áit éigin eile ar an idirlíon. Agus mar sin nuair a thugaim cuairt ar URL go mbaineann dom, is é sin trácht ar an idirlíon ag dul anonn go dtí an bhfreastalaí, an fhreastalaí ag fáil HTTP request-- cosúil le a fháil index.html agus tá sé ag tabhairt freagra ar an leathanach gréasáin. Mar sin, go bhfuil an paradigm ginearálta. De bharr an méid gach rud suas go dtí anois lá atá inniu ann, gach rud a bhí ag tarlú ach amháin sa confines an fhoirgnimh seo. Bhí mé ag baint úsáide as mo ríomhaire glúine, ach Bhí mé ceangailte le CS50 IDE, mar sin go léir de na cláir sin a bhí mé ag rith Bhí taobh istigh den fhreastalaí, é féin. Ach anois, a ligean ar tús a athúsáid PHP a scríobh roinnt cláir iarbhír go Freastalaíonn suas le freastalaí gréasáin. Agus é seo a dhéanamh, tá mé ag dul chun dul isteach i bunch iomlán de shamplaí go a thabhairt isteach an smaoineamh anseo. Mar sin, tá an de chineál ar bhealach mhaisiúil de ag cur síos ar paraidím cláir. Agus go deimhin, mar a scoireann tú CS50 nó obair ar thionscadail deiridh, nó a chur roinnt leanúint ar rang, beidh tú tús a a fheiceáil go bhfuil an world-- go háirithe tar éis fás suas le teangacha ar nós C atá level-- Super íseal a thuiscint go níl níos fearr bealaí na bogearraí scríbhneoireachta. Tá áirithe patrúin féidir leat a leanúint, bealaí áirithe de a eagrú do chuid comhad agus bealaí a ainmniú do fheidhmeanna, ionas go mbeidh scéal fada gairid, Tá an domhan teacht suas le bunch iomlán de acrainmneacha agus ainmneacha le haghaidh bealaí de chláir. Is iad seo ach teicnící a d'fhéadfadh tú a úsáid. Agus is é duine amháin acu ar a dtugtar MVC, do Model View Rialaitheoir. Agus é seo ach, le haghaidh anois, an casta ró bhealach rá conas ba chóir duit a leagan amach ar an suíomh gréasáin PHP-bhunaithe, in ár gcás. Conas is féidir leat a eagrú do chuid comhad, conas a dhéanann tú a eagrú do loighic, ar bhealach a dhéanann sé níos éasca do scríobh gréasáin níos casta? Agus go deimhin, beidh muid go tapa fháil ann le p-leagtar seacht. Mar sin, i saol na MVC, tá tú ag dul a fheiceáil gur féidir ár n-cód go ginearálta a characterized mar ceachtar cód mhúnla, nó cód rialaitheoir, nó d'fhonn cód. Agus mé ag dul a oversimplify sé mar follows-- Is é an rialtóir an brains de do chlár, tá sé i gcás gach ceann de na tharlaíonn loighic suimiúil. Mar sin, gach rud a tá muid scríobh go dtí seo sa rang, Is cineál cosúil rialtóir code-- sé rialú do chlár, do lúb, do coinníollacha, d'fheidhmeanna agus athróga agus go léir. Radhairc, anois, ag dul a bheith beagán níos soiléire ar fud an domhain ar an ngréasán. Tá tuairim an aeistéitic de do láithreán gréasáin. Tá sé cad sees-- an t-úsáideoir na n-íomhánna, na táblaí HTML, na clibeanna HTML, agus gach de sin, gach ceann de na aeistéitiúla fluffy stuif nach bhfuil go crua chun a scríobh, ach tá go díreach cad tá tú ag ghiniúint, Is é an dearcadh mar a thugtar air, an aeistéitic. Agus ar an múnla, ar deireadh thiar, ag dul a bheith bunachar stuff-- a beidh orainn tús tumadóireacht isteach i ngach an an gCéadaoin níos mó. Mar sin, tá rialaitheoir an loighic, Is é tuairim an stuif aeistéitiúla, agus tá múnla ag dul a bheith ina a stóráil muid ár sonraí iarbhír. Mar sin, a ligean ar breathnú ar seo níos nithiúil leis an sampla seo a leanas. Tá mé ag dul chun dul isteach i mo eolaire anseo foinse an lae inniu code-- gach ceann acu tá sé ar fáil ar líne. Agus tá mé ag dul chun dul isteach leagan náid. Agus anseo is-- a ligean ar ghlaoch air an Leagan náid de láithreán gréasáin CS50 ar. Ní Tá i bhfad anseo ar chor ar bith. Tá sé ar an leathanach gréasáin an-simplí go bhfuil is dócha ag baint úsáide as an méid HTML tags-- díreach buille faoi thuairim ó shamplaí am atá thart? Cad é sin? H1-- dócha go mór trom teideal, go lógó suas barr, CS50. Agus cad eile atá ag súgradh? Yeah? LUCHT ÉISTEACHTA: liosta gan ord. DAVID MALAN: list-- gan ord sin an Tag OL agus b'fhéidir cúpla clibeanna LI. Agus más rud é nach bhfuil tú ag cuimhneamh ar na, sé nach hionraic ábhar. Tá na saghas fluffy de sonraí faoi chur i bhfeidhm HTML go bhfuil tú ag breathnú suas go tapa agus an bhfuil tú ar ais ar do bhealach a dhéanamh. Beidh muid ag díriú níos mó ar an chláir smaointe go bhfuil na píosaí juicier. Mar sin, a ligean ar a ghlacadh ach mear féachaint ar an HTML-- agus go deimhin má osclaíonn mé suas an fhoinse tuairim anseo, yup, go díreach atá ar cad a ar siúl anseo. Níl an chlib OL. Neadaithe taobh istigh de go bhfuil a clibeanna LI. Agus ansin mé a fuarthas ar iasacht an URL den siollabas iarbhír anseo. Agus ansin sa Is lectures.php cosúil leathanach dinimiciúil a ghintear eile go bhfuil dul a bheith acu, a ligean ar see-- ah, an chéad dá sheachtain de léacht. Mar sin, seachtain nialas agus seachtain amháin, ar a ligean féachaint ar this-- má Amharc mé foinse leathanach, chomh maith Super simplí. Tá siad seo as a dtiocfaidh dhá leathanach ar a dtugtar week0.php, agus week1.php. Mar sin, mheas anois cad atá ag tarlú. Nuair a chliceálann mé ar week0.php, mo ríomhaire glúine é a dhéanamh iarraidh ar week0.php. An fhreastalaí gréasáin, a.k.a., CS50 IDE, ag fáil go clúdach fíorúil. Tá sé seo ag féachaint ar teachtaireacht cosúil le, a fháil week0.php. Tá sé a léirmhíniú ansin an comhad a, barr go bun, ó chlé go right-- an comhad ar a dtugtar week0.php-- agus spitting amach na torthaí. Mar sin, taobh istigh den comhad seo, week0.php, ní mór a bheith an loighic rialtóir atá ag giniúint an HTML, agus beidh orainn a fheiceáil go luath go. Ach do anois, lig dom cliceáil ar seachtain náid, agus anois ní mór dúinn Céadaoin agus Dé hAoine, agus anois táimid tar éis an sleamhnáin go mall ó sheachtain nialas. Agus d'fhéadfadh tú a thabhairt chun cuimhne seo ó bhealach ar ais nuair a. Mar sin tá go léir atá ar an láithreán gréasáin a dhéanamh. Mar sin, a ligean ar breathnú ar conas atá sé ag déanamh seo. Tá mé ag dul chun dul ar ais isteach sa cód foinse anseo, i CS50 IDE, agus tá mé ag dul a oscailt suas index.php. Ag barr an gcomhad seo Is a bunch de na tuairimí. Agus ansin i lár an comhad seo, é a casadh amach, níl aon cód PHP bith. Toisc más rud é nach bhfuil tú ag aon cheann de na lúibín oscailte Search comhartha ceiste PHP, tá tú saor in aisce a chur díreach HTML. Mar gheall ar cad é an PHP Tá ateangaire ceaptha a dhéanamh, is nuair a léann sé seo file-- bharr go bun, ó chlé go right-- léirmhíníonn sé ach cód Feiceann sé idir na lúibíní uillinn ceist marc. Agus aon ní eile nach ndéanann sé aithint mar PHP, spits sé díreach amach. Agus An bhfuil HTML i measc an stuif Beidh sé spit amach díreach. Mar sin d'fhéadfadh an comhad seo a bheith gairmthe index.html, ach tá mé ag ainmniú gach rud ponc PHP mar chéim. Lectures.php-- dul céanna underwhelming, tá sé ach cuid HTML. Week0.php, dul céanna ach cuid HTML. Ach lig anois ar chur ar an hata innealtóireachta proverbial, agus a mheas conas is féidir linn feabhas a chur ar seo. Níl sé deacair é seo a dhéanamh, ach tá mé cineál de cineachta i chóipeáil agus a ghreamú. Agus go deimhin, má dhéanaim seachtain dhá, tú Tá a fhios cad tá mé is dócha ag dul a dhéanamh? Tá mé ag dul chun dul go dtí week1.php, tá mé dul gach rud a aird a tharraingt ar. Tá mé ag dul a chóipeáil é, a ghreamú i gcomhad nua ar a dtugtar week2.php, tweak roinnt URLanna, agus a bheith ar mo bhealach. Mar sin, bunaithe ar an méid tá muid le feiceáil i C cheana, ní hionann sin bhraitheann ceart, tá súil againn. Cóip, greamaigh annamh an réiteach ceart. Mar sin, cad is féidir linn tús a chur a dhéanamh chun feabhas a chur ar seo? Cá bhfuil na deiseanna do dhearadh níos fearr? Faoin am a rachaidh mé go seachtain ocht, tá sé ag dul a bheith i ndáiríre annoying más mian liom a athrú an cló de gach ceann de mo leathanaigh, nó más mian liom a athrú ar an struchtúr an leagan amach. Mar sin, i gcás ina tá an deis do dhearadh níos fearr? Bhuel, a ligean ar a mheas cad atá roinnte ar fud gach ceann de na comhaid. Seo seachtain amháin, anseo tá seachtain náid, anseo lectures.php, anseo index.php-- cad é mar an gcéanna agus an méid atá difriúil, thart ar labhairt, i ngach ceann de na comhaid seo? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: OK, maith. Mar sin níl patrún, surely, trína gach uair a roghnaigh mé léacht I, Ba chóir dom a bheith a ghiniúint leathanach-lorg an-chosúil. Agus mar sin b'fhéidir gur féidir liom a ghiaráil ar an bhfíric go i ndáiríre, táimid ag aon ghnó huimhriúil innéacsaithe ár lectures-- más féidir liom a chur fiú níos mó focail i do fhreagra. Agus cad é an rud amháin, i ndáiríre, go athrú idir na seachtaine one-- agus lig dom scrollaigh síos mar sin tá sé thart ar an place-- céanna mar sin anseo tá seachtain náid, thart ag an mbarr. Seo seachtain amháin, seachtain náid, seachtain amháin, seachtain nialas. OK, literally má tá aithne agat gan aon chlár ar bith, tá sé seo anois díreach cosúil le cluiche meaitseála patrún. Mar sin, cad atá difriúil? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Maith, mar sin an teideal ag athrú, riamh mar sin beagán. Zero ag dul, ar ndóigh, le ceann amháin. Rud céanna atá ag tarlú sa chlib H1. Agus ní dhéanaimid go maith é a fheiceáil mar go héasca, mar go bhfuil na URLanna beagán fada. Ach tá na URLanna ag athrú beagán. Ach cad nach bhfuil ag athrú é sin, leomh mé rá, an chuid is mó de an t-ábhar ar an page-- Tá an chlib HTML an gcéanna, is é an ceann mar an gcéanna, an teideal beagnach mar an gcéanna, is é an comhlacht an gcéanna, agus beagnach gach rud eile mar an gcéanna ach amháin i gcás na tweaks beag. Mar sin, conas is féidir linn dul faoi fachtóireacht cuid de seo amach? Bhuel a ligean mholadh dom go díreach go bhfuil sa leagan seo chugainn. Mar sin, anseo i leagan amháin, tá mé an cruinn Comhaid céanna, chomh maith le cúpla daoine eile. Seo index.php-- agus fiú má riamh tá tú ag feiceáil PHP roimh, cad tá á dhéanamh agam is dócha chun an fhadhb seo problem-- bunaithe ar an méid a fheiceann tú anseo? Yeah, go bhfuil tiomantas beag? Uimh? Yes, dul ar aghaidh. LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Yep. LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: is gá dom duit a labhairt ach níos airde beagán. LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: OK, maith. Agus think-- mé go raibh sé go crua chun a chloisteáil you-- ach tá mé smaoineamh ar cad tú ag fáil ag go na clibeanna a bhí coitianta suas barr, agus na clibeanna a bhí coitianta ar an bun, curtha san áireamh amach anois, nó relegated chun an méid comhaid? Header.php agus footer.php-- agus táimid ag dul a dhéanamh ar roinnt tweaks chun aghaidh a thabhairt ar an imní tú díreach ardaíodh faoi na huimhreacha atá ag athrú, le haghaidh Mar shampla, má chuala mé tú i gceart. Ach is cosúil go bhfuil a bheith ar an gist sé. Má bhí méid ollmhór de iomarcaíocht ag barr an leathanaigh, agus méid ollmhór de iomarcaíocht ag an mbun, a ligean ar literally ach aird a tharraingt ar agus a ghearradh go bhfuil ábhar as, é a chur i file-- ar leith díreach cosúil an smaoineamh CSS, i gcás ina fhachtóir muid amach aeistéitic an-chosúil, a chur sé i gcomhad ponc PHP ar leith, bain úsáid as an cheangal mechanism-- a Is cosúil C include-- géar a go bunúsach cosúil le rá dul grab an t-ábhar header.php, agus cóipeáil agus greamaigh iad anseo. Ach cad a chiallaíonn sé seo go anois i index.php, tá mé iad siúd dá líne. I lectures.php, mé freisin bhfuil na dhá líne. I week0.php, mé freisin bhfuil na dhá líne. Mar sin anois, más mian liom a athrú an teideal gach ceann de mo leathanaigh, nó ba mhaith liom a athrú ar an Struchtúr bunúsach, Is féidir liom é a athrú anois i díreach aon áit amháin, nó dhá header agus buntásc places--, faoi ​​seach. Anois an cód ar tosú chun breathnú beagán níos cryptic, ceart? Ach má cheapann tú faoi na rudaí ar an leathanach Tá doing-- má tá mé ag iarraidh week0.php, díreach cosúil leis an líníocht thar ar here-- nuair week0.php iarrtar, Cad is brí le sin? Literally, tá an comhad seo iarrann an bhrabhsálaí. An ngréasán server-- a.k.a. CS50 ID-- grabs seo comhad, week0.php, agus léann sé bhun go barr, ó chlé go deas. Ar líne amháin, encounters sé láithreach lúibín oscailte comhartha ceiste PHP, a cheangal header ponc PHP, agus mar sin cad é an ateangaire PHP does-- ar sin tógadh isteach an ngréasán freastalaí, mar gheall ar táimid ag preconfigured sé you-- téann sé go huathoibríoch i header.php, cóipeanna an t-ábhar, Greamaigh iad anseo. Ach ansin na encounters ateangaire ceist marc lúibín gar, mar sin tá sé déanta go léir ag smaoineamh. Anois spits sé ach blindly amach línte dhá trí seacht, mar tá sé ach HTML amh. Faigheann go dtí an líne ocht, agus a dhéanann go draíochta céanna again-- oscailt an chomhaid, grabbing an t-ábhar, agus á cheangal orthu nó iad a pasting ceart ansin nó go. Ach Thagair mé díreach go bhfuil fabht. Is céim ar gcúl páirteach, mar má táimid i header.php, Tá mé de chineál ar gearrtha cúinne. Cén ghné raibh mé a thabhairt suas chun a fháil ar an dearadh níos fearr inargóinte? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Yeah, mé cineál de gearrtha cúinne nontrivial. Dúirt tú amach go bhfuil an méid a bhí ag athrú ba é an teideal, an uimhir sa teideal, agus an uimhir sa H1. Mar sin, bhí mo réiteach, OK, a ligean ar a athainmniú ach an leathanach, agus ní déileáil leis an fhadhb ar bith. Mar sin tá go páirteach céim ar gcúl do cinnte. Ach cad é faoi deara anseo Tá go bhfuil an méid atá déanta agam Tá áireamh ar shlí eile amach na rudaí coitianta. Agus i footer.php, fógra san áireamh mé as gach ceann de sin, cé lú, stuif coitianta. Mar sin, is gá dom a bheith ar bhealach anois in ann ghlacadh céim eile chun tosaigh, agus a shocrú go saincheisteanna teidil. Mar sin, a ligean ar é sin a dhéanamh. Lig dom dul isteach i mo dara leagan anseo, a, arís, tá na comhaid céanna ach amháin i gcás theannta nua amháin. Agus tá sé ina beagán níos mó verbose, ach ligean ar a fheiceáil má táimid Is féidir le tease seachas cad atá ar siúl anseo. Mar sin, in ionad a cheangal header.php, agus footer.php, Is cosúil mé a bheith éilíonn ach amháin file-- ar a dtugtar, ar ndóigh, helpers.php. Agus lig dom a a ordú anois, cad atá taobh istigh de helpers.php ach a bunch feidhmeanna gur scríobh mé, díreach mar a bhíodh. Ach d'iarr mé é helpers.php. Anois is cosúil, i líne trí agus 10, tá mé ag glaoch ar dhá functions-- rindreáil header, buntásc rindreáil. Iad siúd nach bhfuil teacht le PHP, scríobh mé sin mé féin. Agus chuir mé leo i helpers.php. Anois, tá muid le feiceáil ach amháin an error uair amháin, agus bhí sé Super gearr. Ach tá sé seo cosúil argóint header, an fheidhm i gcóir chun. Cén fáth a bhfuil mé a fhios go? Bhuel tá anseo paren dhúnadh, anseo tá an paren oscailte. Agus ar ndóigh, díreach cosúil i C, rud ar bith idir na lúibíní is input-- nó argóint leis an fheidhm. Cad é an cineál sonraí an argóint, bunaithe ar an méid atá aibhsithe agam? Cad a dhéanann na lúibíní cearnacha Léiríonn, bunaithe ar an tseachtain seo caite? Yeah, tá sé array-- go sonrach le sraith comhthiomsaitheach. Agus seo error admittedly Is funky beag, ach tá sé seo ag dul díreach i péire luach eochair amháin. Is í an eochair, ceanglófar comharthaí athfhriotail Tá teideal, agus an luach CS50. Má bhí déanta againn seo i C, d'fhéadfadh sé ina ionad sin cuma níos mó cosúil le seo, ach ceanglófar comharthaí athfhriotail CS50-- nó iarbhír go mbeadh sé curly guailleáin, nó rud éigin mar sin i C, áit a bhfuil an eochair náid, agus is é an luach CS50. Ach arís, i PHP, cé go bhfuil an Tá error, arís, beag aisteach, ceadaíonn sé duit chun pas a fháil i focail in ionad na n-uimhreacha chun eochracha chomhlachú le luachanna. Mar sin, cad a chiallaíonn sé seo go léir? Má théann mé isteach helpers.php, ligean ar breathnú ar an bhfeidhm seo. renderHeader.php, in áit Is renderHeader m'fheidhme, agus tá a fhios agam go bhfuil mar gheall ar a fheiceáil mé an eochairfhocal fheidhm anseo. Tá sé seo nua ó C-- sé cosúil Bíonn argóint a dtugtar data-- ach raibh mé in ann a bheith ar a dtugtar seo rud ar bith, ach d'iarr mé é sonraí, ach a bheith ina clean-- beag agus a ghlacadh ach buille faoi thuairim, go háirithe má tá tú ag cláraithe i roinnt eile teanga ardleibhéil roimh, rud éigin os cionn C, coincheapúil. Cad a dhéanann lúibín oscailte comhionann lúibín cearnach is dócha i gceist? Nó cad a d'fhéadfadh go gciallódh sé? Ní atá feicthe againn seo i C. Yeah? Sraith folamh. Go sonrach, ciallaíonn sé seo má Ní chuireann an t-úsáideoir glaoch renderHeader le argóint, tá mé ag dul go fóill a bheith acu ar argóint a dtugtar sonraí, ach is é a luach réamhshocraithe ag dul a bheith le sraith folamh. Mar sin, tá sé ach áise deas. Ní féidir liom a yell ag an úsáideoir, nó a rá a d'úsáid tú m'fheidhme mícheart. Is féidir liom a thabhairt ach an t-úsáideoir mainneachtain luach, más rud é nach féidir liom cúram go háirithe. Anois an fheidhm seo, tá mé dul chun tonn mo lámha ag. Ach ceadaíonn an fheidhm sliocht dúinn chun pas a fháil ar na hathróga i sonraí i header.php ar an mbealach seo a leanas. Agus is é seo an píosa deireanach, I mo thuairimse, ar chomhréir funky. Seo é mo leagan nua de header.php-- sé a úsáidtear a rá, literally, ar oscailt lúibín teideal CS50, agus go raibh sé. Agus rud céanna le haghaidh an H1. Anois deir sé cosúil rud éigin deas funky. Agus lig dom a shimpliú seo ar feadh nóiméad mar seo a leanas. Is é seo a tá mé athrú ar mo teideal a bheith. Mar sin féin, tá sé ag fáil beagán ghránna le lúibíní i gcónaí oscailte le PHP, agus ansin a bhaint as an fheidhm a phriontáil. Casadh sé amach go bhfuil PHP i luathscríbhinn nodaireacht seo, a bhfuil ach comhartha comhionann, a bhfuil go teicniúil a fheidhm a dtugtar macalla ionad cló, ach tá sé an rud céanna, go héifeachtach. Go Breathnaíonn ach níos fearr. Tá sé ach comhréire siúcra, más maith leat, a fhágann gurb é mo cód cuma beagán níos fearr. Ach casadh sé amach, agus beidh orainn a fheiceáil seo arís roimh fada, ní mór dúinn a thabhairt ar an annoyingly feidhm fada ar a dtugtar HTML carachtair speisialta PHP, mar gheall ar casadh sé amach tá ionchuir áirithe go mb'fhéidir go mbeadh an t-úsáideoir a thabhairt dúinn, nó go mb'fhéidir go mbeadh úsáideoirí a thabhairt dúinn, go bhfuil dul a bhriseadh ár suíomh. Ach beidh orainn a fheiceáil go chéad seachtain le JavaScript. Ach do anois, ach a fhios go comhad seo, headers.php, ach Bíonn an teideal sin Rith mé i, go mbeadh sé cinnte go bhfuil sé sábháilte a instealladh isteach i ngréasán leathanach, agus spits sé amach é mar mo theideal agus mar mo H1. Mar sin, má théann mé isteach an leagan seo anois, faoi ​​deara go bhfuil léachtaí a teideal ar ais, Tá seachtain náid a teideal ar ais, agus go deimhin, an HTML tá mé ag a ghiniúint Is comhionann leis an méid mo chéad leagan was-- ach amháin i gcás mo spás bán, mar tá mé ag formáidiú a thosaigh mo cód a mhalairt beag. Ach tá mé a ghintear go léir an cód cúram mé faoi. Mar sin, lig dom sos ar feadh ach faoi láthair agus a fheiceáil má tá aon cheist nó mearbhall tá mé chruthaigh. Gach ceart, mar sin a ligean twist beagán níos deacra anseo a fheiceáil má tá tá deis le haghaidh feabhsúcháin. Bhí Helpers.php freisin seo fheidhm, ar a dtugtar renderFooter. Agus cad atá suntasaí faoi renderHeader, agus renderFooter? Agus arís, chun críocha an lae inniu, tá a fhios go bhfuil an fheidhm sliocht díreach mo bhealach ar argóintí a rith i header.php agus footer.php. Tá brón orm? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Yeah, mé ach d'athraigh an cheangal líne. Mar sin, literally, tá mé geallta an pheaca de chóipeáil agus a ghreamú, arís. Níl sé líon mór línte, ach teacht on-- má tá mé ag chóipeáil agus pasting rud ach a athrú focal beag amháin, agus an focal beag ceann a pointí Alan amach é sin buntásc anseo, i gcomparáid le header anseo. A mhalairt, tá gach rud comhionann, ach amháin i gcás, ar ndóigh, ainmneacha an fheidhm ar. Mar sin, cad a d'fhéadfadh linn a dhéanamh níos fearr? Bhuel lig dom a oscailt suas an leagan seo anseo, trína i helpers.php, cén fáth nach féidir liom a fháil ach beagán níos cliste faoi seo? Scríobh beagán níos casta cód, ach glaoch a sholáthar? Mar sin, cad a d'athraigh mé go bunúsach? Bíonn sé argóint now-- dhá argóint, ar shonraí. Agus ansin cad é an chéad ainm á n-úsáid is dócha ar feadh, bunaithe ar an méid a bhfuil tú ag léamh anseo? Fiú má tá roinnt de na chomhréir fós nua. Cad é teimpléad comhartha dollar? Tá brón orm? LUCHT ÉISTEACHTA: Ceanntásc nó buntásc. DAVID MALAN: Ceanntásc nó buntásc. Mar sin, is cosúil, chinn mé go más rud é an rud amháin go bhfuil athrú bhfuil cad ba mhaith liom teimpléad a print-- agus trí teimpléad Ciallaíonn mé go bhfuil an treoirphlean le haghaidh cód gur mhaith liom a aschur, ach ba mhaith liom chun an breiseán i roinnt values-- mar sin má tá sé ach header nó buntásc, cén fáth nach liom parameterize go agus glaoch ar an comhartha Dollar argóint teimpléad? Agus ansin ceadaíonn an error funky orm a chruthú cosán i athróg anseo. Dá bhrí sin tá cosán comhartha Dollar athróg. Cad a dhéanann an error a dhéanamh, má tá tú eolach ar? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Go díreach. Má tá teimpléad, ceanglófar comharthaí athfhriotail, header, nó má tá teimpléad, ceanglófar comharthaí athfhriotail, buntásc, an líne ann go atá béim mé, líne ocht, ag glacadh go simplí ainm sin, cosúil le header, agus concatenating sé le ponc PHP. Mar sin, nach raibh againn oibreoir seo i C. Tá an oibreoir ponc rud iontach i PHP-- má tá tú eolas maidir leis JavaScript nó Java, Is féidir leat úsáid an móide sínigh comhchaitéiniú a dhéanamh. I C, tá sé ina pian sa neck-- agus tá mé mar sin leithscéal, i p-leagtar sé, tú ag dul a bheith acu a dhéanamh this-- tá sé ina pian i muineál chun teaghráin comhcheangail. Cén fáth? Bhuel, mar má tá tú bhí teaghrán go bhfuil sé seo le fada, agus teaghrán eile go bhfuil sé seo le fada, ní féidir leat ach iad a breiseán le chéile. Cad a dhéanann tú in ionad a dhéanamh i C? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID MALAN: Tá tú a malloc chuimhne, nó a úsáid le sraith ar an chairn. Agus tá tú i ndáiríre a dhéanamh go sraith mór go leor a d'oirfeadh seo móide seo, móide an cúlslais nialas. Ansin comhcheangail iad le chéile ag baint úsáide as stir cat nó de láimh le haghaidh lúb, nó aon líon na teicnící. Agus Léiríonn muid duit lánúin i p-leagtar sé. Tá sé ina pian i muineál. Agus tá sé seo fíor cad is ciall agam faoi seo i gcomparáid this-- cosúil le C versus PHP. Leat a fháil ach i bhfad níos mó feidhmiúlacht ar saor in aisce, ionas gur féidir leat díriú, go hidéalach, ar an spraoi mar chuid de códú, an tionscadal is mian leat chun an fhadhb, seachas an minutiae leibhéal íseal. Mar sin, gineann sé seo ach header.php nó footer.php bunaithe ar a ceann mé glaoch. Agus go deimhin, má théann mé i index.php, fógra go léir go bhfuil changed-- In ionad glaoch rindreáil header nó buntásc rindreáil, Tá mé ag glaoch rindreáil, le leanúint ag an ainm an teimpléid gur mhaith liom a dhéanamh. Agus beidh tú a fheiceáil seo, freisin, i fhadhb a leagtar seacht, trína deis a thabhairt duit a bhaint as an fheidhm chéanna a bunches dhéanamh agus bunches de leathanaigh ghréasáin éagsúla. Mar sin, seachas a dwell ró i bhfad níos mó ar na details-- a mbainfidh tú a fheiceáil arís i seven-- leagtha fhadhb a ligean ar breathnú ag anois tús ar réiteach ar fhadhb níos suimiúla. Go dtí seo, tá muid rud ar bith Tá sonraí a shábháil déanta. Go deimhin, an t-am amháin a againn a shábháil riamh rud éigin againn atá déanta sa rang seo Tá nuair a bhí againn taispeána an-simplí awhile ar ais, trína úsáid againn comhad TAIS i C, agus sílim go clóscríofa mé i mo ainm, agus Ainm Hannah, agus ainm Maria ar, nó b'fhéidir ainm Andy, agus ansin shábháil againn file-- CSV scartha le camóga luachanna comhad. Agus úsáid againn fopen-- I mo thuairimse, a úsáid le linn fprintf mar cuimhin liom, agus a shábháil againn comhad. Anois, is é sin an simplí bhfoirm bunachar sonraí. Más mian leat a dhéanamh ar láithreán gréasáin do na Clár Frosh IMS, trína freshmen Is féidir clárú do spórt, tú go hidéalach ag iarraidh rud éigin leis na sonraí sin a dhéanamh. An tseachtain seo caite, rinne muid rud ar bith leis an data-- dúirt muid díreach, tú cláraithe, ní i ndáiríre. Nó b'fhéidir ríomhphost mé an phrócadóir, agus go raibh sé. Ach bheadh ​​sé deas dá raibh mé a thabhairt go phrócadóir comhad CSV, cosúil le comhad Excel. Nó níos fearr fós, bheadh ​​sé deas dá raibh mé a chur ar ainmneacha na húsáideoirí sin agus ainmneacha dorm agus gach ceann de sin isteach i mbunachar sonraí a ach ina chónaí ar aghaidh go deo, go dtí go roghnaigh mé chun na sonraí a scriosadh. Tá bunachar sonraí a ligeann dom eolas chun ceist. Agus go deimhin, go bhfuil an méid is bunachar sonraí. Muid isteach inniu, agus an tseachtain seo chugainn, freisin, teicneolaíocht ar a dtugtar SQL-- a Iarratas Struchtúrtha Teanga, a bhfuil teanga eile. Tá sé go bunúsach ar chláir teanga, ach le haghaidh bunachair sonraí. Agus bunachar sonraí do anois, ach smaoineamh mar leagan Super mhaisiúil de Microsoft Excel, nó Google Scarbhileoga, nó Uimhreacha Apple. Tá sé i gcoitinne clár a ligeann leat a stóráil a bunch iomlán de shonraí i sraitheanna agus colúin, go leor mar d'fhéadfadh tú i Excel. Ach cad atá deas, go háirithe má nach bhfuil muid eolas maidir leis an Super Excel, cad SQL is féidir leat a dhéanamh ná cheist seo Eolas Post línte de chód scríobh nuair is féidir leat, fiú amháin má tá do Tá bunachar sonraí a milliún sraitheanna ann, Is féidir leat teacht rudaí Super tapa. Go deimhin, tá Excel go háirithe dona ag tacair shonraí mhóra. Agus go deimhin, suas le cúpla bliain ó shin, iompaithe amach Bheadh ​​fheabhas ar chumas ach tú a stóráil suas le 65,535 sraitheanna de data-- a fuaimeanna cosúil go leor, ach ag an am a bhí mé mac léinn Grád, agus cuimhin liom tripping thar seo toisc go raibh mé ag a ghiniúint Comhaid CSV do mo thaighde agus mé ag iarraidh a anailís a dhéanamh orthu go tapa ag díreach a oscailt suas i Excel. Ar ndóigh, crashed mo ríomhaire ach, mar gheall go raibh mé níos mó ná 65,000 sraitheanna. Ach i gcás ina raibh an 65,535 a thagann ó? Cad a bhí á dhéanamh Microsoft, is dócha? Má tá tú go maith le do chumhachtaí dhá? Yeah, bhí siad ag baint úsáide as 16-giotán luach chun ionadaíocht a dhéanamh ar líon as a chéile. Agus dhá go 16 Tá 65,536-- lúide amháin, mar má tá tú Ciallaíonn innéacs náid go raibh an an chuid is mó ar líon na sraitheanna raibh mé in ann a bheith acu. Agus bhí sé ach cinneadh a dhearadh. Ag coigilt 16 giotán, teoranta siad dom go 16,000 sraitheanna, in ionad 4 billiún, a raibh mé in ann go raibh hidéalach. Ach do anois, táimid ag dul chun seo a thabhairt isteach níos mó i gcomhthéacs gréasáin. Agus cad atá deas mar gheall SQL é go fiú cé go bhfuil sé go leor chumhachtach agus go leor sofaisticiúla, boils sé i ndáiríre síos go dtí ceithre oibríochtaí lárnacha, ceithre príomhfheidhmeanna, más rud é go will-- leat a roghnú, chun faisnéis a ghabháil sonraí, cuardach le haghaidh sonraí; scriosadh nó a scriosadh sonraí; cuir isteach do sraitheanna leis an mbunachar sonraí a chur leis; agus a nuashonrú. Mar sin, má tá tú ag úsáid Google riamh Scarbhileoga, Uimhreacha Apple, Microsoft Excel, tá tú chun báis, is dócha, gach de na hoibríochtaí mar an duine ag ach ag baint úsáide as do mhéarchlár agus mouse-- sonraí a chur isteach, ag baint úsáide as do shúile a roghnú nó cuardach le haghaidh sonraí, nó sonraí cothrom le dáta, nó sonraí a scriosadh. Mar sin, cad a chiallaíonn sé? Bhuel, réamh-suiteáilte i CS50 Is IDE clár ar a dtugtar MySQL. Tá sé ina saor in aisce, foinse oscailte bunachar sonraí go bhfuil Super tóir. Facebook, mar shampla, úsáideann sé chun an lá, i measc uirlisí eile a úsáideann siad. Agus a lán de láithreáin ghréasáin an-tóir Úsáideann sé i gcuid mhór mar tá sé go tapa, agus mar tá sé saor in aisce. Cé cinnte ann roghanna eile. Agus d'fhéadfadh roinnt de tú dabble le roghanna eile do thionscadail deiridh. Is é seo an seat, am céanna, de uirlis bunaithe ar an ngréasán a dtugtar phpMyAdmin. Is mór an chomhtharlú go tá an uirlis gréasán-bhunaithe freisin scríofa i dteanga, PHP, ach cad tá sé i gceist a dhéanamh Tá a thabhairt dúinn bunaithe ar an ngréasán comhéadan le bunachar sonraí. Toisc go bhfuil MySQL de ghnáth rud éigin, go stairiúil, tú Bheadh ​​idirghníomhú leis ach le líne a ordú. Agus go mbeadh sé Super annoying agus arcane a bheith acu le cineál orduithe téacsúla a roghnú sonraí, cuir isteach sonraí, agus sonraí a scriosadh. Mar sin, roinnt daoine ar an idirlíon Scríobh clár bunaithe ar an ngréasán go in iúl ach dúinn a bhainistiú na sonraí inár mbunachar sonraí. Tá sé cosúil le dúbailte chliceáil ar Excel, agus ag rith ar leagan bunaithe ar an ngréasán sin. Agus cad a bhfuil tú ag dul a úsáid le haghaidh ar deireadh thiar ní tseachtain seo chugainn, i p-leagtar sé, ach tá rud éigin a thógáil ar a dtugtar CS50 Airgeadais, a ag dul a bheith acu bunachar sonraí de úsáideoirí, le ainmneacha úsáideora agus focal faire, méideanna dollar go bhfuil siad acu ina gcuntais bhainc. Tá sé ag dul a bheith rud éigin a úsáideann tú a stóráil na siombailí agus na cainníochtaí de stoic n-úsáideoirí sin a cheannaigh ag baint úsáide as fíorúil dollar go mbainfidh tú a thabhairt dóibh. Agus tá sé ag dul chun ligean d'úsáideoirí clárú do do shuíomh, ionas gur fiú do chairde Is féidir tune i do láithreán gréasáin agus ar ndóigh, a chlárú, logáil isteach, agus imirt ar fud agus iarracht a locht a fháil ar do chód, agus iarracht a dhéanamh bugs i do láithreán gréasáin a fháil. Agus beidh siad a chlárú go simplí ag ag cur iad féin, go héifeachtach, via cód scríobhann tú chuig do bhunachar sonraí. Mar shampla, tá sé seo le seat tapaidh de cad a d'fhéadfadh bunachar sonraí cuma mhaith. Bhí sé seo ó cheann de solutions-- na bliana seo caite tá sé seo cosúil le Excel mion comhad, a stóráil inár mbunachar sonraí, stóráil i bogearraí seo a dtugtar MySQL. Ar thaobh na láimhe clé, tá mé cosúil Tugtar gach úsáideoir uimhir uathúil. Sa dara colún, tá mé a thugtar gach duine name-- úsáideoir mo chuid féin ina measc. Agus ar thaobh na láimhe deise, Mé a thabhairt dóibh hash. Anois tá sé seo i ndáiríre focal faire, ach ní tá sé ina focal faire gnáth-théacs. Tá sé ina focal faire criptithe, más rud é beidh tú, nó focal faire hash. A beidh muid ag teacht ar ais chuig roimh i bhfad. Ach má tá tú ag léamh riamh alt faoi conas a do phasfhocal ar roinnt banc nó cuid D'fhéadfadh a bheith i mbaol gréasáin, Is féidir go gciallódh sé go ginearálta ar cheann de dhá rud. Mar sin, tá sé seo ach sliocht de shé úsáideoirí. Is féidir le gach ceann de leat figiúr anois amach trí hacking nó scoilteadh cad iad ár sé daoine faire. Ach má tá tú ag gotten riamh foláireamh nó leithscéal a ghabháil ó chuideachta nó ar láithreán gréasáin rá, tá brón orainn, bhris hacker isteach inár mbunachar sonraí, ba chóir duit a athrú dócha do Focal faire, cad a d'fhéadfadh a chiallaíonn? Bhuel, d'fhéadfadh ceann amháin, ciallóidh an Tá comhlacht níos moronic, agus tá sé ag stóráil do phasfhocal i gcolún mar seo, gan chriptiú. Rud a chiallaíonn an adversary, a ghoid an bunachar sonraí, literally a fhios ag do ainm úsáideora agus do phasfhocal. Sin an cás is measa is féidir. Agus mar beidh tú a fheiceáil i p-leagtar seacht, mar sin éasca a sheachaint. Tá fíor aon leithscéal chun na bhfoirm stupidity sa lá atá inniu idirlín. Two-- agus beidh muid ag teacht ar roinnt altanna chun fianaise a thabhairt ar an bhfíric go bhfuil an fós tharlaíonn, nonetheless-- dhá, b'fhéidir an adversary ghoid an leagan ar an mbunachar sonraí. Atá fós de chineál ar olc, mar anois a fhios acu go bhfuil mé sé custaiméir, Tá a fhios agam na ainmneacha úsáideora de na sé custaiméirí, agus tá a fhios agam an criptithe leaganacha, nó na leaganacha hashed, de na sé gcustaiméirí focal faire. Ach aon cheann de tú a d'fhéadfadh a dhéanamh nó [? Hacker 2?] áit scáinte tú focal faire, nó ghlac a breathnú ar an leagan ar an bhfadhb leagtar, cén fáth go bhfuil sé fós worrisome beag más eol an adversary do hash pasfhocail? LUCHT ÉISTEACHTA: Toisc a d'fhéadfadh siad dul isteach ar an bhfoclóir ar fad isteach ar an fheidhm hash. Agus má tá do phasfhocal foclóir focal, [? is féidir iad a match-- díreach?] DAVID MALAN: Go díreach, an adversary Is féidir scríobh ach cód, cosúil le roinnt de tú Rinne haghaidh [? Hacker?] 2, trína iterate tú os cionn gach ceann de na focail sa bhfoclóir, nó gach teaglamaí féideartha A trí Z agus ceann trí nine-- a fuaimeanna cosúil go leor, agus tá sé. Ach do ríomhaire, tá sé deas darn tapa. Agus go deimhin, go raibh an pointe [? Hacker 2,?] A bhí stuif a ghlacadh go literally Breathnaíonn mar seo, agus innealtóir droim ar ais cad a bhí sé i ndáiríre. Mar sin, beidh muid ag breathnú ar conas is féidir linn a a stóráil seo níos éifeachtaí. Casadh amach, buíochas le Dia i MySQL, tá dul chun bheith cineálacha sonraí. Agus ar cheann de na codanna spraoi faoi dearadh bunachar sonraí, a bheith macánta, Tá cinneadh hiarbhír as duit féin conas ba chóir duit na sonraí a? Ba chóir duit ionadaíocht a dhéanamh ar uimhir theileafóin mar ina slánuimhir, cosúil le líon mór, nó le fada? Nó an bhfuil tú a dhéanamh i ndáiríre é mar seicheamh de chars? Agus is féidir a bheith ann an- tionchair neamh-fánach de seo. Go deimhin, ar cheann de na is luaithe, scéalta germane spraoi Is nuair a bhí Mark Zuckerberg ag tógáil Facebook, bhí sé scríofa ar dtús i, agus tá sé fós i scríbhinn den chuid is mó i PHP. Agus ar cheann de na dúshláin is mó bhíonn siad go luath ar a bhí scálaithe. Nuair a choinnigh siad ag cur scoil tar éis scoil tar éis na scoile, go bhfios dom, ar cheann de na réitigh bunaidh Bhí go bunúsach a chóipeáil agus a ghreamú cuid de na bunachair sonraí agus roinnt de na cód, mar sin go raibh Harvard ag rith ar a fhreastalaí féin, agus bhí MIT ag rith ar a fhreastalaí féin. Agus bhí sé seo an fáth, i gcás roinnt agaibh a d'fhéadfadh a thabhairt chun cuimhne, Ní fhéadfadh go mbeadh ort cairde i líonraí eile. Tú dócha nach bhfuil cairde ag MIT nó Harvard 10 nó mar sin bliain ó shin, ach ní fhéadfaí tú span líonraí ar feadh páirteach ar an gcúis sin. Agus ar cheann de na dúshláin is mó do Mark agus do chuideachtaí cosúil le Facebook Tá láimhseáil iarbhír na céadta agus na mílte agus na milliúin na n-iarratas in aghaidh an tsoicind. Mar sin, na rudaí a beidh orainn a thosú ag caint faoi an tseachtain seo ag dul i ndáiríre a bheith germane le scríbhneoireacht bogearraí maith, agus popularly Uirlisí rathúla a Is féidir déileáil le go leor de na n-úsáideoirí. Mar sin, beidh muid ag labhairt faoi rudaí cosúil le innéacsú agus a chuardach, ach go bhfuil sé do lá atá inniu ann. Beidh le feiceáil tú le haghaidh níos mó ar an gCéadaoin. [CEOL - "Seinfeld" TÉAMA] DAVID MALAN: Is féidir leat a íoc, a sé, agus a dhealú ó sé. Agus ní gá duit a bata le roinnt méid réamh-chinneadh de chuimhne. Bhuel, cad atá ar go bhfuil ag dul a bheidh le glaoch? Cainteoir 1: Bhuel, tá an méid a ar siúl? Cainteoir 2: Cad atá i gceist agat? Tá sé ag tabhairt léachta. DAVID MALAN: Agus is féidir linn úsáid a bhaint as fheidhm a dtugtar malloc a memory-- Cainteoir 1: Cén fáth nach bhfuil a chuid airm ag gluaiseacht? Cainteoir 2: Bhuel that's-- tá a fhios agat, go bhfuil gnáth. Tá sé díreach cosúil go bhfuil sé díreach ispíní mór crochta ann. Cainteoir 1: Sin gnáth? Cainteoir 2: Yeah, I mo thuairimse, táimid ag ach glacadh leis sé de thaisme in ionad a deodorant le sárghliú.