DOUG Lloyd: Joten meidän video PHP syntaksi, puhuimme paljon siitä, miten PHP voidaan käyttää komentoriviltä ajaa ohjelmia siten, että Olemme melko tuttuja C. Mutta kuten olen myös mainittiin että video, PHP kehitettiin alun perin toteuttaa Web-ohjelmointi, verkkosivustoja. Ja niin tämän videon olemme aio puhua siitä, miten me käyttää PHP Web Development yhteydessä. Tiedämme jo, mistä Meidän video HTML, että sivustot ovat rakennettu ulos joukko HTML-tunnisteita että semanttisesti määritellä rakenteen Web-sivun. Mutta sivustoja, jotka ovat rakennettu puhdasta HTML kärsivät hyvin, erittäin vakava rajoitus. Ja havainnollistaa tätä rajoitusta, Tarkastellaan seuraavaa. Joten nyt haluan rakentaa web-sivun että, kun käyttäjä käy se, se antaa minulle nykyinen aika Cambridge, Mass., se näytetään uusimman minuutti. Jos tein tämän juuri nyt, Voisin sanoa jotain tällaista. Nykyinen aika Cambridge-- joten olen HTML-tunnisteet, pää tunnisteet, otsikko tags, elin tags-- nykyinen aika Cambridge on 14:08, tulostamalla sotilaallinen aikaa. Mitä tapahtuu, jos se on nyt 14:09, 14:09? No toistaiseksi, HTML, minulla on mennä ja muuttaa sen 14:09. Ja sitten yksi minuutti myöhemmin, Minun täytyy muuttaa sitä uudelleen. Ja sitten yksi minuutti myöhemmin, Minun täytyy muuttaa sitä uudelleen. Ja kuten voitte kuvitella, se on luultavasti huonoin työpaikka koskaan. Olet webmaster web-sivun, ja joka minuutti, 24 tuntia päivässä, sinun täytyy päivittää kellonajan mukaan manuaalisesti avaamalla time.html ja muuttuviin vain että koodinpätkä sanoa nykyisen ajan tunteina ja minuutteina. Se ei todennäköisesti ole kovin hyvä käyttää resursseja, sekä ihmisten ja laskennallisen. Sivustot, jotka ovat kaikki HTML ovat täysin staattisia. Vain siten voit päivittää sisältöä, kuten olemme juuri nähneet, on manuaalisesti avata ne lähde tiedostoja, muokata niitä ja tallentaa ne. Ja sitten kun käyttäjä päivittää sivun, tai vierailee sivun ensimmäinen aika, he saavat uusimman sisällön. Mutta vain koska olemme manuaalisesti muokata sitä. Jos alamme sekoittaa joitakin PHP siellä, meidän koodi voi saada paljon joustavampi. Ja voimme olla tapa sivuillamme olla dynaaminen, tai päivittää itse, ilman meidän huono webmaster edellisessä esimerkissä manuaalisesti päivittää asioita. He voivat tehdä sen automaattisesti. Meillä ei tarvitse puuttua. Voimme nukkua. Joka on luultavasti hyvä asia, jos teet paljon web ohjelmointi. Joten CS50 IDE, otamme web-palvelin nimeltään Apache. Se on hyvin yleisesti käytetty, avoimen lähdekoodin web-palvelin järjestelmä. Tämä järjestelmä on kyky tulkita PHP, joka tulee olemaan hyötyä, jos haluat tehdä mitään PHP. Ja CS50 IDE, meillä on komento jotta tämä erittäin helppo tehdä, apache50 alkaa. Ja sitten, että slash polku, kauttaviivalla, kauttaviiva dir, se on vain todella yleinen tapa ilmi, mitä olet määrittänyt täällä on polku tietyn hakemiston, että olet haluavat olla juuri sivuston, tai juuri sivun, tai kansio, jonka web-palvelin alkaa tutkia asiakirjat ja palvella ne asiakkaille, jotka pyytävät niitä. Joten pop yli CS50 IDE, vain näyttää, todella nopeasti, miten tämä toimii. Joten täällä CS50 IDE, olen hakemiston nimeltä Viikko Zero Nine. Ja minulla on two-- minulla on teloitettiin LS komennon vain edellä osoittaa teille, että minulla on kaksi hakemistoja täällä, PHP, joka on joukko tiedostoja, jotka käytin PHP syntaksi video, ja sitten PHP-web, joka on joukko tiedostoja, että olen haluaisi käyttää tämän videon. Ja haluaisin aloittaa web-palvelin esimerkiksi sisällön PHP-web-kansio kuten tiedostojen tarjoillaan. Joten mitä olen menossa tekemään? Olen menossa kirjoittaa apache50 tilaa aloittaa, tilaa PHP, viiva web. Se polku hakemistoon josta minä tällä hetkellä olen. Sitten osuin Enter. Se tulee tehdä vähän tavaraa täällä. Ja sitten se tulee sanoa, Apache aloitti onnistuneesti. Sivusto on nyt saatavilla at-- ja sitten on URL-sivuston. Joten mitä olen menossa tekemään? Aion nopeasti kopioida. Ja aion avata up-- ja Minä loitontaa hieman here-- Aion avata uusi välilehti Chromessa. Ja aion vierailla URL. Aion paina Enter. Se tulee ladata. Ja minä loitontaa uudelleen. Ja voimme nähdä täällä on sisältö minun PHP hakemistoon. Joten nyt mitä pohjimmiltaan tapahtuu tässä, minun esimerkki CS50 IDE palvelee näitä tiedostoja ketään, joka pyytää niitä. Ja aikana Tämä video, me tavallaan katsomaan joukko näistä eri tiedostot yhteydessä. Voit testata, että Apache palvelin toimii, joka on yleensä menossa olla tapauksessa CS50 IDE, mutta jos teet tämän yleisemmin, ja aloitat rakentaa oma web- palvelimet, siellä on todella yhteinen eräänlainen analogisesta, "Hello World", joka on yleensä käytetään PHP kehityksen. Joka on saada tiedosto koostuu juuri tämä code-- PHP erotin asettaa PHP info, suluissa, puolipiste välillä. Joka on pohjimmiltaan erityinen PHP funktio joka kertoo mikä versio PHP käytät. Joten CS50 IDE, minulla on että tiedosto saatavilla vain näyttää mitä tämä näyttäisi. Joten Etsin minun indeksi minun PHP esimerkiksi. Oma Apache esimerkiksi on käynnissä sisältö PHP-Web. Ja minulla on tiedosto täällä kutsutaan info.php. Aion klikkaa sitä, loitontaa. Tämä on mitä aiot nähdä, melko paljon. Tämä on vain kertoa minulle, että minun Apache-palvelin toimii. Ja tämä on, ilmeisesti, versio PHP että olen käynnissä. Tämä on minun analogisesta "Hello World." Joten tiedän asiat ovat toiminnassa. Joten olemme hyvä mennä. Voimme edetä tästä. Joten uudelleen, että aika esimerkki olimme puhumme meidän huono webmaster joka oli päivittää sivua jatkuvasti. Tämä saattaa olla korjaus miten Haluan toteuttaa asioita niin että webmaster ei täytyy pitää päivittää ajan. Se olisi vain eräänlainen tapahtua automaattisesti. Alhaalla, HTML, se on melko samanlaisia, yhtä poikkeusta lukuun ottamatta. Mutta tässä Minulla joitakin PHP yläreunassa. Olen ilmeisesti kutsui tätä toiminto date_default_timezone_set. Emmekä puhu kaikki näitä toimintoja CS50, koska PHP on luultavasti kymmeniä tuhansia. Se saattaa olla hieman liioittelua, mutta se ei ehkä ole. Se sai paljon toimintoja rakennettu. Ja niin tämä on toiminto ilmeisesti asettaa minun aikavyöhykkeellä US / Eastern, joka on aikavyöhyke, että olen tällä hetkellä tekemään tämän videon. Sitten minä soittaa toiminto nimeltään, päivämäärä. Ja ilmeisesti olen tallentamiseen HÄNEN jotain kutsutaan, aika. Mitä täällä on tekeillä? No, periaatteessa mitä tapahtuu on, teen puhelun Joidenkin palvelin, joka on menossa kerro minulle, mitä ajan hetkellä on. Ja olen muuntaa sen muotoon tuntia, minuuttia, sekuntia. Ja syy se on pääkaupunki H on tämä aikoo antaa minulle 24 tuntia aikaa, ei 12 tunnin ajan, mikä olisi pieniä tuntia. Ja olen vain varastointia että muuttujaan nimeltä, aika. Niin että toinen rivi PHP siellä, puhelu toiminnon, päivämäärä, on juuri Joissakin merkkijono, joka on aio antaa minulle päivämäärä, ja aikaa, ja joukko muita tietoja. Ja ensimmäinen väite on, että hänen, on vain talteen tärkeä osa että välitän tässä esimerkissä, joka on tunti, minuutit ja sekunnit. Niin, että kaikki mitä tapahtuu. Joten en säilytä että muuttuja $ aikaa. Ja sitten alas hyvin pohja siellä, minä on että lyhenteenä tulostamalla kellonajan. Joten olen juuri menossa tulostaa mitä nykyinen aika on. Joten katsomaan tätä CS50 IDE ja miten olemme nyt säästö että webmaster paljon vaivaa. Selvä, joten tässä olen taas takaisin juurihakemistoon minun Apache oikeusasteessa. Ja minulla on tiedosto täällä kutsutaan time.php. Olen juuri menossa klikata että. Ja minä vierittää ylös, koska olemme zoomata melko pitkälle. Kellonaika on 14:20:34. Joten teen sen tunnin, minuutit ja sekunnit. Ja voin päivittää sivu ja saada uusia aika. --41. Aion päivittää sivua ja saada uutta aikaa, 44, 46, 47. Joten, en selvästikään ole muuttamatta mitään itse. Olen täällä päivittämällä sivun. Joten en voi olla sinne muokkaamalla sitä. Ja lupaan teille, en mitään Confederates jotka muokkaamalla tiedostoa puolestani puolella. Olen vain käyttämällä että PHP funktio, aika, tuottaa aikaa minulle automaattisesti. Niin että vaikka olen unessa, ja minun web-palvelin on käynnissä, käyneen käyttäjän että sivu on edelleen menossa juuri kellonajan. Niin se on aika hyvä. Olen tehnyt sivuston dynaamisempaa kanssa ei liikaa PHP. Se oli vain kaksi riviä koodia ja sitten hieman print. Ja jo Minulla paljon dynaamisempi sivusto kuin ensimmäinen esimerkki näimme alussa videon. Niin, muistan video PHP syntaksi että kun PHP tulkki toimii meidän ohjelma, se ohittaa kaikki se ei sisällä PHP eroittimille Sylkäiseminen. Tässä esimerkissä, mitä asia että se sylkee oli HTML. Ja tämä tarkoittaa, voin nyt sirotella HTML ja PHP yhdessä. Koska tulkki vain sivuuttaa HTML ja kirjaimellisesti tuotos se. Joka on hyvä, eikö? Koska oletettavasti, päivän päätteeksi, Haluaisin sivuni rakennettava HTML. Jotta tahansa selaimella voi tulkita se, tai ymmärtää HTML-sivulla ja tehdä sitä jotain, että me voi todella ymmärtää ihmisinä. Ja voin vain käyttää PHP sillä osat sivustoni edellyttää dynaamisuutta, jotka vaativat minua on asioita, jotka päivittyvät jatkuvasti. Staattista tietoa voi jäädä sama. OK, niin se käy hyvin. Mutta miksi tekisin näin? Miksi sekoittaa HTML ja PHP? Voisin vain tulostaa kaikki HTML, käyttäen PHP tulostustoimintoa. Miksi en tee sitä? Ajattele sitä toista. Miksi, kun en voinut vain tulostaa out-- I voisi olla riviä PHP että vain sanoa, Tulosta HTML-koodi, tulostuspää. Miksi en tee sitä? Miksi olen sekoittamalla PHP ja HTML? No, jos luulet siitä toista. PHP, tulkki on tulkita, mitä se näkee. Ja niin se tulee olla suorittaa riviä koodia. Tulosta HTML. Tulosta avoin pää tag. Tulosta auki otsikkokoodin. Se täytyy toteuttaa ja tulkita että jokainen askeleella. Miksi ei anna tulkki vain kaunistella mitä se ei ymmärrä ja tehdä sen automaattisesti? Se tulee säästää minulta paljon aikaa sekoittaa minun HTML ja minun PHP yhdessä. Ja niin siksi emme vain avoin PHP erotin ja sitten vain tulostaa koko sisältöä meidän sivulla yhtenä jättiläinen PHP soittaa toiminto, Tulosta ja sitten lähellä PHP erotin ja olemme tehneet. Joten siksi me sekoita ne yhdessä. Toistaiseksi emme ole nähneet liikaa ero yleisestä PHP syntaksi. Se on ollut melko yksinkertainen. Olemme jo nähneet kysymysmerkki, yhtäläinen. Näimme pari uutta funktiokutsut, mutta mitään todella hieno meneillään. Katsotaanpa ehkä tehdä asioita hieman harrastaja. Mitä jos haluamme välittää tietoa eri PHP tiedostot, niin että ehkä käyttäjä voi toimittaa tiedot minulle. Ja sitten voisin tehdä jotain sen toisella sivulla. Joten PHP on tukea jotain kutsutaan Super Global Muuttujia, joka kuulostaa aika mahtava. He ovat oikeastaan ​​vain jättiläinen assosiatiiviset taulukot että auttaa toteuttamaan tämä toimivuutta ohimennen tietoja välillä PHP tiedostot ovat olemassa meidän web-palvelin. Ensimmäinen näistä Super global kutsutaan $ _GET. Ja se on luultavasti yksinkertaisin ymmärtää. Mitä tapahtuu $ _GET? Hyvin, periaatteessa, käyttäjä on menossa kirjoittaa lisätietoja lopussa meidän URL. Ja mitä he kirjoittavat, olettaen se alustettu tietyllä tavalla kutsutaan Kyselymerkkijonon, joka on vain joukko keskeisiä arvopareja erotettu by-merkkejä. Ne avain arvo pareja on tallennettu $ _GET assosiatiivisia array. Ja meidän video PHP syntaksi, tiedämme miten työskennellä assosiatiiviset taulukot jo. Joten tässä on esimerkki jotkut PHP, jossa ehkä olen talteen kaikki keskeiset arvo-parit että käyttäjä toimitetaan URL. Joten minulla on Open PHP erotin. Minulla foreach silmukka. Olen iteroimalla yli Super Global Array kutsutaan $ _GET. Ja haluan pystyä viitata sekä avain ja arvo. Ja olen vain tulostamista ulos, kukin yksi ilmeisesti oma kohta tag täällä. Olen tulostus joitakin HTML ja interpoloimalla arvot keskeisten ja arvosta tuohon lausunto. Joten katsomaan miten tämä todella työtä meidän IDE. Ja ehkä tämä auttaa havainnollistavat hieman mitä saat on todella tekee. Joten olen takaisin täällä minun web root. Ja minä zoomata vähän näyttämään että minulla on tiedosto nimeltä, get1.php. Joten klikkaa get1.php. Enkä näe mitään sisältöä. Se on outoa, eikö? No, ei oikeastaan ​​oikeastaan. Koska en ole toimittanut mitään URL. Aion get1.php, mutta minä ei toimittanut mitään näppäintä arvopareja osana minun kyselyn merkkijono. Joten lisätä Kyselymerkkijonon ja nähdä, mitä tämä tiedosto voidaan tehdä. Aloittaa kyselyn merkkijono kirjoita kysymysmerkki. Sitten ehkä minä sanon name = Doug & vuosi = 2015. Ja sitten minä Enter. Nyt huomaa, mitä tapahtuu. Olen yhä get1.php. Mutta nyt olen mukana avain arvo-pareja, ja olen tulostamista pois omasta paragraph-- nimi, Doug-- vuosi, 2015. Juuri koodi me vain näki dia hetki sitten. Ja jos haluan ehkä lisätä toisen keskeinen arvo pari, ja class = CS50. Nyt minulla on toinen keskeinen arvo pari, joka on tulostettu kun uudelleen URL uudelleen. Nyt ehkä tämä ei ole alustettu hirveän hyvin. Joten minulla on toinen versio get.php. Se get2.php. Ero tässä yksi on Minulla on CSS-tiedosto, ja se muotoilee asiat hieman hienosti minulle. Se ehkä ole kaikkein kaunis CSS maailmassa. Mutta se on vain yksi tapa tehdä se. Joten voin silti päästä käsiksi minun muuttujia käyttäen $ _GET. Ja tässä tapauksessa, olen juuri sellainen jolloin CSS hieman fancy. Ja jos me pop yli minun IDE toinen, Näytän sinulle minun PHP hakemiston täällä, get2.php. Me avaa sen, joitakin HTML täällä. Ilmeisesti olen yhdistää kyseisessä CSS-tiedosto Puhuin. Avaan pöydän tag. Ja sitten tässä on minun foreach silmukka. Tässä on se, mitä minä osoitti dian ennen. Ainoa ero on I on tämä avain ja arvo CSS muotoilu että olen hakemassa sitä. Mutta siinä kaikki olen tekemässä, on olen iteroimalla yli $ _GET saada kaikki avaimen arvo-pareja. Ja olen tulostamalla ne pois kuin taulukossa. Ja ilmeisesti olen alustaa avaimet tavalla, jossa