[Powered by Google Translate] [PHP Web Development] [Tommy MacWilliam] [To je CS50.] [CS50.TV] V tem video bomo spoznali uporabo PHP, za razvoj spletnih strani. PHP je skriptni jezik, ki se lahko uporabijo za izvajanje spletnih strani na spletni strežnik. Spletni strežnik je v bistvu stroj namenjen zagotavljanju vsebin ki jih je mogoče dostopati prek interneta. Ko se pomikate na spletni strani, kot Facebook.com / home.php koda v datoteki imenovani home.php, ki živi na spletni strežnik Facebook nekje Izvajal se bo na tem strežniku. Ta koda bo verjetno ustvarila nekaj izhod ki bo nato poslan iz strežnika spletni brskalnik. Mi bomo uporabljali CS50 aparata kot spletni strežnik. Vaša naprava verjetno ne bo skoraj tako močan kot stroje v podatkovnem centru Facebook, vendar boste imeli nobenih težav, da jo uporabljajo za razvoj spletnih aplikacij. Ko smo se pomaknite na URL kot http://localhost/hello.php smo konfigurirati napravo preko aplikacijo, imenovano Apache HTTP strežnik poiskati datoteko imenovano hello.php znotraj domov / jharvard / vhosts / localhosts / html privzeto. Če ta datoteka obstaja, potem bo Apache uporabljati PHP tolmača za izvedbo PHP kode v hello.php. Če ta datoteka ne obstaja, potem Apache bo vrgel ni bilo mogoče najti napake ali 404 napak, kar ste verjetno opazili med brskanjem po spletu. Oglejmo si na hello.php. Lahko vidimo tukaj, da hello.php ustvarja signala linijo proizvodnje. Ko sva tekla hello.php v ukazni vrstici s pomočjo php hello.php da izhod je bila natisnjena s terminalom. Zdaj, ko imamo dostop do te datoteke prek URL v spletnem brskalniku njena proizvodnja bo poslano na spletni brskalnik, tako naslovom na URL, http://localhost/hello.php, lahko vidimo izhoda v našem spletnem brskalniku. Poskusimo dodajanjem drugega printf na naši Hello World programa. Dobro, pojdimo nazaj v spletnem brskalniku in videli, kaj imamo. Zanimivo. Namesto natisniti drugo linijo v svoji vrstici, kot bi si videl v terminalu, izgleda, da je dobil smushed na isti liniji kot drugi printf, tako da morda nove linije ne delujejo v PHP. Ne povsem. Ne pozabite, da je HTML običajno uporablja za ustvarjanje spletnih strani , ki se lahko prikaže spletnih brskalnikov. Ne samo, da je niz Pozdravi iz php ni veljaven HTML, vendar pa opozarjajo, da ne moremo uporabiti \ n znak v HTML ustvariti prelom vrstice. Namesto da bi preprosto prikazovanje niz, dajmo izhodno veljaven HTML. Z uporabo odstavkov oznake, vsak od naših printf klicev bo prikazan v svoji vrstici, tako da zdaj, ko smo obiskali URL, ki kažejo na valid.php http://localhost/valid.php vidimo izhod, ki ga iščemo. Zdaj, če gledamo na te stran lahko vidimo, da smo zdaj gledamo na veljavno HTML, ki smo jo ustvarili z PHP. Prenos vseh naših HTML znotraj printf klice se seveda dogaja, da bi dobili zelo nadležno. Na srečo smo lahko enostavno premešamo HTML in PHP v enaki. datoteko PHP. Ne pozabite, da vse naše PHP kodo je treba priložiti v . Karkoli, da ni zaprto v teh ločila bo preprosto pošlje kot izhod v brskalnik namesto da bi bila izvršena. To pomeni, da bomo lahko naredil kaj takega. Mi lahko preprosto napišite HTML znotraj našega. Php datoteke in nato vstavite PHP blokov, kjerkoli bi radi nekaj php kode, ki se izvajajo. Tukaj smo definirati nekaj spremenljivk na vrhu datoteke, kasneje pa smo jih natisnete znotraj našega HTML. Zdaj, če smo obiskali ta URL, http://localhost/mixed.php lahko vidimo našo ovrednoteni PHP znotraj našega HTML. Zdaj pa si oglejte, kako lahko posredujete podatke med našimi različnimi strani PHP. Namesto da bi rekel moremo preprosto reči, . Pojdimo zdaj si oglejte, kako lahko posredujete podatke med našimi različnimi strani PHP. Eden od načinov, kar lahko naredimo, da je za kodiranje podatkov v URL strani. Med brskanjem po spletu, ste morda opazili, da so nekateri URL-ji vsebovati? sledi niz, ki vsebuje ampersands in enakih znakov. Ta del URL-ja je znan kot niz poizvedbe in to vam omogoča, da učinkovito prenese argumente za vaš PHP skripte. Niz poizvedbe sestavljen iz parov vrednosti ključev, tako kot razpršene tabele. Enačaj ločuje ključ in temu ustrezno vrednostjo medtem ko ampersands ločiti parov. URL, ki izgleda kot http://localhost/get.php?foo=bar&baz=qux Ima 2 parov ključev vrednostjo v poizvedbi. Ključ foo preslika v vrstico vrednosti, in ključ baz preslika na QUX vrednosti. Mi lahko enostavno dostopa do teh parov ključev vrednost z uporabo posebne spremenljivke v PHP, $ _GET. $ _GET Je asociativno paleto , ki se samodejno poseljena s podatki poizvedbi. To pomeni, da zaradi tega URL $ _GET ["foo"] bo enaka niza bar. Oglejmo si na get.php videti $ _GET v akciji. Tukaj smo, da uporabljate funkcijo imenovano var_dump, ki ob prejemu niz ali drugo spremenljivko se bo izpisal za nas. Zdaj, če smo enostavno dostopate http://localhost/get.php potem bomo videli prazen niz, ker nismo pod pogojem poizvedbi. Če nam ne zagotavljajo poizvedbi prek http://localhost/get.php?foo=bar&baz=qux potem lahko vidimo, da bo spremenljivka $ _GET vsebujejo parov vrednosti ključev Navedena poizvedba je. Toda kaj, če ne želimo, da bo naš podatke znotraj URL strani? Za velike količine podatkov, lahko to povzroči nekaj zelo grdih URL-jev da se dogaja, da bi našo spletno stran bleščečo videz hromi. Mi lahko namesto tega dal poizvedbi v telo od zahtev HTTP namesto URL zahtevo stranke. Potem lahko uporabite PHP $ _POST spremenljivko dostop do ključnih pare vrednosti. Eden od načinov za to je preko HTML obrazca. Tukaj imamo preprost obrazec HTML. Opazil sem, da je metoda atribut tega obrazca objave. To pove brskalnik za povišanje ključne parov vrednosti obrazca v telo zahtevo namesto URL. Če bi uporabili vrednost se za ta atribut potem bi parov vrednosti ključev obliki je, namesto da gredo v poizvedbi, Tako smo lahko znova dostopati do njih preko $ _GET. Akcijski atribut obliki pove brskalniku, kam poslati podatke. Tu so naši 2 vhodni elementi imajo atribute ime. Vrednost lastnosti blagovne bo služila kot ključi v naših podatkih in vrednosti vložkov besedilo bo postalo vrednosti teh tipk. Zdaj pa si oglejte post.php, datoteko, da ta oblika podaja. Tako kot smo to storili prej, smo preprosto prikazovanje vsebine spremenljivke $ _POST. Oglejmo pluti v obliki s http://localhost/form.php. Zdaj, ko smo poslali obrazec lahko vidimo, da se podatki iz form.php se prenese na post.php brez slepič niz poizvedbe na URL. Zdaj smo videli 2 različnih načinov prenosa podatkov med PHP strani, dobili in objavili. V naših primerih smo uporabili 2 različne vrste zahtev HTTP. Kot bi lahko pričakovali, je bila zahteva navadil, ko smo poseljena Smo uporabili $ _GET od naslova, ter zahtevo po letu ko smo poseljena $ _POST. Pri oblikovanju svoje spletne aplikacije, to je dobro pravilo palca za uporabo zahtev get ko bo vaš app samo za branje podatkov in objavljate prošenj ko bo vaš app zapisovanje podatkov. Na primer, bo poizvedba branje podatkov iz vašega programa, zato zahteva dobil smisel. Po drugi strani, bo vaš app zapisovanje podatkov prek nekaj podobnega obrazec za registracijo, tako da bi zahteva po bolj smiselno, in da je pregled nekaterih tehnik bomo lahko uporabljate v CS50 za ustvarjanje spletnih strani z uporabo PHP. Moje ime je Tommy, in to je CS50. [CS50.TV]