[Powered by Google Translate] [Développement Web PHP]
[Tommy MacWilliam]
[C'est CS50.] [CS50.TV]
>> Dans cette vidéo, nous allons apprendre sur l'utilisation de PHP pour le développement web.
PHP est un langage de script qui peut être utilisé pour mettre en œuvre
sites Web sur un serveur Web.
Un serveur web est essentiellement une machine dédiée à fournir des contenus
qui peuvent être accessibles via l'Internet.
Lorsque vous accédez à une page Web comme Facebook.com / home.php
le code dans le fichier appelé home.php qui vit sur un serveur web Facebook part
seront exécutées sur ce serveur.
Ce code sera probablement générer des sorties
qui à son tour être envoyé à partir du serveur
à votre navigateur Web.
Nous allons utiliser l'appareil de CS50 comme un serveur web.
Votre appareil ne sera probablement pas aussi puissant que les machines
dans un centre de données Facebook, mais vous n'aurez aucun problème à l'utiliser pour le développement web.
>> Lorsque nous naviguons vers une URL comme http://localhost/bonjour.php
nous configurons l'appareil via une application appelée le serveur HTTP Apache
pour trouver un fichier appelé hello.php l'intérieur de la maison / jharvard / vhosts / localhosts / html par défaut.
Si ce fichier existe, Apache va utiliser l'interpréteur PHP
pour exécuter le code PHP dans hello.php.
Si ce fichier n'existe pas, Apache va jeter une erreur introuvable
ou une erreur 404, que vous avez probablement déjà vu tout en naviguant sur le Web.
>> Jetons un coup d'oeil à hello.php.
Nous pouvons voir ici que hello.php génère une ligne de signal de sortie.
Lorsque nous avons couru hello.php à la ligne de commande via php hello.php
que la sortie a été imprimée à la borne.
Maintenant, quand on accéder à ce fichier via une URL dans le navigateur Web
sa sortie est envoyée au navigateur Web,
si la position de l'URL, http://localhost/bonjour.php,
nous pouvons voir le résultat dans notre navigateur.
>> Essayons d'ajouter un autre printf à notre programme mondial de bonjour.
D'accord, nous allons la tête au navigateur web et voir ce que nous avons.
Intéressant.
Plutôt que d'imprimer une autre ligne sur sa propre ligne, que vous auriez vu
dans le terminal, on dirait qu'il s'est smushed sur la même ligne
comme l'autre printf, alors peut-être de nouvelles lignes ne fonctionnent pas en PHP.
Pas tout à fait.
Rappelez-vous que HTML est généralement utilisé pour créer des pages web
qui peuvent être affichés par les navigateurs Web.
Non seulement la chaîne bonjour de php pas valide HTML,
mais rappelons que nous ne pouvons pas utiliser le caractère \ n en HTML
pour créer un saut de ligne.
Au lieu de sortir tout simplement sortie valide HTML d'un let de chaîne.
En utilisant des balises de paragraphe chacun de nos appels printf
sera affiché sur sa propre ligne,
Alors maintenant, quand nous visitons l'URL pointant vers valid.php
http://localhost/valid.php
nous voyons la sortie que nous recherchons.
>> Maintenant, si nous considérons la source de cette page
nous pouvons voir que nous sommes maintenant à la recherche de code HTML valide,
que nous avons créé à partir de PHP.
Mettre tout notre HTML à l'intérieur appels printf
est bien sûr va être vraiment gênant.
Heureusement, nous pouvons facilement HTML et PHP mélanger
dans le même fichier php..
Rappelez-vous, l'ensemble de notre code PHP doit être enfermé à l'intérieur <? Php
et?>.
Tout ce qui n'est pas enfermé dans ces séparateurs
seront simplement envoyé en sortie sur le navigateur
plutôt que d'être exécuté.
Cela signifie que nous pouvons faire quelque chose comme ça.
Nous ne pouvons tout simplement écrire en HTML à l'intérieur de notre fichier php.
puis insérer des blocs PHP où nous aimerions un peu de code PHP à exécuter.
Ici, nous définissons quelques variables au début du fichier,
et plus tard, nous imprimons les à l'intérieur de notre HTML.
Maintenant, si nous visitons cette URL, http://localhost/mixed.php
nous pouvons voir notre PHP évalué à l'intérieur de notre HTML.
>> Maintenant, nous allons jeter un oeil à la façon dont nous pouvons passer des données
parmi nos différentes pages PHP.
Plutôt que de dire
nous ne pouvons tout simplement dire <? = la variable que nous aimerions imprimer, ou une,
et?>.
Prenons maintenant un regard sur la façon dont nous pouvons passer des données
parmi nos différentes pages PHP.
Une façon de le faire est de coder les informations dans l'URL d'une page.
Lorsque vous naviguez sur le Web, vous avez peut-être remarqué que certaines URL
contiennent une? suivi par une chaîne contenant des esperluettes et les signes d'égalité.
Cette partie de l'URL est connue comme la chaîne de requête,
et cela vous permet de passer efficacement des arguments à votre script PHP.
La chaîne de requête est constitué de paires clé-valeur, tout comme une table de hachage.
Un signe égal sépare une clé et sa valeur correspondante
tandis que perluètes séparent paires.
Une URL qui ressemble à http://localhost/get.php?foo=bar&baz=qux
a deux paires de clés de valeur dans la chaîne de requête.
La clé foo cartes à la barre de la valeur,
et la baz clé correspond à la valeur qux.
Nous pouvons facilement accéder à ces paires de valeurs de clés en utilisant une variable spéciale en PHP,
$ _GET.
$ _GET Est un tableau associatif
qui est automatiquement rempli avec les données de chaîne de requête.
Cela signifie que, étant donné cette URL $ _GET ["foo"]
sera égal à la barre de chaîne.
>> Jetons un coup d'oeil à get.php voir $ _GET dans l'action.
Ici nous utilisons une fonction appelée var_dump,
qui, lorsqu'il est donné un tableau ou d'une autre variable
sera l'imprimer pour nous.
Maintenant, si nous accédons simplement http://localhost/get.php
puis nous verrons un tableau vide parce que nous n'avons pas fourni une chaîne de requête.
Si nous fournissons une chaîne de requête via http://localhost/get.php?foo=bar&baz=qux
alors nous pouvons voir que la variable $ _GET contiendra
paires de valeurs clés de la chaîne de requête.
Mais que faire si nous ne voulons pas mettre nos données dans l'URL d'une page?
Pour de grandes quantités de données, ce qui peut entraîner dans certaines URL assez laids
qui vont rendre notre website éclatant regard boiteux.
Nous pouvons mettre à la place de la chaîne de requête dans le corps
des requêtes HTTP plutôt que l'URL de la demande.
Ensuite, nous pouvons utiliser $ _POST la variable PHP
pour accéder à des paires de valeurs clés.
Une façon de le faire est par le biais d'un formulaire HTML.
Ici, nous avons un simple formulaire HTML.
Notez ici que l'attribut de méthode de ce formulaire est post.
Cela indique au navigateur de mettre des paires de valeurs clés de la forme
dans le corps de la demande plutôt que de l'URL.
>> Si nous devions utiliser la valeur de cet attribut obtenir
alors paires de valeurs clés de la forme serait plutôt aller dans la chaîne de requête,
afin que nous puissions y accéder via $ _GET nouveau.
L'attribut action du formulaire indique au navigateur où envoyer les données.
Voici nos éléments d'entrée 2 ont attributs de nom.
La valeur des attributs de nom servira clés dans nos données,
et les valeurs des entrées de texte deviendront des valeurs de ces clés.
Maintenant, nous allons jeter un oeil à post.php,
le fichier que cette forme présente à.
Tout comme nous l'avons fait avant, nous sommes tout simplement afficher le contenu de la variable $ _POST.
>> Disons accédez au formulaire http://localhost/form.php.
Maintenant, lorsque nous soumettons la forme, nous pouvons voir que les données de form.php
est passé à Post.php sans ajouter une chaîne de requête à l'URL.
Maintenant que nous avons vu deux façons de passer des données entre les pages PHP,
GET et POST.
Dans nos exemples, nous avons utilisé deux types de requêtes HTTP différentes.
Comme on pouvait s'y attendre, une demande d'obtention a été utilisé lorsque nous avons peuplé
$ _GET Partir de l'URL, et une demande de poste a été utilisé
quand nous avons peuplé $ _POST.
Dans la conception de vos applications web c'est une bonne règle de base pour utiliser les requêtes GET
lorsque votre application ne lire les données, et les demandes de poste
lorsque votre application va écrire des données.
Par exemple, une requête de recherche sera de lire les données à partir de votre application,
si une demande d'obtention de sens.
D'autre part, votre application va écrire des données via quelque chose comme un formulaire d'inscription,
si une demande de poste aurait plus de sens, et c'est un aperçu de certaines des techniques
nous allons utiliser dans CS50 à créer des sites Web utilisant PHP.
>> Mon nom est Tommy, et c'est CS50.
[CS50.TV]