1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Desenvolupament web] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Aquest és CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> En aquest vídeo, anem a aprendre sobre l'ús de PHP per al desenvolupament web. 5 00:00:11,000 --> 00:00:14,000 PHP és un llenguatge de script que es pot utilitzar per implementar 6 00:00:14,000 --> 00:00:17,000 llocs web en un servidor web. 7 00:00:17,000 --> 00:00:21,000 Un servidor web és essencialment una màquina dedicada a proporcionar el contingut 8 00:00:21,000 --> 00:00:24,000 que es pot accedir a través d'Internet. 9 00:00:24,000 --> 00:00:30,000 Quan es desplaça a una pàgina web, com Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 el codi a l'arxiu anomenat home.php que viu en un servidor web Facebook en algun lloc 11 00:00:35,000 --> 00:00:38,000 s'executarà en aquest servidor. 12 00:00:38,000 --> 00:00:41,000 Aquesta probabilitat de codi que generarà alguna sortida 13 00:00:41,000 --> 00:00:43,000 que al seu torn ser enviat des del servidor 14 00:00:43,000 --> 00:00:45,000 al seu navegador web. 15 00:00:45,000 --> 00:00:49,000 Utilitzarem l'aparell CS50 com un servidor web. 16 00:00:49,000 --> 00:00:51,000 L'equip probablement no serà tan poderosa com les màquines 17 00:00:51,000 --> 00:00:57,000 en un centre de dades de Facebook, però vostè no tindrà cap problema per usar-lo per al desenvolupament web. 18 00:00:57,000 --> 00:01:05,000 >> Quan naveguem a una URL com http://localhost/hola.php 19 00:01:05,000 --> 00:01:10,000 configurem l'aparell a través d'una aplicació anomenada el servidor Apache HTTP 20 00:01:10,000 --> 00:01:19,000 per buscar un arxiu anomenat hello.php interior de casa / jharvard / vhosts / localhosts / html per defecte. 21 00:01:19,000 --> 00:01:23,000 Si hi ha aquest arxiu llavors Apache farà servir l'intèrpret PHP 22 00:01:23,000 --> 00:01:27,000 per executar el codi PHP a hello.php. 23 00:01:27,000 --> 00:01:31,000 Si aquest fitxer no existeix, llavors Apache llançarà un error que no es troba 24 00:01:31,000 --> 00:01:36,000 o un error 404, el que probablement has vist mentre navega per la web. 25 00:01:36,000 --> 00:01:40,000 >> Fem una ullada a hello.php. 26 00:01:40,000 --> 00:01:45,000 Podem veure aquí que hello.php genera una línia de senyal de sortida. 27 00:01:45,000 --> 00:01:51,000 Quan ens quedem hello.php en la línia d'ordres a través del PHP hello.php 28 00:01:51,000 --> 00:01:54,000 que la producció va ser imprès a la terminal. 29 00:01:54,000 --> 00:01:58,000 Ara, quan s'accedeix a aquesta imatge a través d'una URL al navegador web 30 00:01:58,000 --> 00:02:01,000 la seva sortida serà enviada al navegador web, 31 00:02:01,000 --> 00:02:09,000 així que dirigir-se a l'adreça URL, http://localhost/hola.php, 32 00:02:09,000 --> 00:02:12,000 podem veure la sortida en el nostre navegador web. 33 00:02:12,000 --> 00:02:17,000 >> Tractarem d'afegir un altre printf en el nostre programa hola món. 34 00:02:17,000 --> 00:02:23,000 Està bé, anem al capdavant de tornada al navegador web i veure el que tenim. 35 00:02:23,000 --> 00:02:25,000 Interessant. 36 00:02:25,000 --> 00:02:28,000 En comptes d'imprimir una altra línia en la seva pròpia línia, ja que hauria vist 37 00:02:28,000 --> 00:02:32,000 en el terminal, sembla que va quedar aixafada en la mateixa línia 38 00:02:32,000 --> 00:02:36,000 com l'altre printf, així que potser les noves línies no funcionen en PHP. 39 00:02:36,000 --> 00:02:38,000 No del tot. 40 00:02:38,000 --> 00:02:41,000 Recordeu que HTML se sol utilitzar per crear pàgines web 41 00:02:41,000 --> 00:02:44,000 que es poden mostrar pels navegadors web. 42 00:02:44,000 --> 00:02:49,000 No només és la cadena hola del PHP HTML no vàlid, 43 00:02:49,000 --> 00:02:53,000 però recordem que no podem utilitzar el caràcter \ n en HTML 44 00:02:53,000 --> 00:02:55,000 per crear un salt de línia. 45 00:02:55,000 --> 00:03:01,000 En comptes de donar sortida a la sortida HTML vàlida una cadena de let. 46 00:03:01,000 --> 00:03:04,000 Mitjançant l'ús d'etiquetes de paràgraf, cadascuna de les nostres trucades printf 47 00:03:04,000 --> 00:03:07,000 es mostrarà en la seva pròpia línia, 48 00:03:07,000 --> 00:03:11,000 així que ara quan anem a la qual apunta l'URL de valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 veiem el resultat que estem buscant. 51 00:03:19,000 --> 00:03:22,000 >> Ara bé, si considerem que la font d'aquesta pàgina 52 00:03:22,000 --> 00:03:25,000 podem veure que ara estem veient HTML vàlid, 53 00:03:25,000 --> 00:03:28,000 que hem creat a partir de PHP. 54 00:03:28,000 --> 00:03:31,000 Posar tot el nostre HTML dins de les anomenades printf 55 00:03:31,000 --> 00:03:34,000 està, per descomptat, serà realment molest. 56 00:03:34,000 --> 00:03:38,000 Per sort podem barrejar fàcilment HTML i PHP 57 00:03:38,000 --> 00:03:41,000 en el mateix. arxiu php. 58 00:03:41,000 --> 00:03:47,000 Recordeu, tot el nostre codi PHP ha de ser tancat dins d' 00:03:49,000 i>. 60 00:03:49,000 --> 00:03:52,000 Tot el que no està inclòs dins d'aquests delimitadors 61 00:03:52,000 --> 00:03:55,000 simplement s'envia com a sortida al navegador 62 00:03:55,000 --> 00:03:57,000 en lloc de ser executat. 63 00:03:57,000 --> 00:04:01,000 Això vol dir que podem fer alguna cosa com això. 64 00:04:01,000 --> 00:04:05,000 Simplement podem escriure HTML dins la nostra. Arxiu php 65 00:04:05,000 --> 00:04:11,000 i després inserir PHP blocs on ens agradaria una mica de codi php a executar. 66 00:04:11,000 --> 00:04:15,000 Aquí definim algunes variables a la part superior de l'arxiu, 67 00:04:15,000 --> 00:04:19,000 i més tard els imprimim interior del nostre HTML. 68 00:04:19,000 --> 00:04:27,000 Ara bé, si ens visita aquesta adreça URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 podem veure la nostra PHP avaluat dins del nostre HTML. 70 00:04:33,000 --> 00:04:36,000 >> Ara donem una ullada a com podem passar dades 71 00:04:36,000 --> 00:04:39,000 entre les nostres diverses pàgines PHP. 72 00:04:39,000 --> 00:04:51,000 En comptes de dir 73 00:04:51,000 --> 00:04:58,000 simplement podem dir 00:05:01,000 i>. 75 00:05:01,000 --> 00:05:03,000 Fem una ullada a com podem passar dades 76 00:05:03,000 --> 00:05:06,000 entre les nostres diverses pàgines PHP. 77 00:05:06,000 --> 00:05:11,000 Com fer-ho és per a codificar informació a l'URL de la pàgina. 78 00:05:11,000 --> 00:05:14,000 En navegar per la web, t'hauràs adonat que algunes de les URL 79 00:05:14,000 --> 00:05:20,000 contenir una? seguit d'una cadena que conté els símbols d'unió i signes d'igual. 80 00:05:20,000 --> 00:05:23,000 Aquesta part de la URL que es coneix com la cadena de consulta, 81 00:05:23,000 --> 00:05:29,000 i això li permet passar amb eficàcia els arguments al seu script PHP. 82 00:05:29,000 --> 00:05:34,000 La cadena de consulta consta de parells de claus de valor, igual que una taula hash. 83 00:05:34,000 --> 00:05:38,000 Un signe igual separa una clau i el seu valor corresponent 84 00:05:38,000 --> 00:05:41,000 mentre que els símbols d'unió es separen parells. 85 00:05:41,000 --> 00:06:05,000 Una URL que sembla http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 té 2 parells de valors clau en la cadena de consulta. 87 00:06:09,000 --> 00:06:12,000 El foo clau s'assigna a la barra de valor, 88 00:06:12,000 --> 00:06:16,000 i el baz clau s'assigna a la qux valor. 89 00:06:16,000 --> 00:06:23,000 Podem accedir fàcilment a aquests parells de valors clau utilitzant una variable especial en PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET És un arranjament associatiu 92 00:06:32,000 --> 00:06:36,000 que s'omple automàticament amb les dades de la cadena de consulta. 93 00:06:36,000 --> 00:06:46,000 Això significa que, donat aquest URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 serà igual a la barra de cadena. 95 00:06:49,000 --> 00:06:56,000 >> Fem una ullada a get.php per veure $ _GET en acció. 96 00:06:56,000 --> 00:07:00,000 Aquí estem usant una funció anomenada var_dump, 97 00:07:00,000 --> 00:07:03,000 que quan se'ls dóna una matriu o una altra variable 98 00:07:03,000 --> 00:07:05,000 l'imprimirà per a nosaltres. 99 00:07:05,000 --> 00:07:12,000 Ara bé, si nosaltres simplement accedim http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 llavors veurem una matriu buida perquè no hem proporcionat una cadena de consulta. 101 00:07:17,000 --> 00:07:29,000 Si ho fem proporcionar una cadena de consulta a través d'http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 llavors podem veure que la variable $ _GET contindrà 103 00:07:34,000 --> 00:07:37,000 parells de valors clau de la cadena de consulta. 104 00:07:37,000 --> 00:07:42,000 Però el que si no volem posar les nostres dades dins de la URL d'una pàgina? 105 00:07:42,000 --> 00:07:46,000 Per a grans quantitats de dades, això pot donar lloc a algunes URLs bastant lletjos 106 00:07:46,000 --> 00:07:49,000 que van a fer la nostra web mirada brillant coix. 107 00:07:49,000 --> 00:07:52,000 En comptes d'això podem posar la cadena de consulta en el cos 108 00:07:52,000 --> 00:07:57,000 de les peticions HTTP en lloc de l'adreça URL de la sol · licitud. 109 00:07:57,000 --> 00:08:02,000 Llavors podem utilitzar variables de PHP $ _POST 110 00:08:02,000 --> 00:08:05,000 per accedir als parells de valors clau. 111 00:08:05,000 --> 00:08:10,000 Una manera de fer això és a través d'un formulari HTML. 112 00:08:10,000 --> 00:08:13,000 Aquí tenim un formulari HTML simple. 113 00:08:13,000 --> 00:08:17,000 Noteu aquí que l'atribut de mètode d'aquesta manera és posterior. 114 00:08:17,000 --> 00:08:21,000 Això li indica al navegador que posar parells de valors clau del formulari 115 00:08:21,000 --> 00:08:25,000 en el cos de la sol · licitud en lloc de la URL. 116 00:08:25,000 --> 00:08:28,000 >> Si haguéssim d'utilitzar el valor d'anar a aquest atribut 117 00:08:28,000 --> 00:08:32,000 llavors parells de valors clau del formulari tindrien lloc entrar a la cadena de consulta, 118 00:08:32,000 --> 00:08:36,000 perquè poguéssim accedir-hi a través de $ _GET nou. 119 00:08:36,000 --> 00:08:42,000 L'atribut action del formulari indica al navegador on enviar les dades. 120 00:08:42,000 --> 00:08:46,000 Aquí els nostres 2 elements d'entrada tenen atributs de nom. 121 00:08:46,000 --> 00:08:51,000 El valor dels atributs de nom servirà com a claus en les nostres dades, 122 00:08:51,000 --> 00:08:56,000 i els valors de les entrades de text es convertiran en els valors de les claus. 123 00:08:56,000 --> 00:08:59,000 Ara donem una ullada a post.php, 124 00:08:59,000 --> 00:09:03,000 l'arxiu que aquesta forma presenta. 125 00:09:03,000 --> 00:09:10,000 Igual que vam fer abans, simplement estem mostrant el contingut de la variable $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Anem a navegar al formulari amb http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Ara, quan ens sotmetem manera podem veure que les dades de form.php 128 00:09:23,000 --> 00:09:30,000 es passa a post.php sense annexar una cadena de consulta a la URL. 129 00:09:30,000 --> 00:09:35,000 Ara que hem vist 2 maneres diferents de passar dades entre pàgines PHP, 130 00:09:35,000 --> 00:09:37,000 GET i POST. 131 00:09:37,000 --> 00:09:41,000 En els nostres exemples, hem utilitzat 2 tipus de peticions HTTP. 132 00:09:41,000 --> 00:09:45,000 Com és d'esperar, es va utilitzar una petició get quan poblem 133 00:09:45,000 --> 00:09:51,000 Es va utilitzar $ _GET des de la URL, i una sol · licitud posterior 134 00:09:51,000 --> 00:09:55,000 quan ens poblem $ _POST. 135 00:09:55,000 --> 00:09:59,000 En el disseny de les seves aplicacions web és una bona regla d'or per utilitzar peticions GET 136 00:09:59,000 --> 00:10:03,000 quan la seva aplicació només llegirà les dades i les sol · licituds de correus 137 00:10:03,000 --> 00:10:05,000 quan la seva aplicació va a escriure dades. 138 00:10:05,000 --> 00:10:09,000 Per exemple, una consulta de cerca llegirà les dades de la seva aplicació, 139 00:10:09,000 --> 00:10:12,000 de manera que una petició get té sentit. 140 00:10:12,000 --> 00:10:17,000 D'altra banda, la seva aplicació va a escriure dades a través d'una cosa així com un formulari de registre, 141 00:10:17,000 --> 00:10:22,000 de manera que una sol · licitud posterior tindria més sentit, i això és una visió general d'algunes de les tècniques 142 00:10:22,000 --> 00:10:26,000 que utilitzarà en CS50 per crear llocs web utilitzant PHP. 143 00:10:26,000 --> 00:10:30,000 >> El meu nom és Tommy, i això és CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]