1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Maendeleo ya Mtandao] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Hii ni CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Katika video hii, tutaweza kujifunza kuhusu PHP kwa ajili ya maendeleo ya mtandao. 5 00:00:11,000 --> 00:00:14,000 PHP ni lugha scripting ambayo inaweza kutumika kutekeleza 6 00:00:14,000 --> 00:00:17,000 tovuti kwenye mtandao wa kompyuta. 7 00:00:17,000 --> 00:00:21,000 server mtandao kimsingi ni mashine kujitolea na kutoa maudhui 8 00:00:21,000 --> 00:00:24,000 ambazo zinaweza kupatikana kupitia mtandao. 9 00:00:24,000 --> 00:00:30,000 Wakati Nenda kwenye ukurasa wa mtandao kama Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 code katika faili iitwayo home.php ambayo anaishi katika Picha mtandao wa kompyuta mahali fulani 11 00:00:35,000 --> 00:00:38,000 itakuwa imetekelezwa juu ya kwamba server. 12 00:00:38,000 --> 00:00:41,000 Kanuni hii kuna uwezekano kuzalisha baadhi ya pato 13 00:00:41,000 --> 00:00:43,000 ambayo kwa upande kutumwa kutoka server 14 00:00:43,000 --> 00:00:45,000 mtandao browser yako. 15 00:00:45,000 --> 00:00:49,000 Tutaweza kutumia CS50 appliance kama mtandao wa kompyuta. 16 00:00:49,000 --> 00:00:51,000 Mashine yako pengine si kuwa karibu kama nguvu kama mashine 17 00:00:51,000 --> 00:00:57,000 katika kituo cha data Facebook, lakini itabidi hakuna tatizo kutumia kwa ajili ya maendeleo ya mtandao. 18 00:00:57,000 --> 00:01:05,000 >> Wakati sisi navigate kwa URL kama http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 sisi configure appliance kupitia maombi ya kuitwa server Apache HTTP 20 00:01:10,000 --> 00:01:19,000 kuangalia kwa faili inayoitwa hello.php ndani ya nyumba / jharvard / vhosts / localhosts / html by default. 21 00:01:19,000 --> 00:01:23,000 Kama faili kwamba ipo kisha Apache kutumia PHP mkalimani 22 00:01:23,000 --> 00:01:27,000 kutekeleza kanuni PHP katika hello.php. 23 00:01:27,000 --> 00:01:31,000 Kama faili kwamba haipo kisha Apache kutupa makosa si kupatikana 24 00:01:31,000 --> 00:01:36,000 au kosa 404, ambayo umefanya pengine kuonekana wakati kuvinjari mtandao. 25 00:01:36,000 --> 00:01:40,000 >> Hebu tuangalie hello.php. 26 00:01:40,000 --> 00:01:45,000 Tunaweza kuona hapa kwamba hello.php inazalisha line ishara ya pato. 27 00:01:45,000 --> 00:01:51,000 Wakati sisi mbio hello.php katika mstari amri kupitia php hello.php 28 00:01:51,000 --> 00:01:54,000 pato kwamba kuchapishwa kwa wastaafu. 29 00:01:54,000 --> 00:01:58,000 Sasa, wakati sisi kupata faili hii kupitia URL katika kivinjari 30 00:01:58,000 --> 00:02:01,000 matokeo yake watapelekwa mtandao browser, 31 00:02:01,000 --> 00:02:09,000 hivyo viongozi wa URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 tunaweza kuona pato katika mtandao wetu browser. 33 00:02:12,000 --> 00:02:17,000 >> Hebu jaribu kuongeza printf mwingine hujambo dunia programu yetu. 34 00:02:17,000 --> 00:02:23,000 Okay, hebu kichwa nyuma kivinjari na kuona nini tuna. 35 00:02:23,000 --> 00:02:25,000 Kuvutia. 36 00:02:25,000 --> 00:02:28,000 Badala ya uchapishaji line mwingine juu ya mstari yake mwenyewe, kama wewe ingekuwa kuonekana 37 00:02:28,000 --> 00:02:32,000 katika terminal, inaonekana kama got smushed kwenye mstari huo 38 00:02:32,000 --> 00:02:36,000 kama printf nyingine, mistari hivyo labda mpya kufanya kazi katika PHP. 39 00:02:36,000 --> 00:02:38,000 Kabisa. 40 00:02:38,000 --> 00:02:41,000 Kumbuka kwamba HTML ni kawaida kutumika kujenga kurasa za mtandao 41 00:02:41,000 --> 00:02:44,000 ambayo yanaweza kuonyeshwa na browsers mtandao. 42 00:02:44,000 --> 00:02:49,000 Si tu ni kamba Habari kutoka php HTML si halali, 43 00:02:49,000 --> 00:02:53,000 lakini kukumbuka kwamba hatuwezi kutumia \ n tabia katika HTML 44 00:02:53,000 --> 00:02:55,000 kujenga line ya mapumziko. 45 00:02:55,000 --> 00:03:01,000 Badala ya tu outputting pato HTML string hebu halali. 46 00:03:01,000 --> 00:03:04,000 Kwa kutumia vitambulisho aya kila ya simu yetu printf 47 00:03:04,000 --> 00:03:07,000 kuonyeshwa kwenye line yake mwenyewe, 48 00:03:07,000 --> 00:03:11,000 hivyo sasa wakati sisi kutembelea URL akizungumzia valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 tunaona pato kwamba sisi ni kuangalia kwa. 51 00:03:19,000 --> 00:03:22,000 >> Sasa, kama sisi kuona chanzo cha ukurasa hii 52 00:03:22,000 --> 00:03:25,000 tunaweza kuona kwamba sisi ni sasa kuangalia HTML halali, 53 00:03:25,000 --> 00:03:28,000 ambayo sisi iliyoundwa kutoka kwa PHP. 54 00:03:28,000 --> 00:03:31,000 Kuweka yote ya HTML yetu ndani ya wito printf 55 00:03:31,000 --> 00:03:34,000 ni bila shaka kwenda kupata kweli annoying. 56 00:03:34,000 --> 00:03:38,000 Kwa bahati tunaweza kwa urahisi kuchanganya HTML na PHP 57 00:03:38,000 --> 00:03:41,000 katika huo. php file. 58 00:03:41,000 --> 00:03:47,000 Kumbuka, yote ya PHP code yetu lazima iliyoambatanishwa ndani ya 00:03:49,000 na?>. 60 00:03:49,000 --> 00:03:52,000 Kitu chochote ambacho si iliyoambatanishwa ndani ya delimiters haya 61 00:03:52,000 --> 00:03:55,000 mapenzi tu kutumwa kama pato browser 62 00:03:55,000 --> 00:03:57,000 badala ya kunyongwa. 63 00:03:57,000 --> 00:04:01,000 Hiyo ina maana tunaweza kufanya kitu kama hiki. 64 00:04:01,000 --> 00:04:05,000 Tunaweza tu kuandika HTML ndani ya php yetu file. 65 00:04:05,000 --> 00:04:11,000 na kisha kuingiza PHP vitalu popote tunatarajia baadhi ya kanuni php wauawe. 66 00:04:11,000 --> 00:04:15,000 Hapa sisi kufafanua vigezo chache juu ya faili, 67 00:04:15,000 --> 00:04:19,000 na baadaye sisi magazeti yao nje ya ndani ya HTML yetu. 68 00:04:19,000 --> 00:04:27,000 Sasa kama sisi kutembelea URL huu, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 tunaweza kuona PHP yetu tathmini ndani ya HTML yetu. 70 00:04:33,000 --> 00:04:36,000 >> Sasa hebu tuangalie ni jinsi gani tunaweza kupita data 71 00:04:36,000 --> 00:04:39,000 kati ya kurasa zetu mbalimbali PHP. 72 00:04:39,000 --> 00:04:51,000 Badala ya kusema 73 00:04:51,000 --> 00:04:58,000 tunaweza tu kusema 00:05:01,000 na?>. 75 00:05:01,000 --> 00:05:03,000 Hebu sasa tuangalie ni jinsi gani tunaweza kupita data 76 00:05:03,000 --> 00:05:06,000 kati ya kurasa zetu mbalimbali PHP. 77 00:05:06,000 --> 00:05:11,000 Njia moja tunaweza kufanya hivyo ni encode habari katika URL ya ukurasa. 78 00:05:11,000 --> 00:05:14,000 Wakati kuvinjari mtandao, unaweza kuwa na niliona kwamba baadhi ya URL 79 00:05:14,000 --> 00:05:20,000 vyenye? ikifuatiwa na kamba zenye ampersands na ishara sawa. 80 00:05:20,000 --> 00:05:23,000 Hii ni sehemu ya URL inajulikana kama kamba swala, 81 00:05:23,000 --> 00:05:29,000 na hii inaruhusu kwa ufanisi kupita hoja ya PHP yako script. 82 00:05:29,000 --> 00:05:34,000 kamba swala lina thamani jozi muhimu, kama vile meza hash. 83 00:05:34,000 --> 00:05:38,000 ishara sawa hutenganisha muhimu na thamani yake sambamba 84 00:05:38,000 --> 00:05:41,000 wakati ampersands tofauti jozi. 85 00:05:41,000 --> 00:06:05,000 URL kwamba inaonekana kama http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 ina 2 jozi thamani muhimu katika kamba swala. 87 00:06:09,000 --> 00:06:12,000 foo muhimu ramani kwa bar thamani, 88 00:06:12,000 --> 00:06:16,000 na bazi muhimu ramani kwa thamani qux. 89 00:06:16,000 --> 00:06:23,000 Tunaweza kwa urahisi kupata huduma hizi za thamani jozi muhimu kutumia variable maalum katika PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Ni safu associative 92 00:06:32,000 --> 00:06:36,000 kwamba ni moja kwa moja wakazi na data kamba swala. 93 00:06:36,000 --> 00:06:46,000 Hiyo ina maana kuwa kutokana na hii URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 itakuwa sawa na kamba bar. 95 00:06:49,000 --> 00:06:56,000 >> Hebu tuangalie get.php kuona $ _GET katika action. 96 00:06:56,000 --> 00:07:00,000 Hapa sisi ni kutumia kazi kuitwa var_dump, 97 00:07:00,000 --> 00:07:03,000 ambayo wakipewa safu au kutofautiana nyingine 98 00:07:03,000 --> 00:07:05,000 magazeti ni kwa ajili yetu. 99 00:07:05,000 --> 00:07:12,000 Sasa kama sisi tu kupata http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 kisha tutaweza kuona safu tupu kwa sababu sisi si zinazotolewa kamba swala. 101 00:07:17,000 --> 00:07:29,000 Kama sisi kufanya kutoa kamba hoja kupitia http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 kisha tunaweza kuona kwamba $ _GET variable vyenye 103 00:07:34,000 --> 00:07:37,000 kamba swala muhimu ya thamani jozi. 104 00:07:37,000 --> 00:07:42,000 Lakini nini kama hatutaki kuweka data yetu ndani ya URL ya ukurasa? 105 00:07:42,000 --> 00:07:46,000 Kwa kiasi kikubwa cha data, hii inaweza kusababisha baadhi URLs pretty ugly 106 00:07:46,000 --> 00:07:49,000 kwamba ni kwenda kufanya shiny wetu tovuti kuangalia vilema. 107 00:07:49,000 --> 00:07:52,000 Tunaweza badala yake kuweka kamba swala ndani ya mwili 108 00:07:52,000 --> 00:07:57,000 ya maombi HTTP badala ya ombi ya URL. 109 00:07:57,000 --> 00:08:02,000 Basi tunaweza kutumia PHP ya $ _POST variable 110 00:08:02,000 --> 00:08:05,000 kupata thamani jozi muhimu. 111 00:08:05,000 --> 00:08:10,000 Njia moja ya kufanya hili ni kupitia fomu HTML. 112 00:08:10,000 --> 00:08:13,000 Hapa tuna rahisi HTML aina. 113 00:08:13,000 --> 00:08:17,000 Taarifa hapa kwamba njia sifa ya aina hii ni baada ya. 114 00:08:17,000 --> 00:08:21,000 Hii inaonyesha browser kuweka aina ya thamani jozi muhimu 115 00:08:21,000 --> 00:08:25,000 ndani ya mwili wa ombi badala ya URL. 116 00:08:25,000 --> 00:08:28,000 >> Kama tulikuwa na kutumia thamani kwa ajili ya kupata sifa hii 117 00:08:28,000 --> 00:08:32,000 kisha aina ya thamani jozi muhimu badala yake kwenda katika kamba swala, 118 00:08:32,000 --> 00:08:36,000 hivyo tunaweza kupata yao kupitia $ _GET tena. 119 00:08:36,000 --> 00:08:42,000 hatua sifa ya aina anaelezea kisakuzi ambapo kutuma data. 120 00:08:42,000 --> 00:08:46,000 Hapa wetu 2 pembejeo mambo na sifa jina. 121 00:08:46,000 --> 00:08:51,000 thamani ya sifa jina kutumika kama funguo ndani ya data yetu, 122 00:08:51,000 --> 00:08:56,000 na maadili ya pembejeo Nakala itakuwa maadili ya funguo hizo. 123 00:08:56,000 --> 00:08:59,000 Sasa hebu tuangalie post.php, 124 00:08:59,000 --> 00:09:03,000 file kwamba fomu hii ni kuwasilisha kwa. 125 00:09:03,000 --> 00:09:10,000 Tu kama sisi alifanya mbele, sisi ni tu kwa kuonyesha yaliyomo ya $ _POST kutofautiana. 126 00:09:10,000 --> 00:09:18,000 >> Hebu navigate kwa fomu kwa http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Sasa wakati sisi kuwasilisha fomu tunaweza kuona kwamba data kutoka form.php 128 00:09:23,000 --> 00:09:30,000 ni kupita kwa post.php bila appending kamba swala URL. 129 00:09:30,000 --> 00:09:35,000 Sasa tumeona njia 2 mbalimbali ya kupita data kati ya kurasa PHP, 130 00:09:35,000 --> 00:09:37,000 kupata na baada ya. 131 00:09:37,000 --> 00:09:41,000 Katika mifano yetu, sisi kutumika 2 aina mbalimbali za maombi HTTP. 132 00:09:41,000 --> 00:09:45,000 Kama unaweza kutarajia, kupata ombi ilitumika wakati sisi wakazi 133 00:09:45,000 --> 00:09:51,000 $ _GET Kutoka URL, na ombi baada ilikuwa kutumiwa 134 00:09:51,000 --> 00:09:55,000 wakati sisi wakazi $ _POST. 135 00:09:55,000 --> 00:09:59,000 Katika kubuni programu yako ya mtandao ni utawala bora wa thumb kutumia maombi kupata 136 00:09:59,000 --> 00:10:03,000 wakati programu yako tu kusoma data, na maombi baada ya 137 00:10:03,000 --> 00:10:05,000 wakati programu yako kuandika data. 138 00:10:05,000 --> 00:10:09,000 Kwa mfano, search query kusoma data kutoka programu ya yako, 139 00:10:09,000 --> 00:10:12,000 hivyo kupata ombi hufanya akili. 140 00:10:12,000 --> 00:10:17,000 Kwa upande mwingine, programu yako kuandika data kupitia kitu kama fomu ya usajili, 141 00:10:17,000 --> 00:10:22,000 hivyo ombi baada ingekuwa kufanya maana zaidi, na kwamba maelezo ya jumla ya baadhi ya mbinu 142 00:10:22,000 --> 00:10:26,000 tutaweza kutumia katika CS50 kuunda tovuti kwa kutumia PHP. 143 00:10:26,000 --> 00:10:30,000 >> Jina langu ni Tommy, na hii ni CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]