[Powered by Google Translate] [PHP Web Development]
[Tommy MacWilliam]
[Dan huwa CS50.] [CS50.TV]
>> F'dan il-video, aħna ser jitgħallmu dwar l-użu PHP għall-iżvilupp web.
PHP hija lingwa scripting li jistgħu jintużaw biex jiġu implimentati
websajts fuq web server.
A web server huwa essenzjalment magna ddedikata biex tipprovdi kontenut
li jistgħu jiġu aċċessati permezz tal-internet.
Meta inti jinnaviga għal paġna web bħal Facebook.com / home.php
il-kodiċi fil-fajl imsejjaħ home.php li jgħix fuq web server Facebook x'imkien
għandhom jitwettqu fuq dak server.
Dan il-kodiċi x'aktarx se jiġġeneraw xi output
li mbagħad jintbagħtu mis-server
għall-web browser tiegħek.
Aħna ser tkun qed tuża l-appliance CS50 bħala web server.
Magna tiegħek probabbilment mhux se jkun kważi bħala qawwi l-magni
fil-Facebook data center, iżda inti ser ikollok ebda problema jużawh għall-iżvilupp web.
>> Meta aħna jinnavigaw URL bħal http://localhost/hello.php
aħna kkonfigurat l-apparat permezz ta 'applikazzjoni imsejjaħ il-server Apache HTTP
biex tfittex fajl imsejjaħ hello.php ġewwa tad-dar / jharvard / vhosts / localhosts / html b'kontumaċja.
Jekk jeżisti dan il-fajl mbagħad Apache ser tuża l-interpretu PHP
biex tesegwixxi l-kodiċi PHP fil hello.php.
Jekk dan il-fajl ma teżistix allura Apache se tarmi żball ma sabet
jew 404 żball, li inti ħadthom probabbilment jidhru filwaqt browsing il-Web.
>> Ejja tagħti ħarsa lejn hello.php.
Nistgħu naraw hawnhekk li hello.php jiġġenera linja tas-sinjal tal-output.
Meta aħna dam hello.php fil-linja tal-kmand permezz hello.php PHP
li l-produzzjoni kienet stampata l-terminal.
Issa, meta aħna jkollhom aċċess dan il-fajl permezz ta 'URL fil-web browser
output tiegħu jintbagħat lill-web browser,
hekk intestatura għall-URL, http://localhost/hello.php,
nistgħu naraw l-output fil-web browser tagħna.
>> Ejja tipprova żżid printf ieħor għall-programm tagħna dinja bonjour.
Okay, ejja ras lura lill-web browser u ara dak li għandna.
Interessanti.
Pjuttost milli istampar linja oħra fuq il-linja tagħha stess, kif inti raw
fil-terminal, jidher qisu ltqajna smushed fuq l-istess linja
bħala l-printf oħra, linji hekk forsi ġodda ma jaħdmux fil-PHP.
Mhux pjuttost.
Ftakar li HTML tipikament jintuża biex toħloq paġni tal-web
li tista 'tintwera mill web browsers.
Mhux biss huwa l-sekwenza bonjour minn PHP HTML mhix valida,
iżda tfakkar li aħna ma tistax tuża l-karattru \ n HTML
biex jinħoloq break linja.
Minflok sempliċiment outputting output valida HTML a let string ta.
Bl-użu paragrafu tags kull waħda ta 'sejħiet printf tagħna
se jintwerew fuq il-linja tagħha stess,
hekk issa meta aħna żur il tipponta URL li valid.php
http://localhost/valid.php
naraw l-output li aħna qed tfittex.
>> Issa, jekk aħna ħsieb is-sors ta 'din il-paġna
nistgħu naraw li aħna issa qed tħares lejn HTML validu,
li ħloqna mill PHP.
Tqegħid kollha ta HTML tagħna ġewwa sejħiet printf
huwa naturalment se jiksbu verament annoying.
Fortunatament nistgħu faċilment jitħalltu HTML u PHP
fl-istess fajl PHP..
Ftakar, kollha tal-kodiċi PHP tagħna għandu jkun magħluq ġewwa <? PHP
u?>.
Dak kollu li mhuwiex magħluq ġo dawn delimiters
sempliċiment se jintbagħtu bħala output lill-browser
aktar milli jkunu esegwiti.
Dan ifisser li nistgħu nagħmlu xi ħaġa bħal din.
Nistgħu sempliċement jiktbu HTML ġewwa ta '. Fajl PHP tagħna
u mbagħad daħħal blokki PHP fejn aħna tixtieq xi kodiċi PHP jiġu eżegwiti.
Hawnhekk aħna jiddefinixxu ftit varjabbli fil-quċċata tal-fajl,
u wara aħna tipprintjahom ġewwa tal HTML tagħna.
Issa jekk aħna żjara dan il-URL, http://localhost/mixed.php
nistgħu naraw PHP evalwati tagħna ġewwa tal HTML tagħna.
>> Issa ejja tagħti ħarsa lejn kif nistgħu jgħaddu data
fost paġni tagħna PHP varji.
Pjuttost milli qal
nistgħu sempliċement jgħidu <? = il-fattur aħna tixtieq li jistampaw, jew,
u?>.
Ejja issa tagħti ħarsa lejn kif nistgħu jgħaddu data
fost paġni tagħna PHP varji.
Mod wieħed nistgħu nagħmlu dan huwa li encode informazzjoni fil-URL ta 'paġna.
Meta browsing il-Web, inti jista 'jkollok ndunat li xi URLs
fihom? segwit minn sensiela fih ampersands u sinjali ugwali.
Din il-parti tal-URL huwa magħruf bħala l-sekwenza mistoqsija,
u dan jippermetti li inti tgħaddi b'mod effettiv argumenti sabiex iskrittura PHP tiegħek.
L-sekwenza mistoqsija tikkonsisti pari ewlenin ta 'valur, bħad tabella hash.
Sinjal ugwali jifred ewlieni u l-valur korrispondenti
filwaqt ampersands pari separati.
A URL li qisu http://localhost/get.php?foo=bar&baz=qux
għandu 2 pari valur ewlenin fil-sekwenza mistoqsija.
Il foo ċavetta mapep għall-bar-valur,
u l baz muftieħ mapep għall-QUX valur.
Nistgħu faċilment aċċess dawn il-pari b'valur ewlenin li jużaw varjabbli speċjali PHP,
$ _GET.
$ _GET Huwa firxa assoċjattiva
li huwa awtomatikament popolati data string query.
Dan ifisser li minħabba dan il-URL $ _GET ["foo"]
se jkun ugwali għall-bar string.
>> Ejja tagħti ħarsa lejn get.php biex tara $ _GET fl-azzjoni.
Hawnhekk aħna qed tuża funzjoni msejħa var_dump,
li meta tingħata l-firxa jew varjabbli oħra
se print it out għalina.
Issa jekk aħna sempliċiment aċċess http://localhost/get.php
allura aħna ser tara l-firxa vojta għaliex aħna ma pprovdewx string query.
Jekk aħna ma jipprovdu string query via http://localhost/get.php?foo=bar&baz=qux
allura nistgħu naraw li l-varjabbli $ _GET se jkun fih
pari valur ewlenin tal-string query'S.
Imma dak jekk aħna ma jridux jitqiegħdu data tagħna ġewwa l-URL tal-paġna?
Għal ammonti kbar ta 'data, dan jista' jirriżulta f'xi URLs pretty ikrah
li ser jagħmlu tleqq ħarsa website lame tagħna.
Nistgħu minflok tpoġġi l-string query fil-ġisem
tat-talbiet HTTP minflok URL it-talba tal.
Imbagħad nistgħu nużaw $ _POST varjabbli PHP
għall-aċċess għall-pari b'valur ewlenin.
Mod wieħed biex dan isir huwa permezz ta 'formola HTML.
Hawnhekk għandna formola HTML sempliċi.
Avviż hawnhekk li l-metodu attribut ta 'din il-formola hija post.
Dan jirrakkonta l-browser li tqiegħed pari valur ewlenin fil-formola
fil-korp tat-talba minflok l-URL.
>> Jekk konna li jużaw il-valur tikseb għal dan l-attribut
imbagħad pari valur ewlenin fil-formola kieku minflok tmur fis-sekwenza mistoqsija,
hekk nistgħu jkollhom aċċess għalihom permezz $ _GET ġdid.
L-attribut azzjoni tal-formola jirrakkonta l-browser fejn jibgħat l-informazzjoni.
Hawnhekk elementi input 2 tagħna jkollhom attributi isem.
Il-valur ta 'l-attributi isem se jservu bħala ċwievet f'dejta tagħna,
u l-valuri ta 'l-inputs test se jsiru valuri ta' dawk il-keys.
Issa ejja tagħti ħarsa lejn post.php,
il-file li din il-formola sottomissjoni lill.
Eżatt bħal għamilna qabel, aħna qed sempliċement juri l-kontenut tal-varjabbli $ _POST.
>> Ejja jinnaviga-formola bl http://localhost/form.php.
Issa meta aħna jippreżentaw il-formola nistgħu naraw li d-data mill form.php
jiġi mgħoddi lis post.php mingħajr jpoġġu string query għall-URL.
Issa Rajna 2 modi differenti li jgħaddu data bejn paġni PHP,
jiksbu u post.
Fl-eżempji tagħna, użajna 2 tipi differenti ta 'talbiet HTTP.
Kif inti tista 'tistenna, talba get kien użat meta aħna popolati
$ _GET Mill-URL, u talba post intuża
meta aħna popolati $ _POST.
Fit-tfassil apps web tiegħek huwa istat tajjeb ta 'thumb għall-użu talbiet nikseb-
meta app tiegħek ser jinqara biss data, u t-talbiet post
meta app tiegħek se jikteb data.
Per eżempju, tfittxija query se jaqra data mill app tiegħek,
hekk talba get jagħmel sens.
Min-naħa l-oħra, app tiegħek se jikteb data via xi ħaġa bħal formola ta 'reġistrazzjoni,
hekk talba post jagħmel aktar sens, u li l-ħarsa ġenerali ta 'wħud mill-tekniki
aħna ser tkun qed tuża fil CS50 biex joħolqu websajts jużaw PHP.
>> Jisimni Tommy, u dan huwa CS50.
[CS50.TV]