Doug LLOYD: Allura tagħna video fuq sintassi PHP, tkellimna ħafna dwar kif PHP jistgħu jintużaw fil-linja tal-kmand biex imexxu programmi b'mod li aħna qed pretty familjari mal mit C. Imma kif semmejt ukoll f'dak video, PHP inizjalment kien żviluppat biex implimentazzjoni tal-ipprogrammar tal-web, websajts. U hekk f'dan il-video aħna qed ser jitkellmu dwar kif aħna użu PHP fil-kuntest iżvilupp tal-web. Aħna nafu, diġà, minn vidjo tagħna fuq HTML, li l-websajts huma mibnija out ta 'sett ta' HTML tags li semantikament jiddefinixxu l-istruttura ta 'paġna web. Iżda websajts li huma mibnija bl pur HTML jbatu minn ħafna, limitazzjoni serja ħafna. U biex juru din il-limitazzjoni, ejja jikkunsidraw dan li ġej. Allura issa I trid tibni web page li, kull meta l-utent żjarat IT, hija tagħti me-kurrent time fil Cambridge, Mass., wiri lill-aħħar minuta. Jekk I kienet qed tagħmel dan id-dritt issa, I jista 'jgħid xi ħaġa bħal din. Ħin kurrenti fl Cambridge-- so I jkollhom Tags HTML, tags ras, tags titolu, korp tags---kurrent time fil Cambridge huwa 14:08, stampar ta 'żmien militari. X'jiġri jekk huwa issa 02:09, 14:09? Well s'issa, ma HTML, għandi li jmorru fi u bidla li 14:09. U mbagħad minuta wara, Għandi li jerġa 'jinbidel. U mbagħad minuta wara, Għandi li jerġa 'jinbidel. U kif tista 'timmaġina, dan huwa probabbilment l-agħar impjieg qatt. Int l-webmaster għal paġna web, u kull minuta, 24 siegħa kuljum, għandek bżonn biex taġġorna l-ħin kurrenti mill manwalment ftuħ time.html u li qed tinbidel biss li snippet ta 'kodiċi jiġifieri l- ħin kurrenti f'sigħat u minuti. Li probabbilment mhux ħafna użu tajjeb tar-riżorsi tagħna, kemm umani kif ukoll komputazzjoni. Websajts li huma kollha HTML huma kompletament statika. L-uniku mod inti tista 'taġġorna kontenut, kif aħna stajt biss tidher, huwa li manwalment tiftaħ dawk sors files, jeditjaw minnhom, u ħlief. U allura meta l-utent refreshes-paġna, jew iżur il-paġna għall-ewwel time, dawn ser jiksbu l-kontenut aħħar. Iżda biss għaliex aħna ħadthom editjat dan manwalment. Jekk nibdew xi taħlita PHP fil hemm, kodiċi tagħna tista 'tieħu ħafna aktar flessibbli. U nistgħu jkollhom mod għall-paġni tagħna li tkun dinamika, jew jaġġornaw lilhom infushom, mingħajr ma jeħtieġu foqra tagħna webmaster fl-eżempju preċedenti li jkun manwalment aġġornament affarijiet. Huma jistgħu jagħmlu dan awtomatikament. Aħna ma jkollhom biex tintervjeni. Nistgħu tikseb xi irqad. Liema hija probabbilment ħaġa tajba jekk int tagħmel ħafna ta 'programmazzjoni web. Għalhekk fl CS50 IDE, we run web server Apache imsejħa. Huwa użat b'mod komuni ħafna, sistema web server open source. Din is-sistema għandha l- kapaċità li tinterpreta PHP, li se tkun utli jekk inti tixtieq li tagħmel xi programmazzjoni PHP. U fl IDE CS50, għandna kmand biex jagħmlu dan faċli ħafna li tagħmel, apache50 tibda. U mbagħad li mmejla triq, mmejla għal, mmejla dir, li jinsab biss mod verament komuni ta ' jindika dak li inti stajt speċifikat hawn hija triq għal partikolari direttorju li inti tixtieq li tkun l-għerq sit, jew il-paġna għerq, jew il-folder li minnha web server tiegħek se tibda teżamina fajls u jservu minnhom sa klijenti li jitolbuhom. Mela ejja pop quddiem għall CS50 IDE, just biex nuruk, tassew mgħaġġla, kif taħdem din. Allura hawn fil IDE CS50, jien fil- direttorju imsejħa Week Zero Disa. U jien two-- I jkollhom eżegwit LS kmand biss hawn fuq biex turi li inti li għandi żewġ direttorji fil hawn, PHP, li huwa s-sett ta 'fajls li I użati fid l-video sintassi PHP, u mbagħad PHP web, li huwa s-sett ta 'fajls li I tixtieq tuża f'dan il-video. U nixtieq li jibdew eżempju web server mal-kontenut tal-folder PHP web kif il-fajls huma li qiegħed ikun servut up. Allura dak am I se jagħmlu? I ser tip apache50 ispazju tibda, PHP ispazju, web sing. Dik hija l-passaġġ għall-direttorju minn fejn I bħalissa am. Imbagħad I hit Ikteb. Li għaddej biex tagħmel ftit ta 'għalf hawn. U allura li għaddej biex ngħid, Apache beda b'suċċess. Your sit hija issa disponibbli u at-- allura hemm il-URL għas-sit. Allura dak am I se jagħmlu? Jien ser malajr Kopja ta 'din. U jien ser tiftaħ up-- u I ser zoom out ftit here-- Jien ser jiftħu ġdid tab fil Chrome. U jien ser iżuru dan URL. Jien ser hit Ikteb. Li għaddej biex tagħbija. U jien ser zoom out mill-ġdid. U nistgħu naraw hawn huwa l- kontenut ta 'direttorju tiegħi web PHP. Allura issa dak li qed jiġri bażikament hawnhekk hija, ngħidu aħna tiegħi ta 'CS50 IDE huwa li jservu up dawn il-fajls li xi ħadd li titlobhom. U matul il-kors ta ' dan il-video, aħna ser issolvi ta tagħti ħarsa lejn mazz ta 'dawn fajls differenti fil-kuntest. Li tittestja li Apache tiegħek server qed taħdem, li ġeneralment se li jkun il-każ fil CS50 IDE, imma jekk inti tagħmel dan b'mod aktar ġenerali, u tibda bini web tiegħek stess servers, hemm verament tip komuni ta 'analog għal, "dinja hello," li normalment użat għall-web PHP iżvilupp. Li huwa li jkun hemm fajl li jikkonsisti biss dan code-- delimetru PHP stabbiliti bl PHP info, parentesi, virgola bejniethom. Li bażikament huwa speċjali Funzjoni PHP li jgħidlek liema verżjoni ta 'PHP inti taħdem. Għalhekk fl CS50 IDE, għandi dan il-fajl disponibbli biss biex turi li inti dak li dan look like. Hekk jien tħares lejn indiċi tiegħi minn PHP eżempju tiegħi. Apache eżempju tiegħi qed taħdem il-kontenut tal PHP Web. U għandi fajl hawn imsejjaħ info.php. Jien ser ikklikkja, zoom out. Dan huwa dak li int ser biex tara, pretty ħafna. Dan huwa biss javżak me li server Apache tiegħi qed taħdem. U dan huwa, apparentement, il- verżjoni ta 'PHP li niġri. Dan huwa Analog tiegħi għal "bonjour dinja." So I know affarijiet huma operattivi. Allura aħna qed imorru tajjeb. Nistgħu jipproċedu minn hawn. Mela ejja tirrevedi dik Eżempju ħin konna jitkellem dwar ma webmaster fqira tagħna li kellhom biex jaġġornaw il-paġna kostantement. Dan jista 'jkun tiffissa għal kemm Nixtieq jimplimentaw affarijiet sabiex il-webmaster ma għandhom iżommu aġġornament tal-ħin. Biss Ikun tip ta ' jiġri awtomatikament. Il stabbiliti hawn taħt, il-HTML, huwa pretty simili, ħlief għal eċċezzjoni waħda. Imma hawn stajt ltqajna xi PHP fil-quċċata. Għandi, apparentement, sejjaħ dan date_default_timezone_set funzjoni. U aħna ma nitkellmux dwar l dawn il-funzjonijiet fl CS50, minħabba PHP probabbilment għexieren ta 'eluf. Li jista 'jkun daqsxejn ta' eżaġerazzjoni, iżda jista 'ma jkunx. Huwa ltqajna ħafna ta 'funzjonijiet mibnija. U għalhekk dan huwa funzjoni apparentement tistabbilixxi żona ta 'ħin tiegħi bħala Istati Uniti / tal-Lvant, li huwa l-żona ta 'ħin li jien bħalissa biex jagħmel dan video. Imbagħad I tagħmel sejħa biex funzjoni imsejħa, id-data. U, apparentement, jien ħażna tal- TIEGĦU ta 'xi ħaġa imsejħa, ħin. Allura x'inhu għaddej hawn? Ukoll, bażikament x'hemm jiġri huwa, jien jagħmlu sejħa għal xi server li se tell me dak il-ħin attwalment. U jien dan jinbidel ma 'format ta 'sigħat, minuti, sekondi. U r-raġuni huwa kapital H hija din huwa ser jagħti lili 24 darba siegħa, mhux 12 żmien siegħa, li jkun h zghar. U jien biss ħażna li fil-varjabbli imsejħa, ħin. Allura li t-tieni linja ta 'PHP hemm, is-sejħa għall-funzjoni, data, huwa biss jkollna xi spag, li hija ser jagħti me-data, u l- ħin, u mazz ta 'informazzjoni oħra. U l-ewwel argument hemm, li TIEGĦU, huwa biss estrazzjoni tal-parti importanti li I kura dwar għal dan eżempju, li hija l-siegħa, minuta, u t-tieni. Allura dak l-kollu li għaddej. So I tinżamm din fi $ żmien varjabbli. U mbagħad stabbiliti fuq il- ħafna qiegħ hemmhekk, I jkollu dik qosor għal stampar ta 'l-ħin kurrenti. Hekk jien biss se jistampaw barra dak il-ħin attwali hija. Mela ejja tagħti ħarsa lejn dan IDE CS50 u tara kif aħna qed issa iffrankar li webmaster ħafna problemi. Kull dritt, so here I am darb'oħra lura fil-direttorju għerq tal istanza Apache tiegħi. U għandi fajl hawn imsejjaħ time.php. Jien biss se ikklikkja fuq dik. U jien ser iscroll up, għaliex aħna qed żżomjati fil pretty ħafna. Il-ħin attwali hija 14:20:34. Hekk jien tagħmel dan sigħat, minuti, u sekondi. U nista 'jġedded il- paġna u jiksbu żmien ġdid. --41. Jien ser jġedded il-paġna u jiksbu żmien ġdid, 44, 46, 47. So, I am ċar ma jinbidel xejn myself. Jien hawn iġjeniċi il-paġna. So I ma jistgħux jiġu lura hemm editjar. UI wegħda, I ma xi Confederates li qed editjar-fajl f'isem tiegħi fuq il-ġenb. Jien biss jużaw dik il-funzjoni PHP, żmien, biex jiġġeneraw il-ħin għalija awtomatikament. Sabiex anke jekk jien rieqed, u web server tiegħi qed taħdem, l-utent li żjarat dik il-paġna għadu se tikseb eżattament l-ħin kurrenti. Allura dak pjuttost tajba. I ħadna sit tiegħi aktar dinamiku bil-kodiċi PHP mhux wisq. Kien biss żewġ linji ta 'kodiċi u mbagħad xi ftit ta 'dikjarazzjoni print. U diġà għandi sit ħafna aktar dinamiku minn dak l-ewwel eżempju rajna fil-bidu tal-video. Allura, jiġbor lura mingħand l-video fuq sintassi PHP li meta l-interpretu PHP runs programm tagħna, tinjora kollox li mhux ġewwa tal delimiters PHP, bżieq it out. F'dak eżempju, dak il-ħaġa li kien bżieq out kien HTML. U dan ifisser nista 'issa intersperse HTML u PHP flimkien. Minħabba li l-interpretu se biss jinjora l-HTML u litteralment output dan. Li hija tajba, id-dritt? Minħabba preżumibbilment, fl-aħħar tal-ġurnata, Nixtieq sit tiegħi għal ikunu magħmula minn HTML. Sabiex kwalunkwe web browser tista jinterpretaw dan, jew ma tifhimx il HTML fuq il-paġna u jagħmilha bħala xi ħaġa li aħna jistgħu attwalment jifhmu bħala bnedmin. U nista 'nuża biss PHP għall-partijiet ta 'sit tiegħi l jeħtieġu dinamiżmu, li jeħtieġu me li jkollhom affarijiet li taġġorna kontinwament. L-informazzjoni statika tista 'tissospendi l-istess. OK, hekk li l-multa. Iżda għaliex kieku nagħmel dan? Għaliex kieku I ħallat HTML u PHP? I jistgħu biss jistampa l- HTML, tuża l-funzjoni print PHP. Why am I ma tagħmel dan? Aħseb dwar dan għat-tieni. Għaliex, meta I tista 'biss print out-- I jista 'jkollhom linji ta' PHP li biss jgħidu, tag HTML print, print head. Why am I ma tagħmel dan? Why am I taħlit tal-PHP u HTML? Ukoll, jekk inti taħseb dwar dan għat-tieni. PHP, l-interpretu għandu li tinterpreta dak li jara. U hekk li għaddej biex ikollhom biex tesegwixxi linja tal-kodiċi. Jistampa HTML. Jistampa tag ras miftuħ. Jistampa titolu tag miftuħ. Li għaddej biex ikollhom jesegwixxu u jinterpretaw li kull pass wieħed tar-rotta. Għaliex ma just let l- interpretu biss tleqqija fuq affarijiet ma tifhimx u tagħmel dan awtomatikament? Huwa ser tiffranka me ħafna ħin biex tħallat HTML tiegħi u PHP tiegħi flimkien. U hekk hu għalhekk aħna ma sempliċiment għandek delimetru PHP miftuħa u mbagħad biss jistampa l-kollu kontenut tal-paġna tagħna bħala PHP ġgant wieħed sejħa għall-funzjoni, Stampa, u mbagħad delimetru PHP qrib u aħna qed isir. Allura huwa għalhekk li għandna ħallat flimkien. S'issa, ma rajniex wisq ta ' differenza minn sintassi PHP ġenerali. Huwa kien pjuttost sempliċi. Imxejna diġà raw il- trade mark in kwistjoni, ugwali. Rajna ftit sejħiet funzjoni ġodda, iżda xejn verament fancy għaddejjin. Ejja forsi tagħmel affarijiet ftit fancier. X'jiġri jekk irridu li jgħaddu informazzjoni bejn il-files PHP differenti, sabiex forsi l-utent jista ' jissottomettu informazzjoni lili. U allura I jistgħu jagħmlu xi ħaġa magħha fuq paġna oħra. Allura PHP għandha l-appoġġ għall xi ħaġa imsejħa Super Globali Varjabbli, li ħsejjes pjuttost tal-biża. Huma qed verament ftit arrays assoċjattiva ġgant li jgħinu jimplimentaw din funzjonalità tal tgħaddi informazzjoni bejn il-files PHP li huma eżistenti fuq is-server web tagħna. L-ewwel minn dawn super globals tissejjaħ $ _GET. U huwa probabbilment l- sempliċi biex jifhmu. X'jiġri ma '$ _GET? Well, bażikament, l-utent huwa ser tip ta 'informazzjoni addizzjonali fl-aħħar tal URLs tagħna. U tkun xi tkun dawn it-tip, jekk wieħed jassumi huwa formattjati b'mod partikolari imsejħa string query, li huwa biss sett ta 'pari b'valur ewlenin separati billi ampersands. Dawk pari b'valur ewlenin se jkunu maħżuna $ _GET firxa assoċjattiva. U minn video tagħna fuq Sintassi PHP, nafu kif taħdem ma ' arrays assoċjattiva diġà. Allura hawnhekk huwa eżempju ta ' xi PHP, fejn forsi jien estrazzjoni kollha tal-pari valur ewlenin li l-utent fornut fil-URL. So I jkollhom delimiter tiegħi PHP Open. I jkollhom loop foreach. Jien mtennija madwar l-Super Array Globali sejħet $ _GET. U nixtieq li tkun tista 'tirreferi kemm iċ-ċavetta u l-valur. U jien biss tistamphom out, kull wieħed fuq apparentement paragrafu tag tagħha stess hawn. Jien istampar xi HTML u interpolanti l-valuri tal ċavetta u l-valur fis dik id-dikjarazzjoni. Mela ejja tagħti ħarsa lejn kif dan se attwalment jaħdmu fuq IDE tagħna. U forsi dan se jgħin juru ftit ta 'dak IKOLLOK huwa attwalment tagħmel. Hekk jien lura hawn fil għerq web tiegħi. U jien ser zoom fi ftit biex turi li inti li għandi fajl imsejħa, get1.php. Mela ejja ikklikkja fuq get1.php. U jien ma tara ebda kontenut. Dak stramb, id-dritt? Well, mhux verament fil-fatt. Minħabba I ma pprovdiex xejn fil-URL. Jien ser get1.php, imma I ma pprovdietx ebda pari b'valur ewlenin bħala parti mill-sekwenza mistoqsija tiegħi. Mela ejja żid string query u ara dak dan il-fajl jista 'jagħmel. Biex tibda string query inti tip biss kwistjoni mark. Imbagħad forsi I ser ngħid isem = Doug &-sena = 2015. U mbagħad I se hit Ikteb. Issa avviż dak li qed jiġri. Jien xorta fil get1.php. Imma issa stajt fornuti pari b'valur ewlenin, u jien tistamphom fuq tagħhom stess isem paragraph--, sena Doug--, 2015. Li eżattament l-kodiċi aħna biss raw fuq il-pjastra mument ilu. U jekk irrid li forsi żid ieħor par ċwievet valur, & class = CS50. Issa għandi valur ewlieni ieħor par li l-stampata meta I tirrevedi il-URL ġdid. Issa forsi dan mhux formattjati terriblement ukoll. So I jkollhom ieħor verżjoni tal get.php. Huwa get2.php. Id-differenza f'din wieħed huwa għandi fajl CSS, u formati affarijiet ftit aktar nicely għalija. Huwa forsi mhux l-aktar CSS beautiful fid-dinja. Iżda huwa biss mod ieħor ta 'kif isir dan. So I xorta jistgħu jiksbu aċċess għall-varjabbli tiegħi jużaw $ _GET. U f'dan il-każ, jien biss tip ta ' jagħmlu l-CSS ftit aktar fancy. U jekk aħna pop quddiem għall IDE tiegħi għat-tieni, I ser nuruk fil-web PHP tiegħi direttorju hawn, get2.php. Aħna ser tiftaħ it up, xi HTML hawn. Apparentement I am jgħaqqdu f'dak Fajl CSS I kien jitkellem dwar. I tiftaħ tag tabella. U allura hawnhekk loop foreach tiegħi. Hawnhekk hija li, dak I wera fuq il-pjastra qabel. L-unika differenza hija I jkollhom dan ewlenin u CSS valur grafika li jien li tapplika għalih. Imma li kollox jien tagħmel, hija jien mtennija madwar $ _GET li nikseb kollha tal-pari b'valur ewlenin. U jien tistamphom kif il-mejda. U, apparentement, jien ifformattjar l-imfietaħ b'xi mod, bl-