[Powered by Google Translate] [PHP Web Development]
[Tommy MacWilliam]
[Dette er CS50.] [CS50.TV]
>> I denne video, vil vi lære at bruge PHP for webudvikling.
PHP er et scriptsprog, der kan bruges til at implementere
hjemmesider på en webserver.
En webserver er hovedsageligt en maskine dedikeret til at levere indhold
der kan tilgås via internettet.
Når du navigerer til en webside som Facebook.com / home.php
koden i fil kaldet home.php der bor på en Facebook-webserver et eller andet sted
vil blive udført på den pågældende server.
Denne kode vil sandsynligvis generere nogle output
som igen vil blive sendt fra serveren
til din webbrowser.
Vi vil bruge CS50 apparat som en webserver.
Din maskine vil sandsynligvis ikke være nær så kraftig som maskinerne
i en Facebook datacenter, men du har ikke noget problem at bruge det til webudvikling.
>> Når vi navigere til en webadresse som http://localhost/hello.php
vi konfigurere apparatet via et program kaldet Apache HTTP-serveren
at søge efter en fil kaldet hello.php inde i hjemmet / jharvard / vhosts / localhosts / html som standard.
Hvis filen eksisterer så Apache vil bruge PHP tolk
at udføre PHP kode i hello.php.
Hvis denne fil ikke findes, så Apache vil kaste et ikke fundet fejl
eller en 404 fejl, som du sikkert har set, mens du browser på internettet.
>> Lad os tage et kig på hello.php.
Vi kan se her, at hello.php genererer et signal linje af produktionen.
Når vi kørte hello.php på kommandolinjen via php hello.php
at produktionen blev trykt til terminalen.
Nu, når vi adgang til denne fil via en URL i webbrowseren
sin produktion vil blive sendt til webbrowseren,
så på vej til den URL, http://localhost/hello.php,
vi kan se output i vores web browser.
>> Lad os prøve at tilføje en anden printf til vores hej verden program.
Okay, lad os gå tilbage til webbrowseren og se, hvad vi har.
Interessant.
Snarere end at udskrive en anden linje på sin egen linje, som du ville have set
i terminalen, det ligner det fik smushed på samme linje
som den anden printf, så du skal måske nye linjer ikke arbejde i PHP.
Ikke helt.
Husk, at HTML typisk bruges til at oprette websider
der kan vises af webbrowsere.
Ikke alene er den streng, hej fra php ikke gyldig HTML,
men minder om, at vi ikke kan bruge \ n tegn i HTML
at skabe et linjeskift.
I stedet for blot at udsende en streng lad os output gyldig HTML.
Ved hjælp af stk tags hver af vores printf opkald
vil blive vist på sin egen linje,
så nu når vi besøger URL peger på valid.php
http://localhost/valid.php
ser vi det output, som vi leder efter.
>> Hvis vi nu se kilden til denne side
Vi kan se, at vi nu kigger på gyldig HTML,
som vi har skabt fra PHP.
Sætte alle vores HTML inde printf opkald
er naturligvis kommer til at blive virkelig irriterende.
Heldigvis kan vi nemt blande HTML og PHP
i det samme. php fil.
Husk, at alle vores PHP kode skal vedlægges indenfor <? Php
og>.
Alt, hvad der ikke er lukket inden for disse afgrænsere
vil simpelthen blive sendt som output til browseren
snarere end at blive udført.
Det betyder, at vi kan gøre noget som dette.
Vi kan simpelthen skrive HTML inde i vores. Php fil
og derefter indsætte PHP blokke, hvor vi vil gerne have noget php kode, der skal udføres.
Her definerer vi nogle variabler i toppen af ​​filen,
og senere vi printe dem ud inde i vores HTML.
Nu, hvis vi besøger denne webadresse, http://localhost/mixed.php
vi kan se vores evalueret PHP inde i vores HTML.
>> Lad os nu tage et kig på, hvordan vi kan overføre data
blandt vores forskellige PHP-sider.
Snarere end at sige
kan vi blot sige <? = variablen vi gerne udskrive, eller en,
og>.
Lad os nu tage et kig på, hvordan vi kan overføre data
blandt vores forskellige PHP-sider.
En måde, vi kan gøre det er at indkode oplysninger i webadressen på en side.
Når du browser på internettet, du måske har bemærket, at nogle webadresser
indeholde en? efterfulgt af en streng, der indeholder ampersands og lighedstegn.
Denne del af URL'en er kendt som søgestrengen,
og dette giver dig mulighed for effektivt at passere argumenter til din PHP script.
Strengen forespørgsel består af centrale værdi par, ligesom en hash tabel.
Et lighedstegn adskiller en nøgle og dens tilsvarende værdi
mens-tegn adskille par.
En URL-adresse, der ligner http://localhost/get.php?foo=bar&baz=qux
har 2 centrale værdi par i søgestrengen.
Nøglen foo kort til den værdi, bar,
og nøglen baz kort til værdien QUX.
Vi kan nemt få adgang til disse centrale værdipar hjælp af en speciel variabel i PHP,
$ _GET.
$ _GET Er et associativt array
der udfyldes automatisk med forespørgsel strengdata.
Det betyder, at i betragtning af denne webadresse $ _GET ["foo"]
vil være lig med strengen bar.
>> Lad os tage et kig på get.php at se $ _GET i aktion.
Her bruger vi en funktion kaldet var_dump,
som når det gives en matrix eller anden variabel
vil printe det ud for os.
Nu, hvis vi simpelthen adgang http://localhost/get.php
så vil vi se en tom matrix, fordi vi ikke har givet en query string.
Hvis vi giver en query string via http://localhost/get.php?foo=bar&baz=qux
så kan vi se, at $ _GET variabel vil indeholde
søgestrengen vigtigste værdi par.
Men hvad nu, hvis vi ikke ønsker at sætte vores data i webadressen på en side?
Ved store mængder af data, kan dette resultere i nogle ret grimme URL'er
der kommer til at gøre vores skinnende website ser halt.
Vi kan i stedet sætte søgestrengen i kroppen
af HTTP-anmodninger snarere end anmodningen URL.
Så kan vi bruge PHP er $ _POST variabel
at få adgang til de centrale værdi par.
En måde at gøre dette på er via en HTML-formular.
Her har vi en simpel HTML-formular.
Bemærk her, at den metode, egenskab ved denne formular er post.
Det fortæller browseren at sætte formularens vigtigste værdi par
i kroppen af ​​anmodningen i stedet for URL.
>> Hvis vi skulle bruge værdien får for denne attribut
så formularens vigtigste værdi par i stedet ville gå ind i søgestrengen,
så vi kunne få adgang til dem via $ _GET igen.
Handlingen egenskab af formen fortæller browseren, hvor man kan sende data.
Her vores 2 input elementer har navn attributter.
Værdien af ​​navnet attributter vil tjene som nøgler til vores data,
og værdierne af teksten input vil blive værdier af disse nøgler.
Lad os nu tage et kig på post.php,
den fil, denne formular er at underkaste sig.
Ligesom vi gjorde før, vi blot at vise indholdet af $ _POST variabel.
>> Lad os gå til formularen med http://localhost/form.php.
Nu når vi indsender formularen kan vi se, at data fra form.php
videregives til post.php uden at tilføje en query string i URL.
Nu har vi set 2 forskellige måder at videregive data mellem PHP-sider,
få og sende.
I vores eksempel, vi brugte 2 forskellige typer af HTTP-anmodninger.
Som man kunne forvente, var en get anmodning bruges, når vi befolkede
$ _GET Fra webadressen, og en post anmodning blev brugt
når vi befolkede $ _POST.
I at designe dit web apps, det er en god tommelfingerregel at bruge får anmodninger
når din app vil kun læse data, og post anmoder
når din app vil skrive data.
For eksempel vil en søgning læse data fra din app,
så en get anmodning giver mening.
På den anden side, vil din app skrive data via noget som en tilmeldingsblanket,
så et indlæg anmodning ville give mere mening, og det er en oversigt over nogle af de teknikker,
vi vil bruge i CS50 at oprette hjemmesider med PHP.
>> Mit navn er Tommy, og det er CS50.
[CS50.TV]