[Powered by Google Translate] [PHP Web Development] [Tommy MacWilliam] [Dit is CS50.] [CS50.TV] In deze video zullen we leren over het gebruik van PHP voor webontwikkeling. PHP is een scripttaal die kan worden gebruikt voor het implementeren websites op een webserver. Een webserver is in wezen een machine gewijd aan het verstrekken van de inhoud die kan worden geraadpleegd via het internet. Wanneer u navigeren naar een webpagina zoals Facebook.com / home.php de code in het bestand genaamd home.php die leeft op een Facebook webserver ergens zullen worden uitgevoerd op die server. Deze code zal waarschijnlijk genereren sommige uitgang die op hun beurt van de server wordt verzonden naar uw webbrowser. We zullen gebruik maken van de CS50 apparaat als een webserver. Uw machine zal waarschijnlijk niet zo krachtig als de machines zijn in een Facebook-datacenter, maar je zult geen probleem hebben het te gebruiken voor web ontwikkeling. Wanneer we navigeren naar een URL zoals http://localhost/hello.php we het apparaat te configureren via een applicatie genaamd de Apache HTTP server om te zoeken naar een bestand genaamd hello.php binnenkant van huis / jharvard / vhosts / localhosts / html standaard. Als dat bestand bestaat dan Apache zal de PHP interpreter gebruiken aan de PHP-code in hello.php voeren. Als dat bestand niet bestaat dan Apache zal niet gevonden fout gooien of een 404-fout, die je waarschijnlijk hebt gezien tijdens het surfen op het web. Laten we eens een kijkje nemen op hello.php. We kunnen hier zien dat hello.php genereert een signaal lijn van de output. Toen liepen we hello.php op de commandoregel via php hello.php de output is afgedrukt op de terminal. Nu, als we toegang tot dit bestand via een URL in de webbrowser de productie zal worden verzonden naar de webbrowser, dus op weg naar de URL, http://localhost/hello.php, kunnen we de output zien in onze web browser. Laten we proberen het toevoegen van een printf om onze programma Hello World. Oke, laten we terug naar de webbrowser en zien wat we hebben. Interessant. In plaats van het afdrukken van een andere lijn op zijn eigen lijn, zoals je zou hebben gezien in de terminal, het lijkt alsof het werd smushed op dezelfde lijn als de andere printf, hoeft dus misschien nieuwe lijnen werken niet in PHP. Niet helemaal. Vergeet niet dat HTML doorgaans wordt gebruikt om webpagina's te creëren dat kan worden weergegeven door webbrowsers. Niet alleen is de string hello from php niet geldig HTML, maar herinneren dat we de \ n teken in HTML niet kunt gebruiken om een ​​regeleinde te maken. In plaats van simpelweg het uitvoeren van een reeks laten we naar correcte HTML. Door het gebruik van paragraaf-tags elk van onze printf oproepen zal op zijn eigen regel worden weergegeven, dus nu wanneer we een bezoek aan de URL die wijst naar valid.php http://localhost/valid.php zien we de output die we zoeken. Nu, als we de bron van deze pagina te bekijken kunnen we zien dat we nu op zoek naar geldige HTML, die we gemaakt op basis van PHP. Zet al onze HTML binnen printf oproepen is uiteraard gaat echt vervelend. Gelukkig kunnen we gemakkelijk HTML en PHP mengen in het gelijk. php-bestand. Vergeet niet dat al onze PHP-code moet worden ingesloten in . Alles wat niet binnen deze scheidingstekens wordt omsloten gewoon als output naar de browser gestuurd plaats wordt uitgevoerd. Dat betekent dat we zoiets doen. We kunnen gewoon schrijven HTML binnenkant van onze php-bestand. en steek vervolgens PHP blokken waar we graag wat php code die wordt uitgevoerd. Hier definiëren we een aantal variabelen aan de bovenkant van het bestand, en later te printen we ze uit de binnenkant van onze HTML. Nu als we bezoeken deze URL, http://localhost/mixed.php kunnen we onze geëvalueerd PHP zie binnenkant van onze HTML. Laten we nu eens kijken hoe we de gegevens kunnen doorgeven tussen onze verschillende PHP-pagina's. Plaats van te zeggen kunnen we gewoon zeggen . Laten we nu eens kijken naar hoe we de gegevens kunnen doorgeven tussen onze verschillende PHP-pagina's. Een manier kunnen we dat doen is om informatie te coderen in de URL van een pagina. Tijdens het surfen op het web, kan je zijn opgevallen dat bepaalde URL's bevatten? gevolgd door een string met ampersand en gelijke borden. Dit deel van de URL is bekend als de query string, en hiermee kun je effectief argumenten door te geven aan uw PHP-script. De query string bestaat uit de belangrijkste waarde paren, net als een hash table. Een gelijk-teken scheidt een sleutel en de bijbehorende waarde terwijl ampersand scheiden paren. Een URL die lijkt op http://localhost/get.php?foo=bar&baz=qux heeft 2 belangrijke waarde-paren in de query string. De sleutel foo toegewezen aan de waarde bar, en de sleutel baz kaarten om de waarde qux. We kunnen eenvoudig toegang tot deze belangrijke waarde paren met behulp van een speciale variabele in PHP, $ _GET. $ _GET Is een associatieve array dat wordt automatisch gevuld met query string data. Dat betekent dat bij deze URL $ _GET ["foo"] gelijk aan de string balk zijn. Laten we eens een kijkje nemen op get.php te zien $ _GET in actie. Hier gebruiken we een functie genaamd var_dump, die wanneer gegeven een matrix of andere variabele zal het uit te drukken voor ons. Als we nu gewoon toegang http://localhost/get.php dan zullen we een lege array zien want we hebben nog geen query string. Als we bieden wel een query string via http://localhost/get.php?foo=bar&baz=qux dan kunnen we zien dat de $ _GET variabele zal bevatten belangrijke waarde paren de query string. Maar wat als we niet willen dat onze gegevens in de URL van een pagina te zetten? Voor grote hoeveelheden gegevens, kan dit resulteren in een aantal mooie lelijke URL's die gaan onze glanzende website kijken kreupel maken. We kunnen in plaats daarvan de query string in het lichaam van de HTTP-verzoeken in plaats van de URL van het verzoek. Dan kunnen we PHP $ _POST variabele om de sleutelwaarde paren. Een manier om dit te doen is via een HTML-formulier. Hier hebben we een eenvoudige HTML-formulier. Let hier op dat de methode attribuut van dit formulier is bericht. Dit vertelt de browser om de belangrijkste waarde-paren van het formulier gezet in het lichaam van het verzoek plaats van de URL. Als we gebruik maken van de waarde te krijgen voor dit kenmerk Toets vervolgens waarde paren van het formulier zou in plaats daarvan gaan in de query string, zodat we ze bereiken via $ _GET weer. De actie attribuut van het formulier vertelt de browser waar de gegevens te verzenden. Hier onze 2 ingang elementen naam attributen. De waarde van de naam attributen dienen als sleutels in de gegevens, en de waarden van de tekst ingangen waarden van die sleutels worden. Laten we nu eens een kijkje nemen op post.php, het bestand dat deze vorm is het indienen van aan. Net zoals we eerder deden we gewoon het weergeven van de inhoud van de $ _POST variabele. Laten we navigeren naar het formulier met http://localhost/form.php. Nu als we het formulier kunnen we zien dat de gegevens van form.php wordt doorgegeven aan post.php zonder het toevoegen van een query string naar de URL. Nu hebben we gezien 2 verschillende manieren van het doorgeven van gegevens tussen PHP-pagina's, GET en POST. In ons voorbeeld, gebruikten we 2 verschillende soorten van HTTP-verzoeken. Zoals je zou verwachten, is een GET-verzoek gebruikt wanneer we bevolkt $ _GET Uit de URL, en een post verzoek werd gebruikt toen we bevolkt $ _POST. Bij het ontwerpen van uw web-apps is het een goede vuistregel om get verzoeken te gebruiken wanneer uw app alleen gegevens zullen lezen, en post aanvragen wanneer uw app data zal schrijven. Zo zal een zoekopdracht gegevens van uw app te lezen, dus een GET-verzoek zinvol. Aan de andere kant, zal je app gegevens te schrijven via iets als een inschrijfformulier, dus een post verzoek zou meer zin te maken, en dat is een overzicht van enkele van de technieken we zullen gebruiken in CS50 om websites te maken met behulp van PHP. Mijn naam is Tommy, en dit is CS50. [CS50.TV]