[Powered by Google Translate] [PHP Web Ontwikkeling] [Tommy MacWilliam] [Hierdie is CS50.] [CS50.TV] In hierdie video, sal ons leer oor die gebruik van PHP vir die web ontwikkeling. PHP is 'n script taal wat gebruik kan word om te implementeer webtuistes op 'n webbediener. 'N web bediener is in wese 'n masjien gewy aan die verskaffing van inhoud wat kan verkry word via die internet. Wanneer jy na 'n webblad soos Facebook.com / Musikant die kode in die lêer genaamd Musikant wat die lewe op 'n Facebook web bediener iewers sal op die bediener uitgevoer word. Hierdie kode sal waarskynlik 'n paar uitset genereer wat op sy beurt van die bediener gestuur word jou webblaaier. Ons sal gebruik word om die CS50 toestel as 'n web bediener. Jou masjien sal waarskynlik nie naastenby so sterk soos die masjiene in 'n Facebook data sentrum, maar jy sal nie 'n probleem het om dit te gebruik vir web-ontwikkeling. Wanneer ons gaan na 'n URL soos http://localhost/hello.php ons die instel van die toestel via 'n aansoek genoem die Apache HTTP-bediener om te kyk vir 'n lêer genaamd hello.php binnekant van die huis / jharvard / vhosts / localhosts / html by verstek. As die lêer bestaan ​​dan sal die Apache PHP tolk gebruik die PHP kode uit te voer in hello.php. As die lêer nie bestaan ​​nie Apache sal nie gevind fout gooi of 'n 404-fout, wat jy het waarskynlik gesien, terwyl op die Web. Kom ons neem 'n blik op hello.php. Ons kan sien hier dat hello.php genereer 'n sein-lyn van die produksie. Wanneer ons hardloop hello.php by die command line via PHP hello.php die uitset is gedruk aan die eindpunt. Nou, wanneer ons toegang tot hierdie lêer via 'n URL in die web browser sy produksie sal gestuur word na die web browser, so op pad na die URL, http://localhost/hello.php, ons kan die produksie te sien in ons web browser. Kom ons probeer om die toevoeging van 'n ander printf ons Hello World program. Goed, laat ons kop terug na die webblaaier en sien wat ons het. Interessant. Eerder as om die druk van 'n ander lyn op sy eie lyn, as jy sou gesien het in die einde, dit lyk soos dit het smushed op dieselfde lyn as die ander printf, nie so miskien die nuwe reëls in PHP werk nie. Nie heeltemal nie. Onthou dat HTML is tipies gebruik word om webblaaie te skep wat vertoon kan word deur die web blaaiers. Nie net is die string Hello from PHP nie geldig HTML, maar onthou dat ons nie die \ n karakter in HTML kan gebruik 'n lyn breek te skep. In plaas van net 'n uitvoer string laat se uitset geldige HTML. Deur die gebruik van paragraaf tags elkeen van ons printf oproepe sal op sy eie lyn vertoon word, So nou wanneer ons gaan na die adres wat verwys na valid.php http://localhost/valid.php sien ons die produksie wat ons soek. Nou, as ons kyk na die bron van die bladsy Ons kan sien dat ons nou op soek na geldige HTML, wat ons geskep uit PHP. Om al ons HTML binne printf oproepe is natuurlik gaan regtig irriterende te kry. Gelukkig kan ons maklik HTML en PHP meng in dieselfde. PHP lêer. Onthou, almal van ons PHP-kode moet binne . Enigiets wat nie binne hierdie skeikarakters ingeslote sal net gestuur word as uitset aan die leser eerder as om uitgevoer. Dit beteken dat ons iets kan doen. Ons kan eenvoudig HTML skryf binnekant van ons. PHP lêer en dan voeg PHP-blokke waar ons wil graag 'n paar PHP-kode wat uitgevoer moet word. Hier definieer ons 'n paar veranderlikes aan die bokant van die lêer, en later het ons druk hulle uit die binnekant van ons HTML. Nou as ons na hierdie URL, http://localhost/mixed.php ons kan ons geëvalueer PHP sien binnekant van ons HTML. Nou kom ons neem 'n blik op hoe ons data kan slaag onder ons verskeie PHP bladsye. Eerder as om te sê ons kan net sê . Kom ons neem nou 'n blik op hoe ons data kan slaag onder ons verskeie PHP bladsye. Een manier waarop ons dit kan doen is om inligting te enkodeer in die URL van 'n bladsy. Wanneer op die Web, kan jy opgemerk het dat sekere URL bevat 'n? gevolg deur 'n string wat amper sand en gelyke tekens. Hierdie deel van die URL staan ​​bekend as die navraag string, en dit laat jou toe om effektief argumente jou PHP script slaag. Die navraag string bestaan ​​van die belangrikste waarde pare, net soos 'n hash tafel. 'N gelyke teken skei 'n sleutel en die ooreenstemmende waarde terwyl amper sand skei pare. 'N URL wat lyk soos http://localhost/get.php?foo=bar&baz=qux het 2 sleutel waarde pare in die soektog string. Die sleutel cat kaarte ter waarde bar, en die sleutel roof kaarte ter waarde qux. Ons kan maklik toegang tot hierdie sleutel waarde pare met 'n spesiale veranderlike in PHP, $ _GET. $ _GET Is 'n assosiatiewe skikking wat outomaties gevul is met navraag string data. Dit beteken dat, gegewe die URL $ _GET ["cat"] sal gelyk wees aan die string bar wees. Kom ons neem 'n blik op get.php $ _GET in aksie te sien. Hier is ons met behulp van 'n funksie genoem var_dump, wat toe gegee 'n skikking of ander veranderlike sal druk dit uit vir ons. Nou as ons net toegang http://localhost/get.php dan sal ons 'n leë skikking te sien, want ons het nie voorsien 'n navraag string. As ons dit doen 'n soektog string via http://localhost/get.php?foo=bar&baz=qux dan kan ons sien dat die $ _GET veranderlike sal bevat die soektog string se sleutel waarde pare. Maar wat as ons wil nie ons data te sit in die URL van 'n bladsy? Vir groot hoeveelhede data, kan dit lei tot 'n paar mooi lelike URLs wat gaan ons blink webwerf lyk lam te maak. Ons kan in die plek gestel die soektog string in die liggaam van die HTTP-versoek eerder as URL versoek se. Dan kan ons PHP se $ _POST veranderlike gebruik die sleutel waarde pare om toegang te verkry. Een manier om dit te doen, is deur middel van 'n HTML-vorm. Hier het ons 'n eenvoudige HTML vorm. Let hier dat die metode kenmerk van hierdie vorm is post. Dit vertel die leser die vorm se sleutel waarde pare te sit in die liggaam van die versoek, eerder as die URL. As ons te gebruik om die waarde vir die eienskap dan die vorm se sleutel waarde pare sou plaas gaan in die soektog string, sodat ons hulle kan toegang via weer $ _GET. Die aksie kenmerk van die vorm vertel die leser waar die data te stuur. Hier ons 2 insette elemente naam eienskappe. Die waarde van die naam eienskappe sal dien as sleutels in ons data, en die waardes van die teks insette sal word waardes van die sleutels. Nou kom ons neem 'n blik op post.php, die lêer wat hierdie vorm te stuur na. Net soos ons gedoen het voor, ons is net die vertoning van die inhoud van die $ _POST veranderlike. Kom ons gaan na die vorm met http://localhost/form.php. Nou wanneer ons dien die vorm wat ons kan sien dat die data van form.php oorgedra word na post.php sonder die aanbring van 'n navraag string aan die URL. Nou het ons gesien 2 verskillende maniere van verbygaande data tussen PHP bladsye, kry en post. In voorbeelde vir ons, ons gebruik 2 verskillende tipes HTTP versoeke. Soos jy kan verwag, is 'n get versoek gebruik wanneer ons bevolk $ _GET Van die URL, en 'n post versoek is gebruik wanneer ons bevolk $ _POST. In die ontwerp van jou web programme dit is 'n goeie reël get versoeke te gebruik wanneer jou inligting sal slegs data te lees en post versoeke wanneer jou inligting data sal skryf. Byvoorbeeld, sal 'n soektog data van jou artikels te lees, so 'n get versoek sin maak. Aan die ander kant, sal jou inligting data via iets soos 'n registrasie vorm skryf, so 'n pos versoek sou meer sin maak nie, en dit is 'n oorsig van sommige van die tegnieke Ons sal gebruik word in CS50 webtuistes te skep met behulp van PHP. My naam is Tommy, en dit is CS50. [CS50.TV]