[Powered by Google Translate] [PHP Web Development]
[Tommy MacWilliam]
[To je CS50.] [CS50.TV]
>> V tomto videu sa budeme učiť o použití PHP pre vývoj webových aplikácií.
PHP je skriptovací jazyk, ktorý môže byť použitý na vykonanie
webové stránky na webovom serveri.
Webový server je v podstate stroj zameriava na poskytovanie obsahu
ktoré môžu byť prístupné cez internet.
Keď prejdete na webovú stránku, ako je Facebook.com / home.php
kód v súbore s názvom home.php ktorá žije na webovom serveri Facebook niekde
budú vykonané na tomto serveri.
Tento kód bude pravdepodobne vytvárať nejaký výstup
ktoré sa následne odoslané zo servera
sa vo Vašom webovom prehliadači.
Budeme používať CS50 zariadenia ako webový server.
Váš prístroj pravdepodobne nebude zďaleka tak silný ako stroje
v Facebook dátovom centre, ale budete mať žiadny problém používať ho pre vývoj webových aplikácií.
>> Keď budeme navigovať na adresu URL ako http://localhost/hello.php
sme sa konfigurovať zariadenie prostredníctvom aplikácie zvané server Apache HTTP
hľadať súbor s názvom hello.php vnútri home / jharvard / vhosts / localhosts / html v predvolenom nastavení.
Ak existuje tento súbor potom bude Apache používať interpret PHP
spustiť PHP kód v hello.php.
Ak tento súbor neexistuje, Apache sa hodiť nebola nájdená chyba
alebo 404 chýb, ktoré ste pravdepodobne videli pri prehliadaní webu.
>> Poďme sa pozrieť na hello.php.
Vidíme tu, že hello.php generuje signál riadok výstupu.
Keď sme bežali hello.php na príkazovom riadku pomocou php hello.php
že výstup bol vytlačený na termináli.
Teraz, keď sme sa prístup k tomuto súboru cez URL vo webovom prehliadači
jeho výstup bude zaslaná na webovom prehliadači,
tak mieri do URL, http://localhost/hello.php,
môžeme vidieť výstup v našom webovom prehliadači.
>> Skúsme pridávať ďalšie printf našej hello world program.
Dobre, poďme sa vrátiť na webovom prehliadači, a vidieť to, čo máme.
Zaujímavé.
Skôr než tlač ďalší riadok na samostatnom riadku, ako by ste videli
v termináli, vyzerá to, že dostal smushed na rovnakom riadku
ako ostatné printf, tak možno nové linky nefungujú v PHP.
Nie tak celkom.
Pamätajte si, že HTML sa zvyčajne používa na vytváranie webových stránok
ktoré možno zobraziť pomocou webových prehliadačov.
Nielen, že je reťazec ahoj z PHP nie je platný HTML,
ale pripomenúť, že nemôžeme používať \ n znak v HTML
vytvoriť zalomenie riadku.
Namiesto toho, aby jednoducho výstupu výstupný reťazec Poďme platný HTML.
Pri použití odseku tagy každý z našich printf volaní
bude zobrazený na samostatnom riadku,
takže teraz, keď sme sa navštíviť URL ukazujúce na valid.php
http://localhost/valid.php
vidíme výstup, ktorý sme hľadali.
>> Teraz, keď sa pozrieme na zdrojový kód tejto stránky
môžeme vidieť, že sme sa pri pohľade na platný HTML,
ktorý sme vytvorili z PHP.
Uvedenie všetkých našich HTML vnútri printf volaní
sa samozrejme dostane naozaj otravné.
Našťastie môžeme ľahko miešať HTML a PHP
v rovnakom súbore. php.
Pamätajte si, že všetky naše PHP kód musí byť vložený do <? Php
a>.
Čokoľvek, čo nie je uzavretý v týchto oddeľovačov
bude jednoducho odoslať ako výstup do prehliadača
skôr než byť popravený.
To znamená, že môžeme urobiť niečo také.
Môžeme jednoducho napísať HTML vnútri nášho súboru. Php
a potom vložiť PHP bloky všade tam, kde by sme chceli nejaký php kód, ktorý bude vykonaný.
Tu sa definovať niekoľko premenných v hornej časti súboru,
a neskôr sme ich vytlačiť v našej HTML.
Teraz, keď sme sa navštíviť túto adresu URL, http://localhost/mixed.php
môžeme vidieť naše hodnotené PHP vnútri nášho HTML.
>> Teraz sa poďme pozrieť na to, ako môžeme odovzdať dáta
medzi našimi rôznymi PHP stránok.
Skôr než hovoriť
môžeme jednoducho povedať: <? = premenná by sme chceli vytlačiť, alebo,
a>.
Poďme sa teraz pozrieť na to, ako môžeme odovzdať dáta
medzi našimi rôznymi PHP stránok.
Jeden spôsob, ako môžeme urobiť, je zakódovanie informácie do URL stránky.
Pri prehliadaní webu, možno ste si všimli, že niektoré adresy URL
obsahovať? nasleduje reťazec obsahujúci tieto znaky a znaky rovná.
Táto časť URL je známy ako reťazec dotazu,
a to vám umožní efektívne odovzdať argumenty PHP skriptu.
Reťazec dotazu sa skladá z kľúča a hodnoty, rovnako ako tabuľky hash.
Znamienko rovná sa oddeľuje kľúč a zodpovedajúcu hodnotu
zatiaľ čo ampersand oddeliť pary.
URL, ktorá vyzerá ako http://localhost/get.php?foo=bar&baz=qux
má 2 páry kľúč hodnota v reťazci dotazu.
Kľúčom foo mapuje na hodnotu bare,
a kľúč Baz mapuje na hodnotu qux.
Môžeme ľahko prístup k týmto páry kľúčových hodnôt pomocou špeciálne premenné v PHP,
$ _GET.
$ _GET Je asociatívne pole
ktorý je automaticky naplnený dotazu reťazec dáta.
To znamená, že vzhľadom k tejto URL $ _GET ["foo"]
sa bude rovnať reťazec baru.
>> Poďme sa pozrieť na get.php vidieť $ _GET v akcii.
Tu sme použili funkciu nazvanú var_dump,
, Ktoré, ak je podávaný pole alebo iné premenné
bude tlačiť to pre nás.
Teraz, keď sme jednoducho prístup http://localhost/get.php
potom uvidíme, prázdne pole, pretože sme to za predpokladu, reťazec dotazu.
Ak sa nám to poskytnúť reťazec dotazu prostredníctvom http://localhost/get.php?foo=bar&baz=qux
potom môžeme vidieť, že premenná $ _GET bude obsahovať
dvojica kľúč hodnota reťazca dotazu je.
Ale čo keď nechceme, aby naše dáta vnútri URL stránky?
Pre veľké množstvo dát, môže to mať za následok niektoré docela škaredé adresy URL
ktoré sa chystáte, aby sa naše lesklé webové stránky vyzerať lame.
Môžeme namiesto toho dať reťazec dotazu do tela
z HTTP požiadaviek, skôr než URL žiadosť je.
Potom môžeme použiť $ _POST premenné PHP
prístup k pary kľúč hodnota.
Jeden spôsob, ako to urobiť, je pomocou formulára HTML.
Tu máme jednoduchý HTML formulár.
Všimnite si, že atribút spôsob tohto formulára je príspevok.
To hovorí prehliadači, aby dal páry kľúčových hodnôt vo formulári
do tela požiadavke, skôr než na adresu URL.
>> Ak by sme mali použiť hodnota sa pre tento atribút
potom dvojica kľúč hodnota vo formulári by namiesto toho ísť do reťazca dotazu,
takže sme ich mohli pristupovať cez $ _GET znova.
Atribút akcie formuláre hovorí prehliadači, kde pre odosielanie dát.
Tu naše dva vstupné prvky majú atribúty meno.
Hodnota atribútov názov bude slúžiť ako kľúče do našich dát,
a hodnoty textových vstupov budú hodnoty týchto kľúčov.
Teraz sa poďme pozrieť na post.php,
súbor, že táto forma je predkladá.
Rovnako ako sme to urobili predtým, my sme jednoducho zobrazovať obsah premennej $ _POST.
>> Poďme prejsť na formulári s http://localhost/form.php.
Teraz, keď sme sa predložiť formulár môžeme vidieť, že dáta z form.php
je odovzdaný post.php bez pridania reťazec dotazu na adresu URL.
Teraz sme videli dva rôzne spôsoby odovzdávania dát medzi stránkami PHP,
získať a zverejniť.
V našich príkladoch sme použili dva rôzne typy požiadaviek HTTP.
Ako sa dalo očakávať, požiadavka GET bol použitý, keď sme osídlené
Bola použitá $ _GET z URL, a žiadosť o príspevok
keď sme obývaný $ _POST.
Pri navrhovaní svojej webovej aplikácie je to dobré pravidlo použiť požiadavky GET
ak vaša aplikácia bude iba pre čítanie dát, a požaduje príspevok
ak vaša aplikácia bude zapisovať dáta.
Napríklad vyhľadávací dotaz čítať dáta z vašej aplikácie,
takže požiadavka GET zmysel.
Na druhú stranu, bude vaša aplikácia zapisovať dáta cez niečo ako registračný formulár,
o to požiadajú, pošta by dávalo väčší zmysel, a to je prehľad niektorých z techník
budeme používať v CS50 vytvoriť webové stránky pomocou PHP.
>> Volám sa Tommy, a to je CS50.
[CS50.TV]