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-