DOUG LLOYD: Kwa hiyo katika yetu video juu ya PHP syntax, sisi aliongea mengi kuhusu jinsi PHP inaweza kutumika katika mstari amri kuendesha programu kwa namna ambayo sisi ni pretty ukoo na kutoka C. Lakini kama mimi pia alieleza kwa kuwa video, PHP awali ya maendeleo kwa kutekeleza programu ya mtandao, tovuti. Na hivyo katika video hii tuko kwenda kuzungumza kuhusu jinsi sisi kutumia PHP katika mazingira ya maendeleo ya mtandao. Tunajua, tayari, kutoka video wetu juu HTML, kwamba tovuti ni kujengwa nje ya seti ya tags kwamba semantically kufafanua muundo wa ukurasa wa mtandao. Lakini tovuti ambazo ni kujengwa kwa HTML safi wanakabiliwa na sana, kiwango cha juu mbaya sana. Na kuonyesha kiwango cha juu hii, hebu fikiria yafuatayo. Hivyo sasa nataka kujenga mtandao kwamba, wakati wowote ziara user hilo, inanipa sasa muda Cambridge, Misa., kuonyesha ni kwa dakika karibuni. Kama mimi alikuwa kufanya haki hii sasa, Mimi anaweza kusema kitu kama hiki. Wakati wa sasa katika Cambridge-- hivyo nina Tags, vitambulisho kichwa, vitambulisho cheo, mwili tags-- sasa wakati katika Cambridge ni 14:08, uchapishaji nje wakati kijeshi. Nini kinatokea kama ni sasa 02:09, 14:09? Vizuri hadi sasa, pamoja na HTML, nina kwenda katika na mabadiliko hayo kwa 14:09. Na kisha dakika moja baadaye, Nina mabadiliko hayo tena. Na kisha dakika moja baadaye, Nina mabadiliko hayo tena. Na kama unaweza kufikiria, hiyo ni pengine kazi mbaya milele. Wewe ni webmaster kwa ukurasa wa mtandao, na kila dakika, masaa 24 kwa siku, unahitaji update wakati wa sasa na manually kufungua time.html na kubadilisha tu kwamba snippet ya maadili ya kusema wakati wa sasa katika saa na dakika. Kwamba pengine si sana matumizi mazuri ya rasilimali zetu, kibinadamu na kuhesabu. Nje kwamba wote ni HTML ni tuli kabisa. Njia pekee unaweza update maudhui, kama tumekuwa tu kuonekana, ni manually kufungua wale chanzo mafaili, hariri yao, na kuwaokoa. Na kisha wakati mtumiaji refreshes ukurasa, au ziara ukurasa kwa kwanza muda, wao itabidi kupata maudhui karibuni. Lakini tu kwa sababu tumekuwa manually mwisho hilo. Kama sisi kuanza kuchanganya baadhi PHP huko, kificho yetu inaweza kupata mengi zaidi rahisi. Na tunaweza kuwa na njia kwa kurasa zetu kuwa nguvu, au update wenyewe, bila kuhitaji maskini wetu webmaster katika mfano uliopita kuwa manually uppdatering mambo. Wanaweza kufanya hivyo moja kwa moja. Hatuna kuingilia kati. Tunaweza kupata usingizi. Ambayo pengine ni jambo zuri kama unafanya mengi ya programu ya mtandao. Hivyo katika CS50 IDE, sisi kukimbia mtandao wa kompyuta inayoitwa Apache. Ni hutumika sana, wazi chanzo mfumo mtandao wa kompyuta. Mfumo huu ina uwezo wa kutafsiri PHP, ambayo ni kwenda kuwa na manufaa kama unataka kufanya programu yoyote PHP. Na katika CS50 IDE, tuna amri kufanya hii rahisi sana kufanya, apache50 kuanza. Na kisha kwamba kufyeka njia, kufyeka kwa, kufyeka alisema, hiyo ni njia ya kawaida ya kweli ikionyesha nini umefanya maalum hapa ni njia ya pekee directory kwamba wanataka kuwa mizizi tovuti, au ukurasa mizizi, au folder ambayo mtandao wa kompyuta yako itaanza kuchunguza mafaili na kumtumikia yao juu kwa wateja ambao kuwaomba. Basi hebu pop juu ya CS50 IDE, tu kuonyesha, kweli haraka, jinsi hii matendo. Hivyo hapa katika CS50 IDE, mimi niko katika directory aitwaye Wiki sifuri tisa. Na mimi kuwa two-- nina kunyongwa LS amri tu juu ya kuonyesha kwamba nina Directories mbili katika hapa, PHP, ambayo ni seti ya files kwamba mimi kutumika katika PHP syntax video, na kisha PHP- mtandao, ambayo ni seti ya files kwamba mimi wangependa kutumia katika video hii. Na napenda kuanza mfano mtandao wa kompyuta na yaliyomo ya folder PHP- mtandao kama mafaili ni kuwa aliwahi up. Hivyo je, Mimi naenda kufanya nini? Mimi kwenda aina ya nafasi apache50 kuanza, nafasi PHP, dash mtandao. Hiyo ni njia ya saraka kutoka ambapo mimi sasa niko. Kisha mimi hit Enter. Ni kwenda kufanya kidogo ya mambo hapa. Na kisha kwenda kusema, Apache kuanza kwa mafanikio. Tovuti yako ni sasa inapatikana at-- na kisha kuna URL kwa tovuti. Hivyo je, Mimi naenda kufanya nini? Mimi nina kwenda kwa haraka nakala hii. Na mimi nina kwenda kufungua up-- na Mimi itabidi zoom nje kidogo here-- Mimi nina kwenda kufungua tabo mpya katika Chrome. Na mimi nina kwenda kutembelea URL hiyo. Mimi nina kwenda hit Enter. Ni kwenda kupakia. Na mimi itabidi zoom nje tena. Na tunaweza kuona hapa ni yaliyomo ya PHP yangu mtandao directory. Hivyo sasa ni nini kinatokea kimsingi hapa ni, mfano wangu wa CS50 IDE ni kuwahudumia up files haya kwa mtu yeyote ambaye maombi yao. Na katika kipindi cha video hii, tutaweza kutatua ya tuangalie kundi la hizi mafaili mbalimbali katika mazingira. Mtihani kwamba Apache yako server ni kazi, ambayo kwa ujumla kwenda kuwa kesi katika CS50 IDE, lakini kama wewe kufanya hivyo kwa ujumla zaidi, na kuanza ujenzi wa mtandao yako mwenyewe watumishi, kuna kweli aina ya kawaida ya Analog na, "hello dunia," yaani kwa kawaida kutumika kwa ajili ya maendeleo PHP mtandao. Ambayo ni kuwa na faili yenye tu code-- hii PHP delimiter kuweka na PHP maelezo, mabano, semicolon katika kati ya. Ambayo kimsingi ni maalumu PHP kazi kwamba anasema nini toleo la PHP wewe ni mbio. Hivyo katika CS50 IDE, nina kwamba faili inapatikana tu kuonyesha nini hii bila kuangalia kama. Hivyo mimi nina kuangalia ripoti yangu na PHP mfano wangu. Apache mfano wangu ni mbio yaliyomo ya PHP-Mtandao. Na nina file hapa aitwaye info.php. Mimi nina kwenda click yake, kuvuta nje. Hii ni nini wewe kwenda kuona, pretty much. Hii ni kuwaambia tu mimi kwamba Apache server yangu ni kazi. Na hii ni, inaonekana, toleo la PHP kwamba mimi nina mbio. Hii ni Analog yangu kwa "hello dunia." Hivyo najua mambo ni kazi. Hivyo sisi ni vizuri kwenda. Tunaweza kuendelea kutoka hapa. Basi hebu kupitia upya kwamba wakati mfano tulikuwa kuzungumza juu kwa webmaster yetu maskini ambaye alikuwa na update ukurasa mara kwa mara. Hii inaweza kuwa kurekebisha kwa ajili ya jinsi Napenda kutekeleza mambo ili webmaster hakuwa una kuweka uppdatering wakati. Ingekuwa tu aina ya kutokea moja kwa moja. Chini chini, HTML, ni pretty sawa, isipokuwa moja. Lakini hapa mimi nimepata baadhi PHP juu. I have, inaonekana, aitwaye huu kazi date_default_timezone_set. Na hatuwezi kuzungumza juu ya mambo yote kazi hizi katika CS50, kwa sababu PHP ina pengine mamia ya maelfu. Hiyo inaweza kuwa ni kidogo ya exaggeration, lakini wanaweza kuwa. Ni got mengi ya kazi kujengwa katika. Na hivyo hii ni kazi inaonekana seti muda wangu eneo kama Marekani / Mashariki, ambayo ni wakati eneo kwamba mimi nina sasa katika kufanya video hii. Kisha mimi kufanya wito kwa kazi kuitwa, tarehe. Na, inaonekana, mimi nina kuhifadhi YAKE wa kitu kinachoitwa, wakati. Hivyo nini kinaendelea hapa? Naam, kimsingi nini kinachotokea ni, mimi nina kufanya wito kwa baadhi server kwamba ni kwenda kuniambia nini wakati kwa sasa ni. Na mimi nina kuwabadili na muundo ya masaa, dakika, sekunde. Na sababu ni mji mkuu H ni hii ni kwenda kunipa saa 24 wakati, si 12 saa wakati, ambayo itakuwa ni ndogo h. Na mimi nina kuhifadhi tu kwamba katika variable kuitwa, wakati. Hivyo kwamba mstari wa pili wa PHP pale, mwito wa kazi, tarehe, ni kupata tu baadhi kamba, ambayo ni anaenda kunipa tarehe, na muda, na kundi la habari nyingine. Na hoja ya kwanza huko, kwamba YAKE, ni kuchimba tu sehemu muhimu kwamba mimi huduma ya juu kwa mfano huu, ambayo ni saa, dakika, na ya pili. Hivyo hiyo ni yote kinaendelea. Hivyo mimi kuhifadhi kwamba katika kutofautiana $ huo. Na kisha chini chini sana huko, mimi na kwamba shorthand kwa uchapishaji nje wakati wa sasa. Hivyo mimi nina kwenda tu na magazeti nini wakati wa sasa ni. Basi hebu tuangalie hii katika CS50 IDE na kuona ni jinsi sisi ni sasa kuokoa kwamba webmaster matatizo mengi. Haki wote, hivyo hapa mimi tena nyuma katika orodha mizizi ya Apache mfano wangu. Na nina file hapa aitwaye time.php. Mimi tu kwenda click juu ya hilo. Na mimi itabidi kitabu juu, kwa sababu sisi ni zoomed katika pretty mbali. Wakati wa sasa ni 14:20:34. Hivyo mimi nina kufanya hivyo masaa, dakika, na sekunde. Na siwezi kupata mahitaji ukurasa na kupata muda mpya. --41. Mimi nina kwenda kupata mahitaji ukurasa na kupata muda mpya, 44, 46, 47. Kwa hiyo, mimi niko wazi si kubadilisha chochote mimi mwenyewe. Mimi hapa ukurasa kuogea. Hivyo siwezi kuwa nyuma huko kuihariri. Na mimi ahadi yenu, sijui na makundi yoyote ambao ni editing faili kwa niaba yangu upande. Mimi nina kutumia tu kwamba PHP kazi, muda, kuzalisha wakati kwa ajili yangu moja kwa moja. Ili hata kama mimi nina usingizi, na mtandao wa kompyuta yangu ni mbio, user ambaye ziara kwamba ukurasa ni bado kwenda kupata hasa wakati wa sasa. Hivyo hiyo ni nzuri sana. Nimekuwa alifanya tovuti yangu nguvu zaidi na si sana kanuni PHP. Ni mara tu mistari miwili ya kificho na kisha kidogo ya kauli magazeti. Na tayari nina Tovuti mengi zaidi nguvu kuliko mfano kwamba kwanza tuliona mwanzoni mwa video. Hivyo, kukumbuka kutoka video kwenye PHP syntax kwamba wakati mkalimani PHP anaendesha mpango wetu, huacha kila kitu si kwamba ndani ya PHP delimiters, kutema nje. Katika mfano huo, kile kitu kuwa ilikuwa kutema mate nje mara HTML. Na hii ina maana siwezi sasa intersperse HTML na PHP pamoja. Kwa sababu mkalimani mapenzi tu kupuuza HTML na halisi pato hilo. Mambo mema, sawa? Kwa sababu labda, mwisho wa siku, Napenda tovuti yangu kwa kuwa yalijengwa ya HTML. Hivyo kwamba browser yoyote ya mtandao wanaweza kutafsiri yake, au kuelewa HTML kwenye ukurasa na atatoa ni kama kitu ambacho sisi unaweza kweli kuelewa kama binadamu. Na naweza tu kutumia PHP kwa sehemu ya tovuti yangu the zinahitaji mabadiliko, ambazo zinahitaji mimi kuwa na mambo ambayo update mara kwa mara. Maelezo tuli wanaweza kukaa sawa. OK, hivyo hiyo ni nzuri. Lakini kwa nini mimi kufanya hili? Kwa nini mimi kuchanganya HTML na PHP? Mimi nilikuwa tu magazeti nje yote HTML, PHP magazeti kazi kwa kutumia. Kwa nini mimi si kufanya hivyo? Fikiria kuhusu hilo kwa ajili ya pili. Kwa nini, wakati mimi naweza tu magazeti out-- mimi inaweza kuwa na mistari ya PHP kwamba kusema tu, magazeti HTML tag, kichwa magazeti. Kwa nini mimi si kufanya hivyo? Kwa nini mimi kuchanganya PHP na HTML? Naam, kama unafikiri kuhusu hilo kwa ajili ya pili. PHP, mkalimani ina kutafsiri kile kinachoonekana. Na hivyo ni kwenda kuwa kutekeleza mstari wa kanuni. Magazeti nje HTML. Magazeti nje tag kichwa wazi. Magazeti nje jina wazi tag. Ni kwenda kuwa na kutekeleza na kutafsiri kwamba kila hatua moja ya njia. Mbona si tu basi mkalimani tu Gloss juu mambo hayo haelewi na kufanya hivyo moja kwa moja? Ni kwenda kuokoa mimi muda mwingi kuchanganya HTML yangu na PHP yangu pamoja. Na hivyo ndiyo sababu hatufanyi tu na wazi PHP delimiter na kisha tu magazeti nje mzima maudhui ya ukurasa wetu kama moja kubwa PHP wito kwa kazi, Magazeti, na kisha karibu PHP delimiter na sisi ni kosa. Hivyo ndiyo sababu sisi kuchanganya yao juu pamoja. Hadi sasa, hatujaona sana ya tofauti kutoka kwa ujumla PHP syntax. Imekuwa ni pretty moja kwa moja. Tumekuwa tayari kuona alama swali, sawa. Tuliona michache ya wito kazi mpya, lakini hakuna kitu kweli dhana kinachoendelea. Hebu labda kufanya mambo kidogo fancier. Nini kama tunataka kupitisha habari kati ya mafaili mbalimbali PHP, ili labda mtumiaji anaweza kuwasilisha taarifa kwangu. Na kisha mimi naweza kufanya kitu nayo kwenye ukurasa mwingine. Hivyo PHP ina msaada kwa kitu kinachoitwa Super Global Vigezo, ambayo inaonekana pretty kutisha. Wao ni kweli tu kubwa associative arrays ambao wanasaidia kutekeleza hili utendaji wa kupita habari kati ya PHP mafaili kwamba ni zilizopo kwenye mtandao wetu server. Ya kwanza ya haya super globals inaitwa $ _GET. Na pengine ni rahisi kuelewa. Nini kinatokea kwa $ _GET? Naam, kimsingi, user ni kwenda aina maelezo ya ziada mwishoni mwa URLs yetu. Na chochote aina, kuchukua ni mpangilio kwa namna ya pekee kuitwa kamba swala, ambayo ni tu seti ya thamani jozi ufunguo kutengwa na ampersands. Wale thamani jozi ufunguo itakuwa kuhifadhiwa katika $ _GET safu associative. Na kutoka video wetu juu PHP syntax, tunajua jinsi ya kufanya kazi na associative arrays tayari. Hivyo hapa ni mfano wa baadhi PHP, ambapo labda mimi nina kuchimba wote wa thamani jozi ufunguo kwamba mtumiaji hutolewa katika URL. Hivyo nina PHP yangu Open delimiter. Nina foreach kitanzi. Mimi nina iterating hela Super Global Array aitwaye $ _GET. Na mimi nataka kuwa na uwezo wa kutaja kwa wote muhimu na thamani. Na mimi nina tu uchapishaji yao nje, kila mmoja juu ya inaonekana mwenyewe aya tag wake hapa. Mimi uchapishaji nje baadhi HTML na interpolating maadili ya muhimu na thamani katika taarifa hiyo. Basi hebu tuangalie jinsi hii ingekuwa kweli kazi juu ya IDE yetu. Na labda hii itasaidia kuonyesha kidogo nini kupata ni kweli kufanya. Hivyo mimi nina nyuma hapa katika mtandao wangu mizizi. Na mimi itabidi kuvuta kidogo na kuonyesha kwamba nina faili inayoitwa, get1.php. Basi hebu click kwenye get1.php. Na mimi si kuona maudhui yoyote. Hiyo ni weird, sawa? Naam, si kweli kweli. Kwa sababu sikuwa ugavi chochote katika URL. Mimi nina kwenda get1.php, lakini mimi hakuwa ugavi yoyote thamani jozi ufunguo kama sehemu ya kamba yangu swala. Basi hebu kuongeza kamba swala na kuona nini faili hili wanaweza kufanya. Kwa kuanzia kamba swala wewe aina tu alama ya swali. Basi labda mimi itabidi kusema jina = Doug & mwaka 2015 =. Na kisha mimi hit Enter. Sasa angalia nini kinatokea. Mimi bado nina katika get1.php. Lakini sasa nimekuwa zinazotolewa thamani jozi ufunguo, na mimi nina uchapishaji yao nje juu yao wenyewe jina paragraph--, mwaka Doug-- 2015. Hiyo ni sawa kabisa kificho sisi tu aliona kwenye slide wakati iliyopita. Na kama nataka labda kuongeza mwingine ufunguo jozi thamani, & darasani = CS50. Sasa nina thamani nyingine muhimu jozi hiyo kuchapishwa wakati mimi kupitia upya URL tena. Sasa labda hii si mpangilio sana pia. Hivyo nina toleo mwingine wa get.php. Ni get2.php. Tofauti katika hii moja ni nina CSS faili, na ni format mambo a kidogo vizuri zaidi kwa ajili yangu. Ni labda si zaidi CSS mazuri katika dunia. Lakini ni tu njia nyingine ya kufanya hivyo. Hivyo mimi bado anaweza kupata kwa vigezo yangu kwa kutumia $ _GET. Na katika kesi hii, mimi nina aina tu ya kufanya CSS kidogo zaidi dhana. Na kama sisi pop juu ya IDE yangu kwa ajili ya pili, Mimi nitakuonyesha katika wangu PHP mtandao directory hapa, get2.php. Tutaweza kufungua it up, baadhi HTML hapa. Inavyoonekana mimi nina kuunganisha kwa kuwa CSS faili nilikuwa kuzungumza juu. Mimi kufungua tag meza. Na kisha hapa ni foreach yangu kitanzi. Hapa ni kwamba, kile ilionyesha juu ya slide kabla. Tofauti tu ni mimi na ufunguo huu na thamani CSS styling kwamba mimi nina kutumia hiyo. Lakini hiyo yote mimi nina kufanya, ni mimi nina iterating hela $ _GET kupata yote ya thamani jozi ufunguo. Na mimi nina uchapishaji yao nje kama meza. Na, inaonekana, mimi nina formatting funguo kwa namna moja, na