[Powered by Google Translate] [PHP Webbutveckling]
[Tommy MacWilliam]
[Det här är CS50.] [CS50.TV]
>> I denna video får vi lära oss om hur du använder PHP för webbutveckling.
PHP är ett skriptspråk som kan användas för att implementera
webbplatser på en webbserver.
En webbserver är i grunden en maskin dedikerade till att erbjuda innehåll
som kan nås via internet.
När du navigerar till en webbsida som Facebook.com / home.php
koden i filen som heter home.php som lever på Facebook webbserver någonstans
kommer att utföras på den servern.
Denna kod kommer sannolikt att generera en del utgång
vilket i sin tur kommer att sändas från servern
till din webbläsare.
Vi kommer att använda den CS50 apparaten som en webbserver.
Maskinen förmodligen inte kommer att vara nästan lika kraftfull som maskinerna
i en Facebook-datacenter, men du har inga problem att använda den för webbutveckling.
>> När vi navigerar till en webbadress som http://localhost/hello.php
vi konfigurerar apparaten via ett program som heter Apache HTTP-server
för att leta efter en fil som heter hello.php inne i hemmet / jharvard / vhosts / localhosts / html som standard.
Om den filen finns sedan Apache kommer att använda PHP tolken
att köra PHP-kod i hello.php.
Om den filen inte existerar då Apache kommer att kasta en inte hittat felet
eller en 404 fel, vilket du förmodligen har sett när du surfar på webben.
>> Låt oss ta en titt på hello.php.
Vi kan se här att hello.php genererar en signalledning av produktionen.
När vi körde hello.php på kommandoraden via php hello.php
att produktionen trycktes till terminalen.
Nu, när vi kommer till den här filen via en webbadress i webbläsaren
dess produktion kommer att skickas till webbläsaren,
så på väg till URL, http://localhost/hello.php,
Vi kan se resultatet i vår webbläsare.
>> Låt oss försöka lägga till en annan printf till vårt hello world-program.
Okej, låt oss gå tillbaka till webbläsaren och se vad vi har.
Intressant.
I stället för att skriva ut en annan linje på en egen rad, som du skulle ha sett
i terminalen, det ser ut som det blev smushed på samma linje
som den andra printf, gör så kanske nya linjer som inte fungerar i PHP.
Inte riktigt.
Kom ihåg att HTML används vanligtvis för att skapa webbsidor
som kan visas av webbläsare.
Inte bara är den sträng hej från php inte giltig HTML,
men minns att vi inte kan använda \ n tecken i HTML
att skapa en radbrytning.
Istället för att bara mata ut en sträng låter utgång giltig HTML.
Genom att använda stycketaggar var och en av våra printf samtal
kommer att visas på en egen rad,
så nu när vi besöker den URL som pekar på valid.php
http://localhost/valid.php
Vi ser den utgång som vi letar efter.
>> Nu, om vi se källan till den här sidan
Vi kan se att vi nu tittar på giltig HTML,
som vi skapat från PHP.
Att sätta alla våra HTML inne printf samtal
är naturligtvis kommer att bli riktigt irriterande.
Lyckligtvis kan vi enkelt blanda HTML och PHP
i samma. php fil.
Kom ihåg att alla våra PHP-kod måste vara innesluten i <? Php
och>.
Allt som inte är innesluten i dessa avgränsare
kommer helt enkelt att skickas som utsignal till webbläsaren
i stället för att verkställas.
Det innebär att vi kan göra något sånt här.
Vi kan helt enkelt skriva HTML inne i vår. Php-fil
och sedan in PHP-block där vi vill ha lite PHP-kod som ska köras.
Här definierar vi några variabler högst upp i filen,
och senare vi skriva ut dem inne i vår HTML.
Nu om vi besöker denna URL, http://localhost/mixed.php
vi kan se vår utvärderade PHP inne i vår HTML.
>> Nu ska vi ta en titt på hur vi kan skicka data
bland våra olika PHP-sidor.
I stället för att säga
Vi kan helt enkelt säga <? = variabeln som vi skulle vilja skriva ut, eller,
och>.
Låt oss nu ta en titt på hur vi kan skicka data
bland våra olika PHP-sidor.
Ett sätt vi kan göra det är att koda information in webbadressen till en sida.
När du surfar på webben, kanske du har märkt att vissa webbadresser
innehålla en? följt av en sträng som innehåller et-tecken och likhetstecken.
Denna del av webbadressen är känd som frågesträngen,
och detta gör det möjligt att effektivt skicka argument till din PHP-skript.
Frågesträngen består av nyckel värde par, precis som en hash-tabell.
Ett likhetstecken separerar en nyckel och dess motsvarande värde
medan et-tecken separera par.
En webbadress som ser ut som http://localhost/get.php?foo=bar&baz=qux
har 2 centrala värde-par i frågesträngen.
Nyckeln foo kartor till värdefältet,
och nyckeln Baz-kartor till värdet qux.
Vi kan enkelt komma åt dessa nyckelpar värde med hjälp av en speciell variabel i PHP,
$ _GET.
$ _GET Är en associativ array
som fylls i automatiskt med frågesträngdata.
Det innebär att med tanke på denna webbadress $ _GET ["foo"]
kommer att vara lika med den sträng bar.
>> Låt oss ta en titt på get.php att se $ _GET i aktion.
Här vi använder en funktion som kallas var_dump,
som när det ges en array eller annan variabel
kommer att skriva ut den för oss.
Nu om vi bara åt http://localhost/get.php
sedan får vi se en tom array, eftersom vi inte har gett en frågesträng.
Om vi ​​ger en frågesträng via http://localhost/get.php?foo=bar&baz=qux
då kan vi se att $ _GET variabel kommer att innehålla
Frågesträngen viktigaste värdepar.
Men vad händer om vi inte vill sätta våra data inne i webbadressen till en sida?
För stora mängder data, kan detta leda till några ganska fula webbadresser
som kommer att göra vår blanka hemsida ser lamt.
Vi kan istället sätta frågesträngen i kroppen
av HTTP-förfrågningar snarare än begäran URL.
Då kan vi använda PHP: s $ _POST variabeln
för att komma åt nyckelpar värde.
Ett sätt att göra detta är via ett HTML-formulär.
Här har vi en enkel HTML-formulär.
Observera här att metoden attributet för denna form är inlägget.
Detta talar om för webbläsaren att sätta formulärets nyckelpar värde
in i kroppen av begäran i stället för URL-adressen.
>> Om vi ​​skulle använda värdet får för detta attribut
då formulärets nyckelpar värde skulle i stället gå in i frågesträngen,
så vi kunde komma åt dem via $ _GET igen.
Handlingen attribut i formuläret talar om för webbläsaren var att skicka data.
Här våra 2 ingångselement har namnattribut.
Värdet av namnattribut kommer att fungera som nycklar till våra data,
och värdena på text ingångar blir värdena för dessa nycklar.
Nu ska vi ta en titt på post.php,
filen att detta formulär lämna in till.
Precis som vi gjorde innan, vi bara visa innehållet i $ _POST variabeln.
>> Låt oss gå till formuläret med http://localhost/form.php.
Nu när vi skicka formuläret kan vi se att data från form.php
skickas till post.php utan att lägga till ett frågesträng till URL.
Nu har vi sett två olika sätt att överföra data mellan PHP-sidor,
få och posta.
I vårt exempel har vi använt två olika typer av HTTP-förfrågningar.
Som du kanske tror, ​​var en begäran vänja när vi befolkade
$ _GET Från URL och ett inlägg begäran användes
när vi befolkade $ _POST.
Vid utformningen av din webbprogram är det en bra tumregel att använda får förfrågningar
när din app bara att läsa data, och efter önskemål
när din app kommer att skriva data.
Till exempel kommer en sökfråga läsa data från din app,
så en begäran få vettigt.
Å andra sidan, kommer din app skriver data via något som liknar ett registreringsformulär,
så ett inlägg begäran vore bättre, och det är en översikt av några av de tekniker
Vi kommer att använda i CS50 för att skapa webbplatser med PHP.
>> Mitt namn är Tommy, och detta är CS50.
[CS50.TV]