Doug LLOYD: Torej, v naÅ¡i video na PHP sintakso, veliko smo se pogovarjali o tem, kako PHP Lahko se uporablja v ukazni vrstici za izvajanje programov na naÄin, ki smo precej seznanjeni z od C. Ampak kot sem omenil tudi V ta video, PHP je bil prvotno razvit za izvajati spletno programiranje, spletne strani. In tako v tem videu smo bomo govorili o tem, kako uporabljati PHP v okviru spletnega razvoja. Vemo, že od naÅ¡ video o HTML, da so zgradili spletne strani iz niza HTML da pomensko opredeliti Struktura spletne strani. Ampak spletnih strani, ki so zgrajena s Äistim HTML trpijo zaradi zelo, zelo resna omejitev. In za ponazoritev te omejitve, kaj menijo naslednje. Torej, zdaj želim zgraditi spletno stran da, kadar uporabnik obiÅ¡Äe, to mi daje tok Äas v Cambridge, Mass., jo prikazujete na zadnjo minuto. Äe sem bil kar to pravico sedaj, Jaz bi rekel kaj takega. Trenutni Äas Cambridge-- tako da imam HTML oznake, oznake glave, naslov oznake, telo tags-- tok Äas v Cambridgeu je 14:08, tiskanje vojaÅ¡ko Äas. Kaj se zgodi, Äe je zdaj 02:09, 14:09? No tako daleÄ, HTML, imam da gredo v in jo spremenite v 14:09. In potem eno minuto kasneje, Moram ga ponovno spremeniti. In potem eno minuto kasneje, Moram ga ponovno spremeniti. In kot si lahko predstavljate, da je verjetno najslabÅ¡i delo doslej. Vi ste webmaster za spletno stran, in vsako minuto, 24 ur na dan, morate posodobiti sedanji Äas, ki ga roÄno odpiranje time.html in spreminjanje samo, da odrezek kode za povedati trenutni Äas v urah in minutah. To je verjetno ni zelo Dobra uporaba naÅ¡ih virov, ÄloveÅ¡kih in raÄunalniÅ¡ka. Spletne strani, ki so vsi HTML so popolnoma statiÄna. Edini naÄin, da lahko posodobite vsebine, kot smo videli, je roÄno odpreti tiste vir datoteke, jih uredite in jih shranite. In potem, ko uporabnik osveži stran, ali obiÅ¡Äe stran za prvo Äas, ki jih bomo dobili najnovejÅ¡o vsebino. Ampak samo zato, ker smo jih roÄno uredil. Äe zaÄnemo meÅ¡ati nekaj PHP tam, naÅ¡a koda lahko dobite veliko bolj prilagodljiv. In imamo lahko pot naÅ¡ih straneh biti dinamiÄen, ali se posodobi, ne zahteva naÅ¡a slaba webmaster v prejÅ¡njem primeru biti roÄno posodabljanje stvari. So lahko to storite samodejno. Nimamo posredovati. Mi lahko naspim. Kar je verjetno dobra stvar, Äe delaÅ¡ veliko spletno programiranje. Torej, v CS50 IDE, Vodimo spletni strežnik imenuje Apache. To je zelo pogosto uporablja, odprtokodni spletni strežnik sistem. Ta sistem ima Zmogljivost za razlago PHP, ki se bo koristno, Äe želite storiti vse PHP programiranje. In v CS50 IDE, imamo ukaz da bo to zelo enostavno narediti, apache50 zaÄeti. In potem, da je slash Pot, poÅ¡evnica, da, poÅ¡evnica dir, da je samo zelo pogost naÄin kaže, kaj ste tukaj doloÄeno je pot k posameznemu imenik, ki vam želijo biti koren stran ali stran koren, ali mapo, iz katere spletni strežnik bo zaÄela preuÄevati datotek in služijo jim do strank, ki jih zahtevajo. Torej, kaj je pop prenesejo CS50 IDE, samo da bi ti pokažem, res hitro, kako to deluje. Torej, tukaj v CS50 IDE, sem v Imenik imenuje Teden Zero Nine. In imam dvo imam izvrÅ¡eno ukaz LS samo zgoraj, da ti pokažem, da imam dva imenikov v tukaj, PHP, ki je niz datotek, ki sem se uporabljajo v skladnja video PHP, in potem PHP-web, ki je niz datotek, ki sem bi radi uporabili v tem videu. In želim, da zaÄnete primerek spletni strežnik z vsebino PHP spletne mapi kot so datoteke, ki se prezraÄuje up. Torej, kaj bom naredil? Bom, da tip apache50 prostor zaÄetek, prostor PHP, dash spletu. To je pot do imenika od kje sem sedaj jaz. Potem sem zadeti nastopiti. To se dogaja, narediti malo stvari tukaj. In potem se dogaja, da pravijo, Apache je uspeÅ¡no zaÄel. VaÅ¡a spletna stran je sedaj na voljo at-- in potem je URL za spletno stran. Torej, kaj bom naredil? Grem hitro kopirati to. In bom odpreti up-- in Bom pomanjÅ¡ati malo here-- Bom odprla nov zavihek v Chromu. In jaz grem na obisk, da se URL. Bom udaril Enter. To se dogaja, da se naložijo. In bom pomanjÅ¡ati znova. In vidimo, tukaj je vsebina mojega PHP spletni imenik. Torej, zdaj, kaj se v bistvu dogaja tukaj je moj primerek CS50 IDE služi do teh datotek vsakdo, ki jih zahteva. In tekom ta video, bomo nekako si oglejte kup teh razliÄne datoteke v kontekstu. Äe želite preveriti, ali vaÅ¡e Apache strežnik deluje, kar se praviloma dogaja da je tako v CS50 IDE, vendar, Äe vam to bolj na sploÅ¡no, in zaÄneÅ¡ graditi svojo spletno strežniki, tam je res Skupno nekako analogno, "svetu zdravo," ki je ponavadi uporabljajo za PHP web development. Kar bo imelo datoteko sestavljen iz le te code-- PHP LoÄilo set z PHP info, oklepaje, podpiÄjem vmes. Ki je v bistvu posebna PHP funkcija, ki vam pove, kaj razliÄica PHP teÄeÅ¡. Torej, v CS50 IDE, imam da je datoteka na voljo samo da ti pokažem, kaj bi to izgledal. Tako da sem videti na mojem indeksu iz moje PHP primer. Moj Apache primerek teÄe vsebina PHP-Web. In imam datoteko tukaj imenuje info.php. Bom ga kliknite, pomanjÅ¡anje. To je tisto, kar boste videti, precej. To je le nekaj mi pravi, da moj Apache strežnik deluje. In to je, oÄitno je razliÄica PHP, da teÄem. To je moj analogni "Hello World". Zato vem, so stvari delujejo. Tako da smo na dobri poti. Lahko nadaljujemo od tukaj. Tako da je ponovno, da Primer, ko smo bili govoriÅ¡ z naÅ¡im slabim webmaster ki je moral posodobiti stran nenehno. To je lahko pritrditi kako Jaz bi izvajanje stvari tako da je webmaster ni morali obdržati posodabljanje Äasa. To bi nekako samodejno zgodilo. Spodaj navzdol, HTML, je precej podobni, z eno izjemo. Ampak tukaj imam nekaj PHP na vrhu. Sem, oÄitno, se imenuje to Funkcija date_default_timezone_set. In ne govorimo o vsem te funkcije v CS50, ker PHP ima verjetno deset tisoÄ. Da bi lahko malo pretiravanje, vendar to ne bi bilo. Ima veliko funkcij, zgrajena leta. Tako je ta funkcija navidezno nastavi Äasovni pas kot v ZDA / vzhodni, ki je Äasovni pas, da sem Trenutno Äesar ta video. Potem sem klicati na Funkcija se imenuje, datum. In, oÄitno, jaz shranjevanje HIS neÄesa imenovane, Äasa. Torej, kaj se dogaja tukaj? No, v bistvu tisto, kar je dogaja se, da sem klicanju do neke strežnik, ki se bo povej mi, kaj je Äas, trenutno je. In sem ga pretvori v format v urah, minutah, sekundah. In razlog, da je kapital H je to se dogaja, da mi 24 ur Äasa, ne 12 uro Äasa, ki bi bile male Ärke h. In jaz sem samo shranjevanje, ki v spremenljivko z imenom, Äas. Tako da druga vrstica PHP tam, klic funkcije, Datum, ki je ravno nekateri niz, ki je dogaja, da mi datum in Äas, in kup drugih informacij. In prvi argument je, da je njegov, je samo ekstrakcijo pomembno vlogo da mi je mar za ta primer, ki je ura, minuta, in drugi. Tako, da je vse, kar se dogaja. Tako sem shranite, da v spremenljivko $ Äasa. In potem izstopajo na Zelo dno tam, sem so, da je okrajÅ¡ava za tiskanje trenutnega Äasa. Tako da sem le, da bo tiskanje kaj trenutni Äas. Tako da je lahko pogled na to CS50 IDE in videli, kako smo zdaj varÄevanje, ki Webmaster veliko težav. Vse je v redu, tako da tukaj sem spet jaz nazaj v korenski imenik moje Apache primer. In imam datoteko tukaj imenuje time.php. Jaz sem Å¡ele tekoÄ, da kliknete na to. In bom pomaknite navzgor, saj smo poveÄavi precej daleÄ. Sedanji Äas je 14:20:34. Torej, jaz delam ur, minutah in sekundah. In ne morem osvežitev stran in dobili nov Äas. --41. Bom osvežiti stran in dobili nov Äas, 44, 46, 47. Torej, jaz oÄitno nisem spreminja niÄesar sam. Tukaj sem osvežiti stran. Tako da ne morem biti tam urejanjem. In obljubim ti, jaz ne imate konfederativci ki so urejanjem datoteke v mojem imenu na strani. Jaz sem samo s pomoÄjo te funkcije PHP, Äas, da se ustvari Äas zame samodejno. Tako da tudi Äe sem spala, in moj spletni strežnik teÄe, uporabnik, ki obiÅ¡Äe, da je stran Å¡e vedno bo dobil toÄno trenutni Äas. Torej, to je zelo dobro. Naredil sem bolj dinamiÄno svojo spletno stran z ne preveÄ PHP kodo. To je bil le dve vrstic kode in potem malo izjavi tiskanja. In že imam veliko bolj dinamiÄen stran kot je ta prvi primer smo videli Na zaÄetku videa. Torej, prikliÄite iz video na PHP sintakso da kadar PHP tolmaÄ teÄe naÅ¡ program, da ignorira vse da ni notri PHP loÄila, ga izpljunil. V tem primeru, kaj je stvar da je izpljunil je HTML. In to pomeni, da lahko zdaj Razasuti HTML in PHP skupaj. Ker je tolmaÄ bo samo prezreti HTML in dobesedno izhod je. Kar je dobro, kajne? Ker je verjetno, Na koncu dneva, Rad bi svojo spletno stran v je izdelana iz HTML. Tako, da lahko vsak spletni brskalnik razložiti to, ali razumejo HTML na strani in je postala, kot nekaj, kar smo dejansko lahko razumemo kot Äloveku. In sem lahko uporabite samo PHP za dele moji strani Zahtevaj dinamiÄnost, da me potrebujejo da so stvari, ki posodobitev nenehno. StatiÄni podatki lahko ostane ista. OK, tako da je v redu. Ampak zakaj bi jaz to naredil? Zakaj bi se premeÅ¡a HTML in PHP? Jaz lahko samo natisnete vse HTML, s funkcijo PHP tiskanja. Zakaj sem ne delaÅ¡ to? Razmisli o tem za sekundo. Zakaj, ko sem lahko samo tiskanje out-- I bi lahko imeli linije PHP, da je pravkar rekel, print HTML tag, tiskalna glava. Zakaj sem ne delaÅ¡ to? Zakaj sem meÅ¡anjem PHP in HTML? No, Äe mislite, da o tem za sekundo. PHP, tolmaÄ ima razložiti, kaj vidi. In tako se dogaja, da imajo za izvrÅ¡itev kode. Natisnite HTML. Natisnite odprte glave oznako. Natisnite odprt naslov tag. To se dogaja, da imajo na izvesti in interpretirati da je vsak korak s poti. Zakaj ne samo pustiti TolmaÄ samo zatajili Stvari se ne razumejo in to samodejno? To se dogaja, da mi prihrani veliko Äasa zmeÅ¡ati svoj HTML in moj PHP skupaj. In da je, zakaj ne bomo samo Å¡e odprto PHP loÄilo in potem samo natisnete celotno vsebina naÅ¡e strani kot eno velikan PHP klic funkcije, Print, in nato blizu PHP LoÄilo in smo konÄali. Torej, to je, zakaj smo jih pomeÅ¡ajo skupaj. Doslej nismo videli preveÄ razliko od sploÅ¡nega PHP sintakso. Bilo je precej preprosta. Smo že videli VpraÅ¡anje znamka, enaki. Videli smo nekaj novih klici funkcij, vendar niÄ res fancy dogaja. Naj morda bi stvari malo Ljubitelj. Kaj pa, Äe želimo, da prenese informacije med razliÄnimi PHP datotek tako da morda lahko uporabnik predložijo informacije z mano. In potem sem lahko nekaj storiti z njim na drugo stran. Torej PHP ima podporo za nekaj, kar se imenuje Super Globalno Spremenljivke, ki zveni zelo super. Oni so res samo velikan asociativne nize ki pripomorejo k izvajanju tega Funkcionalnost prehoda informacij med PHP datotek, so obstojeÄi na naÅ¡em spletnem strežniku. Prvi od teh super globals se imenuje $ _GET. In to je verjetno najenostavnejÅ¡i razumeti. Kaj se zgodi s $ _GET? No, v bistvu, je uporabnik dogaja, da vnesete dodatne informacije Na koncu naÅ¡ih naslovov. In karkoli oni tip, ob predpostavki, to je oblikovano na poseben naÄin imenuje niz poizvedbe, ki je le niz kljuÄnih parov vrednosti loÄeni s ampersands. Ti kljuÄni parov vrednost bo shranjena v $ _GET asociativni array. In iz naÅ¡e video na PHP sintakso, vemo, kako delati z asociativne nize že. Torej, tukaj je primer nekaj PHP, kjer morda sem pridobivanja vseh kljuÄnih pari vrednosti da uporabnik dobavljene v URL. Torej imam Odpri PHP loÄilo. Imam foreach zanke. Jaz sem ponavljanjem Äez Super Globalno Array imenovano $ _GET. In želim, da bi lahko nanaÅ¡ajo tako kljuÄa in vrednostjo. In jaz sem jih samo tiskanje ven, vsak na navidezno lastne odstavek tag tukaj. Jaz tiskanje nekaj HTML in interpoliranjem vrednosti kljuÄa in vrednosti v tej izjavi. Torej, kaj je si oglejte, kako je to bi dejansko delajo na naÅ¡i IDE. In morda bo to pomagalo ponazarjajo malo kaj dobili, je dejansko poÄne. Tako da sem spet tukaj v moji spletni root. In bom zoomom malo, da ti pokažem da imam datoteko z imenom, get1.php. Torej, kaj je klik na get1.php. In ne vidim nobene vsebine. To je Äudno, kajne? No, ni res, dejansko. Ker nisem dobavo karkoli v URL. Bom get1.php, vendar sem ni predložila nobenih kljuÄnih parov vrednosti kot del moje poizvedbe niza. Torej, kaj je dodati niz poizvedbe in videti, kaj lahko ta datoteka storiti. Za zaÄetek niz poizvedbe si samo tip vpraÅ¡aj. Potem pa bom rekel name = Doug & leto = 2015. In potem bom pritisnite tipko Enter. Zdaj opazili, kaj se dogaja. Å e vedno sem v get1.php. Zdaj pa sem na voljo KljuÄne parov vrednosti, in sem tiskanjem na lastno paragraph-- ime, Doug-- leto 2015. To je toÄno to kodo smo pravkar Videl na slide pred nekaj trenutki. In Äe želim morda dodati drugo par kljuÄev vrednost in class = CS50. Zdaj imam Å¡e en kljuÄni vrednost Par, ki je izpisal ko sem spet ponovno URL. Zdaj morda to ni formatiran straÅ¡no dobro. Torej imam Å¡e eno razliÄico get.php. To je get2.php. Razlika v tem eden je imam CSS datoteko, in formati stvari malo bolj lepo za mene. To morda ni najbolj lepa CSS v svetu. Ampak to je samo Å¡e en naÄin za to poÄetje. Da bom lahko Å¡e vedno dobite dostop za moje spremenljivk z uporabo $ _GET. In v tem primeru, jaz sem samo nekako zaradi Äesar je CSS malo bolj fancy. In Äe bomo pop prenesejo moj IDE za drugo, Pokazal vam bom v mojem PHP web Imenik tukaj, get2.php. Ga bomo odprli, nekaj HTML tukaj. OÄitno sem povezuje s tem, da CSS datoteka sem govoril. Odprem namizni oznako. In potem tukaj je moj foreach zanke. Tukaj je, da je tisto, kar sem pokazala na slide poprej. Edina razlika je, da sem imajo ta kljuÄ in vrednost CSS styling, da sem se uporabljajo za to. Ampak to je vse, kar poÄnem, je, da sem ponavljanjem Äez $ _GET da bi dobili vse kljuÄnih pari vrednosti. In jaz sem jih tiskate kot mizo. In, oÄitno, da sem formatiranje kljuÄe na en naÄin, z class = "kljuÄ"