1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Web Development] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Tämä on CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Tässä videossa me oppia PHP Web-kehitykseen. 5 00:00:11,000 --> 00:00:14,000 PHP on skriptikieli, joka voidaan toteuttaa 6 00:00:14,000 --> 00:00:17,000 sivustot web-palvelimelle. 7 00:00:17,000 --> 00:00:21,000 Web-palvelin on lähinnä kone sitoutunut tarjoamaan sisältöä 8 00:00:21,000 --> 00:00:24,000 jota voi käyttää internetin kautta. 9 00:00:24,000 --> 00:00:30,000 Kun siirryt web-sivulle, kuten Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 koodin tiedosto nimeltä home.php joka elää Facebook web-palvelin jonnekin 11 00:00:35,000 --> 00:00:38,000 toteutetaan kyseisessä palvelimessa. 12 00:00:38,000 --> 00:00:41,000 Tämä koodi tulee todennäköisesti tuottavat jonkin verran lähtö 13 00:00:41,000 --> 00:00:43,000 mikä puolestaan ​​lähetetään palvelimelle 14 00:00:43,000 --> 00:00:45,000 selaimeen. 15 00:00:45,000 --> 00:00:49,000 Käytämme CS50 laite kuin web-palvelin. 16 00:00:49,000 --> 00:00:51,000 Koneesi luultavasti ei ole läheskään yhtä tehokas kuin koneita 17 00:00:51,000 --> 00:00:57,000 in Facebook datakeskuksen, mutta sinun ei ole ongelma käyttää sitä web-kehitystä. 18 00:00:57,000 --> 00:01:05,000 >> Kun me navigoida URL kuten http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 me määrittää laitteen kautta sovellus nimeltä Apache HTTP-palvelimen 20 00:01:10,000 --> 00:01:19,000 etsiä tiedosto nimeltä hello.php sisälle kotiin / jharvard / vhosts / localhosts / html oletuksena. 21 00:01:19,000 --> 00:01:23,000 Jos tämä tiedosto on olemassa niin Apache käyttää PHP tulkki 22 00:01:23,000 --> 00:01:27,000 suorittaa PHP-koodin hello.php. 23 00:01:27,000 --> 00:01:31,000 Jos tiedosto ei ole olemassa niin Apache heittää ei löytynyt virhe 24 00:01:31,000 --> 00:01:36,000 tai 404-virheen, joka olet luultavasti nähnyt selaamisen verkossa. 25 00:01:36,000 --> 00:01:40,000 >> Katsotaanpa katsomaan hello.php. 26 00:01:40,000 --> 00:01:45,000 Voimme nähdä tässä, että hello.php synnyttää signaalin linjan tuotannon. 27 00:01:45,000 --> 00:01:51,000 Kun me juoksimme hello.php komentoriviltä kautta php hello.php 28 00:01:51,000 --> 00:01:54,000 että tuotanto oli painettu terminaaliin. 29 00:01:54,000 --> 00:01:58,000 Nyt, kun me pääsy tämän tiedoston URL-osoitteen kautta web-selaimessa 30 00:01:58,000 --> 00:02:01,000 sen tuotos lähetetään web-selain, 31 00:02:01,000 --> 00:02:09,000 niin otsikko URL, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 Voimme nähdä tuotoksen meidän web-selain. 33 00:02:12,000 --> 00:02:17,000 >> Kokeillaan lisätään toinen printf meidän hello world ohjelman. 34 00:02:17,000 --> 00:02:23,000 Okei, mene takaisin selain ja katso, mitä meillä on. 35 00:02:23,000 --> 00:02:25,000 Mielenkiintoinen. 36 00:02:25,000 --> 00:02:28,000 Sijaan tulostaa toinen linja omalla rivillään, kuin olisit nähnyt 37 00:02:28,000 --> 00:02:32,000 terminaalissa, se näyttää todella smushed päälle samalla linjalla 38 00:02:32,000 --> 00:02:36,000 kuin muut printf, joten ehkä uudet linjat eivät toimi PHP. 39 00:02:36,000 --> 00:02:38,000 Ei aivan. 40 00:02:38,000 --> 00:02:41,000 Muista, että HTML on tyypillisesti käytetään luomaan web-sivuja 41 00:02:41,000 --> 00:02:44,000 joka voidaan näyttää Web-selaimet. 42 00:02:44,000 --> 00:02:49,000 Ei vain merkkijono hello php ei kelpaa HTML, 43 00:02:49,000 --> 00:02:53,000 mutta muistuttaa, että emme voi käyttää \ n merkki HTML 44 00:02:53,000 --> 00:02:55,000 luoda rivinvaihdon. 45 00:02:55,000 --> 00:03:01,000 Sen sijaan, että syöttöä merkkijonon let tuotannosta voimassa HTML. 46 00:03:01,000 --> 00:03:04,000 Käyttämällä kohta merkitsee jokaisen meidän printf puhelut 47 00:03:04,000 --> 00:03:07,000 näkyy omalla rivillään, 48 00:03:07,000 --> 00:03:11,000 joten nyt kun vierailemme URL osoittaa valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 näemme tuotos että etsimme. 51 00:03:19,000 --> 00:03:22,000 >> Nyt, jos näemme tämän sivun lähdekoodia 52 00:03:22,000 --> 00:03:25,000 voimme nähdä, että olemme nyt katsot voimassa HTML, 53 00:03:25,000 --> 00:03:28,000 jota luotu PHP. 54 00:03:28,000 --> 00:03:31,000 Laittaisit kaikki meidän HTML sisällä printf puhelut 55 00:03:31,000 --> 00:03:34,000 on tietenkin menossa todella ärsyttävää. 56 00:03:34,000 --> 00:03:38,000 Onneksi voimme helposti sekoittaa HTML ja PHP 57 00:03:38,000 --> 00:03:41,000 samassa. php-tiedosto. 58 00:03:41,000 --> 00:03:47,000 Muista, kaikki meidän PHP on suljettu 00:03:49,000 ja?>. 60 00:03:49,000 --> 00:03:52,000 Kaikki mikä ei ole suljettu näiden rajoittimien 61 00:03:52,000 --> 00:03:55,000 yksinkertaisesti lähetetään lähtö selaimen 62 00:03:55,000 --> 00:03:57,000 sijaan teloitettiin. 63 00:03:57,000 --> 00:04:01,000 Tämä tarkoittaa, että voimme tehdä jotain tällaista. 64 00:04:01,000 --> 00:04:05,000 Voimme yksinkertaisesti kirjoittaa HTML sisälle meidän. Php tiedosto 65 00:04:05,000 --> 00:04:11,000 ja aseta PHP lohkot missä haluaisimme joitakin PHP suoritetaan. 66 00:04:11,000 --> 00:04:15,000 Tässä määritellään muutamia muuttujia yläreunassa tiedoston, 67 00:04:15,000 --> 00:04:19,000 ja myöhemmin me tulostaa ne sisällä meidän HTML. 68 00:04:19,000 --> 00:04:27,000 Nyt jos käymme tätä URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 voimme nähdä meidän arvioida PHP sisällä meidän HTML. 70 00:04:33,000 --> 00:04:36,000 >> Nyt katsomaan miten voimme välittää tietoja 71 00:04:36,000 --> 00:04:39,000 keskuudessa eri PHP-sivuja. 72 00:04:39,000 --> 00:04:51,000 Mieluummin kuin sanomalla 73 00:04:51,000 --> 00:04:58,000 voimme yksinkertaisesti sanoa 00:05:01,000 ja?>. 75 00:05:01,000 --> 00:05:03,000 Katsotaanpa nyt katsomaan, miten voimme välittää tietoja 76 00:05:03,000 --> 00:05:06,000 keskuudessa eri PHP-sivuja. 77 00:05:06,000 --> 00:05:11,000 Yksi tapa tehdä se on koodata informaatiota sivun URL-osoite. 78 00:05:11,000 --> 00:05:14,000 Kun selaat Web, olet ehkä huomannut, että osa URL 79 00:05:14,000 --> 00:05:20,000 sisältävät? seuraa sisältävä merkkijono et-ja yhtäsuuruusmerkit. 80 00:05:20,000 --> 00:05:23,000 Tämä osa URL tunnetaan hakumerkkijono 81 00:05:23,000 --> 00:05:29,000 ja tämän avulla voit tehokkaasti välittää argumentteja PHP script. 82 00:05:29,000 --> 00:05:34,000 Kyselymerkkijonon koostuu keskeisten arvo-pareja, kuten hash table. 83 00:05:34,000 --> 00:05:38,000 Yhtäläisyysmerkki erottaa avain ja sen vastaava arvo 84 00:05:38,000 --> 00:05:41,000 kun et-erottaa paria. 85 00:05:41,000 --> 00:06:05,000 URL, joka näyttää http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 on 2 keskeinen arvo pareja kyselymerkkijonoon. 87 00:06:09,000 --> 00:06:12,000 Avain foo kartat arvoon baari, 88 00:06:12,000 --> 00:06:16,000 ja avain baz kartat arvoon QUX. 89 00:06:16,000 --> 00:06:23,000 Voimme helposti käyttää näitä keskeisiä arvo-pareja käyttämällä erityistä muuttujan PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET On assosiatiivinen array 92 00:06:32,000 --> 00:06:36,000 että automaattisesti asuttuja kyselymerkkijonotietoja. 93 00:06:36,000 --> 00:06:46,000 Tämä tarkoittaa, että koska tämä URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 on yhtä suuri kuin merkkijono bar. 95 00:06:49,000 --> 00:06:56,000 >> Katsotaanpa katsomaan get.php nähdä $ _GET toiminnassa. 96 00:06:56,000 --> 00:07:00,000 Täällä käytämme toiminto nimeltään var_dump, 97 00:07:00,000 --> 00:07:03,000 jonka kun annetaan array tai muun muuttujan 98 00:07:03,000 --> 00:07:05,000 tulostaa sitä meille. 99 00:07:05,000 --> 00:07:12,000 Nyt jos me yksinkertaisesti hae http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 Sitten näemme tyhjä joukko, koska emme ole antaneet kyselymerkkijono. 101 00:07:17,000 --> 00:07:29,000 Jos emme tarjota Kyselymerkkijonon kautta http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 voimme nähdä, että $ _GET muuttuja sisältää 103 00:07:34,000 --> 00:07:37,000 hakumerkkijono keskeinen arvo-pareja. 104 00:07:37,000 --> 00:07:42,000 Mutta mitä jos emme halua laittaa meidän datasolujen sivun URL-osoite? 105 00:07:42,000 --> 00:07:46,000 Suurten tietomäärien, tämä voi aiheuttaa joitakin melko ruma URL-osoitteita 106 00:07:46,000 --> 00:07:49,000 että aiomme tehdä meidän kiiltävä sivua Katso ontuva. 107 00:07:49,000 --> 00:07:52,000 Voimme sen sijaan laittaa kyselymerkkijono kehoon 108 00:07:52,000 --> 00:07:57,000 HTTP-pyyntöjen sijaan pyynnön URL-osoite. 109 00:07:57,000 --> 00:08:02,000 Sitten voimme käyttää PHP: n $ _POST muuttuja 110 00:08:02,000 --> 00:08:05,000 käyttää keskeisiä arvo-pareja. 111 00:08:05,000 --> 00:08:10,000 Yksi tapa tehdä tämä on kautta HTML-muodossa. 112 00:08:10,000 --> 00:08:13,000 Täällä meillä on yksinkertainen HTML-muodossa. 113 00:08:13,000 --> 00:08:17,000 Huomata tässä, että menetelmä ominaisuus tämän lomakkeen postitse. 114 00:08:17,000 --> 00:08:21,000 Tämä kertoo selaimen laittaa lomakkeen keskeinen arvo pareja 115 00:08:21,000 --> 00:08:25,000 kehoon pyynnön sijaan, URL-osoitteen. 116 00:08:25,000 --> 00:08:28,000 >> Jos olisimme käyttää arvoa saada tämän määritteen 117 00:08:28,000 --> 00:08:32,000 sitten lomakkeen keskeinen arvo pareja sen sijaan mennä hakumerkkijono 118 00:08:32,000 --> 00:08:36,000 jotta voisimme käyttää niitä kautta $ _GET uudelleen. 119 00:08:36,000 --> 00:08:42,000 Toiminnan ominaisuus lomakkeen kertoo selaimelle mihin lähettää tietoja. 120 00:08:42,000 --> 00:08:46,000 Täällä meidän 2 Tuloyksiköiden on nimi määritteitä. 121 00:08:46,000 --> 00:08:51,000 Arvo nimi määritteitä toimii avaimet meidän tietoja, 122 00:08:51,000 --> 00:08:56,000 ja arvot tekstin panosten tulee arvoja ne avaimet. 123 00:08:56,000 --> 00:08:59,000 Nyt katsomaan post.php, 124 00:08:59,000 --> 00:09:03,000 tiedoston että tätä lomaketta toimittamalla. 125 00:09:03,000 --> 00:09:10,000 Aivan kuten me teimme ennen, me yksinkertaisesti näyttämällä sisällön $ _POST muuttuja. 126 00:09:10,000 --> 00:09:18,000 >> Katsotaanpa navigoida muodossa http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Nyt kun me lähetä lomake voimme nähdä, että tiedot form.php 128 00:09:23,000 --> 00:09:30,000 johdetaan post.php ilman liittämällä kyselymerkkijonon URL. 129 00:09:30,000 --> 00:09:35,000 Nyt olemme nähneet 2 eri tapoja kulkee dataa PHP-sivuja, 130 00:09:35,000 --> 00:09:37,000 saada ja lähettää. 131 00:09:37,000 --> 00:09:41,000 Esimerkeissämme käytimme 2 eri HTTP-pyyntöjä. 132 00:09:41,000 --> 00:09:45,000 Kuten arvata saattaa, GET-pyynnön käytettiin, kun me asutuilla 133 00:09:45,000 --> 00:09:51,000 $ _GET Päässä URL, ja post käytettiin pyynnössä 134 00:09:51,000 --> 00:09:55,000 kun me asuttu $ _POST. 135 00:09:55,000 --> 00:09:59,000 Suunniteltaessa verkkosovelluksia se on hyvä nyrkkisääntö käyttää GET 136 00:09:59,000 --> 00:10:03,000 kun sovellus vain lukea tietoja, ja post pyynnöt 137 00:10:03,000 --> 00:10:05,000 kun sovellus kirjoittaa tietoa. 138 00:10:05,000 --> 00:10:09,000 Esimerkiksi haku kyselyn lukee tietoja vain app, 139 00:10:09,000 --> 00:10:12,000 joten GET-pyynnön järkevää. 140 00:10:12,000 --> 00:10:17,000 Toisaalta, sinun app kirjoittaa dataa jotain ilmoittautumislomakkeella, 141 00:10:17,000 --> 00:10:22,000 niin post pyyntö olisi järkevämpää, ja se on yleiskatsaus joistakin tekniikoista 142 00:10:22,000 --> 00:10:26,000 Käytämme sisään CS50 luoda verkkosivustoja käyttäen PHP. 143 00:10:26,000 --> 00:10:30,000 >> Nimeni on Tommy, ja tämä on CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]