[Powered by Google Translate] [Ġimgħa 9] [David J. Malan - Università ta 'Harvard] [Dan huwa CS50. - CS50.TV] Kull dritt. Merħba lura. Dan huwa CS50, u dan huwa l-bidu tal-ġimgħa 9. Illum aħna niffukaw b'mod partikolari fuq id-disinn, m'għadhiex fil-kuntest ta 'C iżda fil-kuntest ta 'PHP u daqsxejn ta' SQL u daqsxejn ta 'JavaScript, partikolarment lejn l-aħħar ta 'kemm pset 7 u wkoll proġett finali tiegħek. Fil-fatt, jekk inti f'dak il-proġett finali tiegħek fejn preżumibbilment bħala ta 'siegħa jew hekk ilu inti inqas bdew jaħsbu ftit għall-proġett finali tiegħek u inti qed jaħsbu li inti tixtieq li jikkollaboraw ma '1 jew 2 klassi, jekk int trouble wara konnessjoni ma qal klassi, tħossok liberu li timla l-formola fil-cs50.net/partners/form. Hija biss tistaqsi lilek min int, liema tip ta 'proġett inti qed jaħsbu dwar, fejn inti tgħix biss għal raġunijiet loġistiċi. U mbagħad jekk inti tixtieq li żżomm għajnejk fuq matul il-ġimgħa d-dieħla jew hekk il-URL spreadsheet hemm, inti tista 'mbagħad tara verżjoni jinqraw-biss tal-dok Google li aħna qed jiġbru dik l-informazzjoni. Mela jekk inti tixtieq taħdem ma 'xi ħadd, bil-mezzi kollha li tħossok liberu li jilħqu lin-nies permezz ta 'dak il-mekkaniżmu. Iżda l-maġġoranza ta 'folks jagħmlu solo xogħol. Dak totalment multa. Allura ma jħossu li dan huwa f'kull mod obbligatorju. Nhar il-Ġimgħa kien biss lili u ftit mill-tim fil hawn, teatru vojta għall-aktar parti. Kien hemm 3 turisti seduta up hemm, b'tali mod li kien ftit skomdi. Dak li aħna tkellem dwar kien databases u tkellimna dwar pset 7 ftit. U jekk inti ma jiġri li jaqbdu li fuq video għadha biss, li l-multa. I ser jipprova jiddefinixxi xi termini li aħna kieku jieħdu għal mogħtija ibbażata fuq lecture nhar il-Ġimgħa. Imma llum aħna qed tmur biex nipprova nikseb inti l-punt ta 'mhux biss tkun tista' tagħmel xi ħaġa simili pset 7 imma verament jifhmu x'inhu għaddej taħt il-barnuża, partikolarment uħud mill-estrazzjoni li aħna stabbiliti fil-fajl functions.php biex jagħmlu l-ħajja tiegħek daqsxejn aktar faċli iżda sabiex inti finalment jifhmu b'tali mod li meta l-roti ta 'taħriġ jiġu off fi ftit ġimgħat inti xorta tista' jgħix fid-dinja reali u jagħmlu dan il-għalf mingħajr ebda qafas CS50 taħt inti. Dan _SESSION $, għal dawk minnkom li huma familjari jew li diġà qabad il-video fuq il-Ġimgħa, dak ma SESSJONI ejjew nagħmlu f'applikazzjoni tal-web PHP bbażati? Din hija varjabbli superglobal, li jfisser li huwa simili fl-ispirtu li IKOLLOK u POST u fi ftit oħrajn, imma dak li hu dan ħaġa utli għall? X'inhu SESSJONI jintuża? Yeah. [Student] Logging pulzieri Jiddispjacini? [Student] Logging pulzieri Logging pulzieri Tabilħaqq. Fl pset 7 aħna qed jużaw dan superglobal SESSJONI biex jiffaċilitaw qtugħ pulzieri U x'hemm sbieħ dwar dan superglobal hija li huwa firxa assoċjattiva. Firxa assoċjattiv, recall, huwa biss firxa iżda li l-indiċi m'għadx għandek tkun in-numri bħall 012. Huma jistgħu jkunu numri jew jistgħu jkunu anki kordi. U hekk jekk inti stajt dived fis pset 7 għadhom, inti tista 'recall li aħna qed jaħżnu ID ewlieni imsejjaħ ġewwa ta 'din il-firxa assoċjattiva li l-valur hija xi ħaġa simili 123 - tkun xi tkun il bħalissa illoggjat ID utent huwa. Il-motivazzjoni għal dan hija li anki wara l-utent ikun żar localhost jew website tiegħi aktar ġenerali u allura dawn ħadthom illoggjat, anke jekk ma jkunx ikklikkja rabta jew jirritornaw għall-website tiegħi għal 5 minuti jew saħansitra siegħa jew anki ġurnata iżda dawn iħallu tieqa browser tagħhom miftuħa, permezz ta 'dan superglobal nista tiftakar li huma logged pulzieri Fi kliem ieħor, hija tippermetti lili biex jaħżnu xi ftit twil xejn tul nixtieq madwar utent. U inti tista 'taħseb li verament bħala l-Inkarnazzjoni ta' shopping cart. Postijiet bħal Amazon ovvjament let inti tpoġġi l-affarijiet fis-shopping cart, iżda HTTP, il-protokoll li s-setgħat tal-Web, huwa mingħajr stat fis-sens li meta inti żżur il-websajt, għall-parti l-aktar inti ma għandekx xi konnessjoni tan-netwerk kostanti bejn browser tiegħek u s-server. Hekk kif inti ħadthom jitniżżel l-HTML u l-JPEGs u l GIFs u dak kollu li, il-konnessjoni tmur bogħod u inti biss għandek kopja tal-HTML u whatnot mis-server. Iżda jekk il-server trid tiftakar xi ħaġa dwarek, il-piż huwa fuq il-server li attwalment jirreġistra dik l-informazzjoni. U għalhekk inti l-programmer li jkollhom kontroll fuq is-server tista 'tpoġġi xejn aktar li trid ġewwa ta' din il-firxa assoċjattiva superglobal u se jkun hemm il-ħin li jmiss l-utent jiġi lura, jekk huwa minuta jew saħansitra ijiem wara, sakemm ma jagħlqu tieqa browser tagħhom, f'liema SESSJONI punt tisparixxi. Allura huwa ħażna effimeru, huwa mhux persistenti, u huwa maħsub li jmorru lil hinn hekk kif l-utent tagħlaq browser tagħhom - mhux biss li tab, ħafna drabi l-browser kollu, b'hekk effettivament qtugħ l-utent barra. Allura kif dan huwa ħaġa fil-fatt implimentati? Ejja tagħti ħarsa lejn eżempju sempliċi ħarisna lejn il-Ġimgħa. Għal dawk familjari, kien sempliċi kemm dan. Din hija paġna web li l-uniku skop fil-ħajja huwa li tell me kif ħafna drabi I żaru din il-paġna. Dan huwa l-ewwel darba hawnhekk nhar it-Tnejn li I miżjura dan, hekk jgħid 0 darbiet. Imma jekk jien tibda tagħbija mill-ġdid din il-paġna, jgħid 1 ħin, 2, 3, 4, 5, u dan eventwalment se biss iżommu fuq jingħaddu up, up, up, up, up għal kull darba I attwalment ikklikkja Reload fuqha. Allura kif dan huwa xogħol? Let me go ġewwa tal dan il-fajl imsejħa counter.php. Il-parti ta 'fuq ta' dan huwa kummenti kollha blu, imma l-parti interessanti huwa hawnhekk. Fuq il-linja 13 nitolbu dan session_start funzjoni, u li hija litteralment kull ma għandek bżonn tagħmel jekk inti tixtieq li jkollok aċċess għal dan superglobal speċjali msejħa $ _SESSION. Li jagħmilha possibbli, u aħna ser tara fil-mument kif dan kollu possibbli. Fil-linja 16 avviż dak li qed nagħmel. Jekk il-kjavi, imsejħa kontro - fi kliem ieħor, il-valur indiċi - "counter" jeżisti ġewwa ta 'din il-firxa imsejħa SESSJONI, allura dak am I tagħmel miegħu fil-linja hawn taħt? X'inhu linja 18 tagħmel? [Rispons istudent inaudible] X'hemm li? [Student] Kif taħżen il-valur. Tajba. Huwa ħażna l-valur li fil SESSJONI dritt issa fil-varjabbli ġdid temporanju lokali, $ Counter kollha zghar. Avviż li PHP huwa diġà jkunu ftit għażżien hawn. Avviż aħna ma jkollhomx ebda referenza ta 'int jew float jew spag jew xi ħaġa bħal dik għaliex PHP huwa dgħajjef ittajpjat, fejn inti ma għandekx biex tispeċifika t-tip ta 'varjabbli, u f'dan il-każ hawnhekk stajt lanqas iddikjarat encore. Jien tiddikjarah ġewwa ta 'dawn ċineg kaboċċi u b'differenza C, dan huwa attwalment okay. Ma jimpurtax kemm profondament nested dikjarazzjoni tal-varjabbli huwa fil-PHP - ġewwa ta 'Brace kaboċċi, ġewwa ta' Brace kaboċċi u simili - se f'dak il-mument fil-ħin jeżistu għall-bqija tal-programm, għall-aħjar jew għall-agħar. Allura immedjatament isir globali hekk kif inti definizzjoni għalih kif aħna qed tagħmel hawn. Inkella, jekk ma nsibx li hemm xi ħaġa fil-superglobal SESSJONI, Jien apparentement initializing din il-kontro-varjabbli għal 0, b'hekk biss jekk wieħed jassumi l-utent qatt ma kien hawn qabel. U allura dan il-kors huwa inkrementazzjoni il-bank kif? Jien aġġornament tal-valur li l-ġewwa ta 'din il-firxa assoċjattiva billi dan ikun iffissat ugwali għal kwalunkwe kontro bħalissa huwa + 1. Jekk I iscroll hawn biex l-HTML tal-paġna, huwa attwalment pjuttost sempliċi. All I jkollhom fil-korp ta 'din il-paġna hija, "Inti żaru dan is-sit ħinijiet hekk u hekk." U dan huwa tibni PHP. Jekk inti tagħmel