[Powered by Google Translate] [PHP Maendeleo ya Mtandao]
[Tommy MacWilliam]
[Hii ni CS50.] [CS50.TV]
>> Katika video hii, tutaweza kujifunza kuhusu PHP kwa ajili ya maendeleo ya mtandao.
PHP ni lugha scripting ambayo inaweza kutumika kutekeleza
tovuti kwenye mtandao wa kompyuta.
server mtandao kimsingi ni mashine kujitolea na kutoa maudhui
ambazo zinaweza kupatikana kupitia mtandao.
Wakati Nenda kwenye ukurasa wa mtandao kama Facebook.com / home.php
code katika faili iitwayo home.php ambayo anaishi katika Picha mtandao wa kompyuta mahali fulani
itakuwa imetekelezwa juu ya kwamba server.
Kanuni hii kuna uwezekano kuzalisha baadhi ya pato
ambayo kwa upande kutumwa kutoka server
mtandao browser yako.
Tutaweza kutumia CS50 appliance kama mtandao wa kompyuta.
Mashine yako pengine si kuwa karibu kama nguvu kama mashine
katika kituo cha data Facebook, lakini itabidi hakuna tatizo kutumia kwa ajili ya maendeleo ya mtandao.
>> Wakati sisi navigate kwa URL kama http://localhost/hello.php
sisi configure appliance kupitia maombi ya kuitwa server Apache HTTP
kuangalia kwa faili inayoitwa hello.php ndani ya nyumba / jharvard / vhosts / localhosts / html by default.
Kama faili kwamba ipo kisha Apache kutumia PHP mkalimani
kutekeleza kanuni PHP katika hello.php.
Kama faili kwamba haipo kisha Apache kutupa makosa si kupatikana
au kosa 404, ambayo umefanya pengine kuonekana wakati kuvinjari mtandao.
>> Hebu tuangalie hello.php.
Tunaweza kuona hapa kwamba hello.php inazalisha line ishara ya pato.
Wakati sisi mbio hello.php katika mstari amri kupitia php hello.php
pato kwamba kuchapishwa kwa wastaafu.
Sasa, wakati sisi kupata faili hii kupitia URL katika kivinjari
matokeo yake watapelekwa mtandao browser,
hivyo viongozi wa URL, http://localhost/hello.php,
tunaweza kuona pato katika mtandao wetu browser.
>> Hebu jaribu kuongeza printf mwingine hujambo dunia programu yetu.
Okay, hebu kichwa nyuma kivinjari na kuona nini tuna.
Kuvutia.
Badala ya uchapishaji line mwingine juu ya mstari yake mwenyewe, kama wewe ingekuwa kuonekana
katika terminal, inaonekana kama got smushed kwenye mstari huo
kama printf nyingine, mistari hivyo labda mpya kufanya kazi katika PHP.
Kabisa.
Kumbuka kwamba HTML ni kawaida kutumika kujenga kurasa za mtandao
ambayo yanaweza kuonyeshwa na browsers mtandao.
Si tu ni kamba Habari kutoka php HTML si halali,
lakini kukumbuka kwamba hatuwezi kutumia \ n tabia katika HTML
kujenga line ya mapumziko.
Badala ya tu outputting pato HTML string hebu halali.
Kwa kutumia vitambulisho aya kila ya simu yetu printf
kuonyeshwa kwenye line yake mwenyewe,
hivyo sasa wakati sisi kutembelea URL akizungumzia valid.php
http://localhost/valid.php
tunaona pato kwamba sisi ni kuangalia kwa.
>> Sasa, kama sisi kuona chanzo cha ukurasa hii
tunaweza kuona kwamba sisi ni sasa kuangalia HTML halali,
ambayo sisi iliyoundwa kutoka kwa PHP.
Kuweka yote ya HTML yetu ndani ya wito printf
ni bila shaka kwenda kupata kweli annoying.
Kwa bahati tunaweza kwa urahisi kuchanganya HTML na PHP
katika huo. php file.
Kumbuka, yote ya PHP code yetu lazima iliyoambatanishwa ndani ya <? Php
na?>.
Kitu chochote ambacho si iliyoambatanishwa ndani ya delimiters haya
mapenzi tu kutumwa kama pato browser
badala ya kunyongwa.
Hiyo ina maana tunaweza kufanya kitu kama hiki.
Tunaweza tu kuandika HTML ndani ya php yetu file.
na kisha kuingiza PHP vitalu popote tunatarajia baadhi ya kanuni php wauawe.
Hapa sisi kufafanua vigezo chache juu ya faili,
na baadaye sisi magazeti yao nje ya ndani ya HTML yetu.
Sasa kama sisi kutembelea URL huu, http://localhost/mixed.php
tunaweza kuona PHP yetu tathmini ndani ya HTML yetu.
>> Sasa hebu tuangalie ni jinsi gani tunaweza kupita data
kati ya kurasa zetu mbalimbali PHP.
Badala ya kusema
tunaweza tu kusema <? = variable tunatarajia magazeti, au,
na?>.
Hebu sasa tuangalie ni jinsi gani tunaweza kupita data
kati ya kurasa zetu mbalimbali PHP.
Njia moja tunaweza kufanya hivyo ni encode habari katika URL ya ukurasa.
Wakati kuvinjari mtandao, unaweza kuwa na niliona kwamba baadhi ya URL
vyenye? ikifuatiwa na kamba zenye ampersands na ishara sawa.
Hii ni sehemu ya URL inajulikana kama kamba swala,
na hii inaruhusu kwa ufanisi kupita hoja ya PHP yako script.
kamba swala lina thamani jozi muhimu, kama vile meza hash.
ishara sawa hutenganisha muhimu na thamani yake sambamba
wakati ampersands tofauti jozi.
URL kwamba inaonekana kama http://localhost/get.php?foo=bar&baz=qux
ina 2 jozi thamani muhimu katika kamba swala.
foo muhimu ramani kwa bar thamani,
na bazi muhimu ramani kwa thamani qux.
Tunaweza kwa urahisi kupata huduma hizi za thamani jozi muhimu kutumia variable maalum katika PHP,
$ _GET.
$ _GET Ni safu associative
kwamba ni moja kwa moja wakazi na data kamba swala.
Hiyo ina maana kuwa kutokana na hii URL $ _GET ["foo"]
itakuwa sawa na kamba bar.
>> Hebu tuangalie get.php kuona $ _GET katika action.
Hapa sisi ni kutumia kazi kuitwa var_dump,
ambayo wakipewa safu au kutofautiana nyingine
magazeti ni kwa ajili yetu.
Sasa kama sisi tu kupata http://localhost/get.php
kisha tutaweza kuona safu tupu kwa sababu sisi si zinazotolewa kamba swala.
Kama sisi kufanya kutoa kamba hoja kupitia http://localhost/get.php?foo=bar&baz=qux
kisha tunaweza kuona kwamba $ _GET variable vyenye
kamba swala muhimu ya thamani jozi.
Lakini nini kama hatutaki kuweka data yetu ndani ya URL ya ukurasa?
Kwa kiasi kikubwa cha data, hii inaweza kusababisha baadhi URLs pretty ugly
kwamba ni kwenda kufanya shiny wetu tovuti kuangalia vilema.
Tunaweza badala yake kuweka kamba swala ndani ya mwili
ya maombi HTTP badala ya ombi ya URL.
Basi tunaweza kutumia PHP ya $ _POST variable
kupata thamani jozi muhimu.
Njia moja ya kufanya hili ni kupitia fomu HTML.
Hapa tuna rahisi HTML aina.
Taarifa hapa kwamba njia sifa ya aina hii ni baada ya.
Hii inaonyesha browser kuweka aina ya thamani jozi muhimu
ndani ya mwili wa ombi badala ya URL.
>> Kama tulikuwa na kutumia thamani kwa ajili ya kupata sifa hii
kisha aina ya thamani jozi muhimu badala yake kwenda katika kamba swala,
hivyo tunaweza kupata yao kupitia $ _GET tena.
hatua sifa ya aina anaelezea kisakuzi ambapo kutuma data.
Hapa wetu 2 pembejeo mambo na sifa jina.
thamani ya sifa jina kutumika kama funguo ndani ya data yetu,
na maadili ya pembejeo Nakala itakuwa maadili ya funguo hizo.
Sasa hebu tuangalie post.php,
file kwamba fomu hii ni kuwasilisha kwa.
Tu kama sisi alifanya mbele, sisi ni tu kwa kuonyesha yaliyomo ya $ _POST kutofautiana.
>> Hebu navigate kwa fomu kwa http://localhost/form.php.
Sasa wakati sisi kuwasilisha fomu tunaweza kuona kwamba data kutoka form.php
ni kupita kwa post.php bila appending kamba swala URL.
Sasa tumeona njia 2 mbalimbali ya kupita data kati ya kurasa PHP,
kupata na baada ya.
Katika mifano yetu, sisi kutumika 2 aina mbalimbali za maombi HTTP.
Kama unaweza kutarajia, kupata ombi ilitumika wakati sisi wakazi
$ _GET Kutoka URL, na ombi baada ilikuwa kutumiwa
wakati sisi wakazi $ _POST.
Katika kubuni programu yako ya mtandao ni utawala bora wa thumb kutumia maombi kupata
wakati programu yako tu kusoma data, na maombi baada ya
wakati programu yako kuandika data.
Kwa mfano, search query kusoma data kutoka programu ya yako,
hivyo kupata ombi hufanya akili.
Kwa upande mwingine, programu yako kuandika data kupitia kitu kama fomu ya usajili,
hivyo ombi baada ingekuwa kufanya maana zaidi, na kwamba maelezo ya jumla ya baadhi ya mbinu
tutaweza kutumia katika CS50 kuunda tovuti kwa kutumia PHP.
>> Jina langu ni Tommy, na hii ni CS50.
[CS50.TV]