[Powered by Google Translate] [PHP Web Development] [Tommy MacWilliam] [Dette er CS50.] [CS50.TV] I denne videoen vil vi lære hvordan du bruker PHP for webutvikling. PHP er et skriptspråk som kan brukes til å implementere nettsteder på en web server. En webserver er egentlig en maskin dedikert til å gi innhold som kan nås via internett. Når du navigerer til en nettside som Facebook.com / home.php koden i filen kalles home.php som bor på en Facebook-web server et sted vil bli utført på denne serveren. Denne koden vil sannsynligvis generere noen utgang som igjen vil bli sendt fra serveren til din nettleser. Vi skal bruke CS50 apparatet som en web server. Maskinen vil sannsynligvis ikke være på langt nær så kraftig som maskinene i en Facebook datasenter, men du har ingen problem å bruke den for webutvikling. Når vi navigere til en URL som http://localhost/hello.php vi konfigurere enheten via et program som heter Apache HTTP-serveren å se etter en fil som heter hello.php innsiden av hjemmet / jharvard / vhosts / localhosts / html som standard. Hvis denne filen finnes så Apache vil bruke PHP tolk å kjøre PHP-kode i hello.php. Hvis filen ikke eksisterer da Apache vil kaste en ikke funnet feil eller en 404-feil, som du sikkert har sett mens du surfer på nettet. La oss ta en titt på hello.php. Vi ser her at hello.php genererer en signallinje på produksjonen. Når vi kjørte hello.php på kommandolinjen via php hello.php at produksjonen ble skrevet ut til terminalen. Nå, når vi tilgang til denne filen via en URL-adresse i nettleseren sin produksjon vil bli sendt til nettleseren, så overskriften til URL, http://localhost/hello.php, vi kan se resultatet i vår nettleser. La oss prøve å legge en annen printf til vår hello world program. Ok, la oss gå tilbake til nettleseren, og se hva vi har. Interessant. Snarere enn å skrive ut en annen linje på en egen linje, som du ville ha sett i terminalen, det ser ut som det ble smushed på samme linje som den andre printf, gjør så kanskje nye linjer ikke jobbe i PHP. Ikke helt. Husk at HTML er vanligvis brukt til å lage web-sider som kan vises i nettleserne. Ikke bare er strengen hei fra php ikke gyldig HTML, men husker at vi ikke kan bruke \ n karakter i HTML å skape et linjeskift. I stedet for bare å gi ut en streng la oss utgang gyldig HTML. Ved å bruke ledd koder hver av våre printf samtaler vil bli vist på en egen linje, så nå når vi gå til nettadressen peker til valid.php http://localhost/valid.php vi se resultatet at vi leter etter. Nå, hvis vi vise kilden til denne siden Vi kan se at vi nå ser på gyldig HTML, som vi lagde fra PHP. Å sette alle våre HTML inne printf samtaler er selvfølgelig kommer til å bli veldig irriterende. Heldigvis kan vi lett blande HTML og PHP i samme. php fil. Husk, alle våre PHP-koden må være innelukket i . Noe som ikke er innelukket i disse skilletegn vil bare bli sendt som utgang til nettleseren stedet for å være utført. Det betyr at vi kan gjøre noe som dette. Vi kan rett og slett skrive HTML innsiden av våre. Php fil og deretter sette PHP blokker hvor vi ønsker noen php kode for å bli henrettet. Her definerer vi noen variabler på toppen av filen, og senere skriver vi dem ut på innsiden av vår HTML. Nå hvis vi besøker denne nettadressen, http://localhost/mixed.php vi kan se vår evaluert PHP innsiden av vår HTML. La oss nå ta en titt på hvordan vi kan overføre data blant våre ulike PHP sider. Snarere enn å si Vi kan bare si . La oss nå ta en titt på hvordan vi kan overføre data blant våre ulike PHP sider. En måte vi kan gjøre det på er å kode informasjonen inn nettadressen til en side. Når du surfer på nettet, har du kanskje lagt merke til at enkelte nettadresser inneholde en? etterfulgt av en streng som inneholder-tegn og likhetstegn. Denne delen av nettadressen er kjent som søkestrengen, og dette gjør det mulig å effektivt sender argumenter til din PHP script. Søkestrengen består av sentrale verdi-par, akkurat som en hash table. Et likhetstegn som skiller en nøkkel og den tilsvarende verdi mens-tegn skille parene. En nettadresse som ser ut som http://localhost/get.php?foo=bar&baz=qux har to sentrale verdi parene i søkestrengen. Nøkkelen foo kartene til verdien bar, og nøkkelen baz kartene til verdien qux. Vi kan lett få tilgang til disse viktige verdi-par ved hjelp av en spesiell variabel i PHP, $ _GET. $ _GET Er en assosiativ array blir automatisk fylt ut med spørrestrengdata. Det betyr at gitt denne URL $ _GET ["foo"] vil være lik strengen bar. La oss ta en titt på get.php å se $ _GET i aksjon. Her bruker vi en funksjon som heter var_dump, som når det er gitt en matrise eller en annen variabel vil skrive det ut for oss. Nå hvis vi ganske enkelt få tilgang http://localhost/get.php så får vi se en tom array fordi vi ikke har gitt en søkestrengen. Hvis vi gir en spørring streng via http://localhost/get.php?foo=bar&baz=qux så kan vi se at $ _GET variable vil inneholde søkestrengen sentrale verdi-par. Men hva om vi ikke ønsker å sette våre data inne i nettadressen til en side? For store mengder data, kan dette resultere i noen ganske stygge nettadresser som kommer til å gjøre vår skinnende nettsted utseende halt. Vi kan i stedet sette søkestrengen inn i kroppen av HTTP-forespørsler i stedet for forespørselen URL. Da kan vi bruke PHP $ _POST variabel å få tilgang til de viktigste verdi-par. En måte å gjøre dette på er ved hjelp av en HTML-skjema. Her har vi en enkel HTML-skjema. Legg merke til her at metoden egenskap av dette skjemaet er innlegget. Dette forteller leseren til å sette skjemaets sentrale verdi-par inn i kroppen av anmodningen i stedet for den URL. Hvis vi skulle bruke verdien får for dette attributtet deretter skjemaets sentrale verdi parene ville i stedet gå inn i søkestrengen, slik at vi kunne få tilgang til dem via $ _GET igjen. Handlingen egenskap av skjemaet forteller leseren hvor du vil sende data. Her er våre to input elementer har navne attributter. Verdien av navne attributtene vil fungere som taster inn våre data, og verdiene av tekst innganger blir verdiene av disse taster. La oss nå ta en titt på post.php, filen at dette skjemaet sender til. Akkurat som vi gjorde før, vi bare vise innholdet i $ _POST variabel. La oss gå til skjemaet med http://localhost/form.php. Nå når vi sender inn skjemaet kan vi se at dataene fra form.php sendes til post.php uten å føye til et søkestrengen til nettadressen. Nå har vi sett to forskjellige måter å sende data mellom PHP-sider, får og poste. I våre eksempler, vi brukte to forskjellige typer av HTTP-forespørsler. Som du kanskje forventer, ble en GET-forespørsel brukes når vi befolket $ _GET Fra URL, og et innlegg forespørsel ble brukt når vi befolket $ _POST. I designe dine web apps er det en god tommelfingerregel å bruke få forespørsler når applikasjonen vil bare lese data, og legg til dine forespørsler når applikasjonen vil skrive data. For eksempel vil et søk lese data fra din app, så en GET-forespørsel er fornuftig. På den annen side, vil app skrive data via noe sånt som et registreringsskjema, så et innlegg forespørsel ville være mer fornuftig, og det er en oversikt over noen av teknikkene vi skal bruke i CS50 å lage websider ved hjelp av PHP. Mitt navn er Tommy, og dette er CS50. [CS50.TV]