[Powered by Google Translate] [PHP Web Development]
[Tommy MacWilliam]
[To je CS50.] [CS50.TV]
>> V tomto videu se budeme učit o použití PHP pro vývoj webových aplikací.
PHP je skriptovací jazyk, který může být použit k provedení
webové stránky na webovém serveru.
Webový server je v podstatě stroj zaměřuje na poskytování obsahu
které mohou být přístupné přes internet.
Když přejdete na webovou stránku, jako je Facebook.com / home.php
kód v souboru s názvem home.php která žije na webovém serveru Facebook někde
budou provedeny na tomto serveru.
Tento kód bude pravděpodobně vytvářet nějaký výstup
které se následně odeslané ze serveru
se ve Vašem webovém prohlížeči.
Budeme používat CS50 zařízení jako webový server.
Váš přístroj pravděpodobně nebude zdaleka tak silný jako stroje
v Facebook datovém centru, ale budete mít žádný problém používat jej pro vývoj webových aplikací.
>> Když budeme navigovat na adresu URL jako http://localhost/hello.php
jsme se konfigurovat zařízení prostřednictvím aplikace zvané server Apache HTTP
hledat soubor s názvem hello.php uvnitř home / jharvard / vhosts / localhosts / html ve výchozím nastavení.
Pokud existuje tento soubor pak bude Apache používat interpret PHP
spustit PHP kód v hello.php.
Pokud tento soubor neexistuje, Apache se hodit nebyla nalezena chyba
nebo 404 chyb, které jste pravděpodobně viděli při procházení webu.
>> Pojďme se podívat na hello.php.
Vidíme zde, že hello.php generuje signál řádek výstupu.
Když jsme běželi hello.php na příkazovém řádku pomocí php hello.php
že výstup byl vytištěn na terminálu.
Teď, když jsme se přístup k tomuto souboru přes URL ve webovém prohlížeči
jeho výstup bude zaslána na webovém prohlížeči,
tak míří do URL, http://localhost/hello.php,
můžeme vidět výstup v našem webovém prohlížeči.
>> Zkusme přidávat další printf naší hello world program.
Dobře, pojďme se vrátit na webovém prohlížeči, a vidět to, co máme.
Zajímavé.
Spíše než tisk další řádek na samostatném řádku, jako byste viděli
v terminálu, vypadá to, že dostal smushed na stejném řádku
jako ostatní printf, tak možná nové linky nefungují v PHP.
Ne tak docela.
Pamatujte si, že HTML se obvykle používá k vytváření webových stránek
které lze zobrazit pomocí webových prohlížečů.
Nejen, že je řetězec ahoj z PHP není platný HTML,
ale připomenout, že nemůžeme používat \ n znak v HTML
vytvořit zalomení řádku.
Místo toho, aby prostě výstupu výstupní řetězec Pojďme platný HTML.
Při použití odstavce tagy každý z našich printf volání
bude zobrazen na samostatném řádku,
takže teď, když jsme se navštívit URL ukazující na valid.php
http://localhost/valid.php
vidíme výstup, který jsme hledali.
>> Teď, když se podíváme na zdrojový kód této stránky
můžeme vidět, že jsme se při pohledu na platný HTML,
který jsme vytvořili z PHP.
Uvedení všech našich HTML uvnitř printf volání
se samozřejmě dostane opravdu otravné.
Naštěstí můžeme snadno míchat HTML a PHP
ve stejném souboru. php.
Pamatujte si, že všechny naše PHP kód musí být vložen do <? Php
a>.
Cokoliv, co není uzavřen v těchto oddělovačů
bude jednoduše odeslat jako výstup do prohlížeče
spíše než být popraven.
To znamená, že můžeme udělat něco takového.
Můžeme jednoduše napsat HTML uvnitř našeho souboru. Php
a pak vložit PHP bloky všude tam, kde bychom chtěli nějaký php kód, který bude vykonán.
Zde se definovat několik proměnných v horní části souboru,
a později jsme je vytisknout v naší HTML.
Nyní, když jsme se navštívit tuto adresu URL, http://localhost/mixed.php
můžeme vidět naše hodnoceny PHP uvnitř našeho HTML.
>> Nyní se pojďme podívat na to, jak můžeme předat data
mezi našimi různými PHP stránek.
Spíše než říkat
můžeme jednoduše říci: <? = proměnná bychom chtěli vytisknout, nebo,
a>.
Pojďme se nyní podívat na to, jak můžeme předat data
mezi našimi různými PHP stránek.
Jeden způsob, jak můžeme udělat, je zakódování informace do URL stránky.
Při procházení webu, možná jste si všimli, že některé adresy URL
obsahovat? následuje řetězec obsahující tyto znaky a rovnítka.
Tato část URL je znám jako řetězec dotazu,
a to vám umožní efektivně předat argumenty PHP skriptu.
Řetězec dotazu se skládá z klíče a hodnoty, stejně jako tabulky hash.
Znaménko rovná se odděluje klíč a odpovídající hodnotu
zatímco ampersandy oddělit páry.
URL, která vypadá jako http://localhost/get.php?foo=bar&baz=qux
má 2 páry klíč hodnota v řetězci dotazu.
Klíčem foo mapuje na hodnotu baru,
a klíč Baz mapuje na hodnotu qux.
Můžeme snadno přístup k těmto páry klíčových hodnot pomocí speciální proměnné v PHP,
$ _GET.
$ _GET Je asociativní pole
který je automaticky naplněn dotazu řetězec data.
To znamená, že vzhledem k této URL $ _GET ["foo"]
se bude rovnat řetězec baru.
>> Pojďme se podívat na get.php vidět $ _GET v akci.
Zde jsme použili funkci nazvanou var_dump,
, které, pokud je podáván pole nebo jiné proměnné
bude tisknout to pro nás.
Nyní, když jsme prostě přístup http://localhost/get.php
pak uvidíme, prázdné pole, protože jsme to za předpokladu, řetězec dotazu.
Pokud se nám to poskytnout řetězec dotazu prostřednictvím http://localhost/get.php?foo=bar&baz=qux
pak můžeme vidět, že proměnná $ _GET bude obsahovat
dvojice klíč hodnota řetězce dotazu je.
Ale co když nechceme, aby naše data uvnitř URL stránky?
Pro velké množství dat, může to mít za následek některé docela ošklivé adresy URL
které se chystáte, aby se naše lesklé webové stránky vypadat lame.
Můžeme místo toho dát řetězec dotazu do těla
z HTTP požadavků, spíše než URL žádost je.
Pak můžeme použít $ _POST proměnné PHP
přístup k páry klíč hodnota.
Jeden způsob, jak to udělat, je pomocí formuláře HTML.
Zde máme jednoduchý HTML formulář.
Všimněte si, že atribut způsob tohoto formuláře je příspěvek.
To říká prohlížeči, aby dal páry klíčových hodnot ve formuláři
do těla požadavku, spíše než na adresu URL.
>> Pokud bychom měli použít hodnota se pro tento atribut
pak dvojice klíč hodnota ve formuláři by místo toho jít do řetězce dotazu,
takže jsme je mohli přistupovat přes $ _GET znovu.
Atribut akce formuláře říká prohlížeči, kde pro odesílání dat.
Zde naše dva vstupní prvky mají atributy jméno.
Hodnota atributů název bude sloužit jako klíče do našich dat,
a hodnoty textových vstupů budou hodnoty těchto klíčů.
Nyní se pojďme podívat na post.php,
soubor, že tato forma je předkládá.
Stejně jako jsme to udělali předtím, my jsme prostě zobrazovat obsah proměnné $ _POST.
>> Pojďme přejít na formuláři s http://localhost/form.php.
Teď, když jsme se předložit formulář můžeme vidět, že data z form.php
je předán post.php bez přidání řetězec dotazu na adresu URL.
Nyní jsme viděli dva různé způsoby předávání dat mezi stránkami PHP,
získat a zveřejnit.
V našich příkladech jsme použili dva různé typy požadavků HTTP.
Jak se dalo očekávat, požadavek GET byl použit, když jsme osídlené
Byla použita $ _GET z URL, a žádost o příspěvek
když jsme obydlený $ _POST.
Při navrhování své webové aplikace je to dobré pravidlo použít požadavky GET
pokud vaše aplikace bude pouze pro čtení dat, a požaduje příspěvek
pokud vaše aplikace bude zapisovat data.
Například vyhledávací dotaz číst data z vaší aplikace,
takže požadavek GET smysl.
Na druhou stranu, bude vaše aplikace zapisovat data přes něco jako registrační formulář,
o to požádají, pošta by dávalo větší smysl, a to je přehled některých z technik
budeme používat v CS50 vytvořit webové stránky pomocí PHP.
>> Jmenuji se Tommy, a to je CS50.
[CS50.TV]