>> Vous pourriez rappeler de la dernière fois que nous avons examiné
à ce dernier exemple de MVC,
un contrôleur de vue du modèle architecture,
et à peu près bouillir
vers le bas pour organiser les choses un peu plus proprement
dans les annuaires.
Et si je fais arbre, qui est juste une commande
qui me montre le système de fichiers comme ça, nous avions une belle
et soigné modèles répertoire, un annuaire public, et ainsi de suite.
Et l'idée générale a été seulement mis
dans le répertoire public les fichiers qui ont vraiment besoin
être public, et tout autre devrait être bien organisé.
Mais de manière efficace, à l'intérieur de cette répertoire public, nous avions tous
le groupe entier de contrôleurs, régulateurs individuels
que de toute façon nécessaire ou inclus d'autres fichiers.
Mais nous n'avions pas beaucoup plus de fonctionnalités que cela,
et, en fait, nous avons un peu dû mettre en œuvre cette notion de point de vue,
ou modèles, nous-mêmes, avec la fonction de l'extrait
et une fonction de rendre cette nous nous mis en place.
Et comme il est, nous commençons à faire cela, nous allons commencer à réaliser -
nous allons commencer à construire une la liste de souhaits, comme, oh, wow,
Je voudrais avoir une bibliothèque pour envoyer des emails.
Je voudrais avoir une bibliothèque pour la création d'une base de données.
Je souhaite j'ai bibliothèque pour Dot Dot Dot.
Et c'est pourquoi les bibliothèques existent.
C'est pourquoi les gens utilisent Django avec Python,
car il vous donne un peu plus.
C'est pourquoi les gens utilisent Rails avec Ruby
car il vous donne un peu plus.
C'est pourquoi nous allons utiliser Laravel car en plus de PHP,
il vous donne un peu plus.
Et juste pour vous apprendre, alors, pour un moment, je vais aller
dans un répertoire v-hôte
dans un exemple d'application utilisant Laravel.
À première vue, franchement, c'est probablement un peu écrasante
car il ya tellement de fichiers, répertoires, autant de
mais la chose importante, et que nous verrons après une courte pause,
est de se concentrer uniquement sur les choses les plus germane
pour avoir travaillé d'abord, et cela va
d'être dans le répertoire apt.
Comme vous le voyez et entendez, il sont encore un tas de dossiers,
mais celles sur d'aller aux soins sur, principalement, sont ce.
Si j'ouvre arrêt de l'itinéraire PHP, avis comme un teaser,
comment cette application est sur le point de travailler.
Il s'agit d'une ré-implémentation dans Laravel
de la super simple demande de cours stupide
qui m'a donné la semaine zéro, semaine un, des conférences et des fichiers PDF.
Je vais simplement préciser - mon écran est un peu coupée,
nouveau - je vais préciser ce qui suit,
que je veux définir un itinéraire aide de HTTP GET pour slash,
et chaque fois qu'un utilisateur pour ce visites d'application slash
sur mon site, je veux exécuter le morceau anonyme de code,
à savoir revenir vue côlon marque.
Cela signifie donc appel une méthode statique à l'intérieur
d'une classe appelée vue, et maquillage rend un modèle
qui est appelé indice, et il passe dans un groupe
des paires de valeurs clés, dans ce cas, le titre.
Pendant ce temps, si l'utilisateur visites slash conférences,
ce code doit exécuter,
et le modèle de conférences doit se rendre.
Enfin, si l'utilisateur visite conférences slash quelque chose,
où que quelque chose est, par le fond ici, un certain nombre,
un ou plusieurs chiffres décimaux,
alors je veux rendre les conférences modèle,
passant dans le titre ainsi.
Ainsi, le résultat final est que -
si je tire effectivement cette application dans mon navigateur,
le résultat final - whoops.
Le résultat final est exactement les mêmes,
mais avec un peu URL plus sexy maintenant.
Maintenant, il est une barre de conférence 0 au lieu de zéro semaine dot PHP.
Mais, arrêtons-nous ici.
Prenons deux minutes rompre, et lorsque nous reviendrons,
Tim va venir sur vous et nous présenter
les rouages de Laravel et le genre
des fonctionnalités que nous sommes sur le point de sortir de la boîte.
>> Bon, alors, maintenant, nous sommes allez prendre une plongée profonde
dans le cadre Laravel PHP, qui a dit David.
Donc Laravel, la première place nous allons commencer va
au démarrage rapide
et de l'installer via quelque chose qui s'appelle Compositeur.
Donc Composer est un système de gestion des paquets
pour PHP similaire à gemmes pour Ruby ou Pit
pour Python ou MPM pour No JS.
Compositeur aide à gérer tous les différentes dépendances
que Laravel dépend du moment - En quelque sorte, sous le capot.
Il utilise beaucoup de la symphonie,
un autre cadre de PHP fonctionnement interne.
Et, oui, nous allons d'utiliser la ligne de commande
qu'ils nous donnent ici, Compositeur créer un projet Laravel Laravel,
après que nous avons installé l'utilitaire de compositeur,
que j'ai déjà fait sur le - nous allons voir.
Je suis donc d'utiliser l'appareil CS 50
parce que cela a tout l' les versions de PHP et My SQL
et tout ce que nous devons pour commencer la course.
Donc, je vais aller de l'avant et tirer vers le haut la borne ici
et sauter dans le v-hôte répertoire, et je vais
coller ce - oh, je ne peut pas faire de cette façon.
Donc, je vais SSH à l'instance Linux
que je l'exécute dans le VMWare.
Et je vais courir ce Compositeur créer un projet Laravel,
et je vais changer le nom de votre projet
juste exemple dot dev.
Et dans les coulisses,
cela prend un peu de temps la première fois que vous allez
de le faire, mais il est l'installation de toutes les dépendances
que vous allez besoin d'exécuter Laravel.
Donc, j'espère que cela ne pas prendre trop de temps.
Il faut juste prendre un deuxième.
La première fois que vous le faites, il faudra quelques minutes,
probablement parce qu'il doit obtenir tout.
J'ai tout mis en cache ici.
Alors, maintenant que nous avons par exemple point dev, ce que nous allons avoir besoin de
à faire pour être en mesure d'accéder à cette
dans notre navigateur Chrome est aller de l'avant et sauter dans -
nous allons pseudo via le fichier hosts Etsy.
Et nous allons aller de l'avant et ajouter une nouvelle ligne ici avec l'IP
de l'appareil 50, qui est représentée ici
dans le coin en bas à droite de l'écran, le 192 168 -
et ce pourrait être différent en fonction de votre machine,
si 192 168 69 128 [audio briser] exemple de projet dot dev.
Très bien. Sauf que.
Donc, maintenant, si nous allons à l'exemple dot dev, nous voyons le - nous allons voir.
Oh, j'étais dans le mauvais répertoire, alors laissez-moi aller de l'avant
et déplacer le dev exemple de point dans le répertoire v-hôte.
Et maintenant, si nous rafraîchir, nous voir qu'il dit interdite.
Vous n'avez pas accès.
Nous devons donc aller dans le répertoire exemple point de dev
dans V-hôte, et nous avons besoin de faire un chmod à 0711, la dev exemple de point,
ainsi que le public - oh, Je l'ai fait mal à chaque fois.
Ainsi, le dev exemple de point, comme ainsi que le répertoire public
c'est-dessous , de sorte qu'il est en mesure
pour se rendre à l'indice de PHP point.
Et maintenant, si nous rafraîchir - oh, nous sommes toujours à avoir des problèmes.
Ainsi, par exemple à l'intérieur du annuaire public,
si nous listons tous les fichiers, y compris celles qui sont cachées,
il ya un fichier d'accès de HD, et il est utilisé par Apache
pour aider à déterminer, pour ce répertoire spécifique,
où les demandes doivent être acheminées.
Donc, ce doit aussi être chmodé à 0644, et maintenant vous êtes arrivé.
C'était donc l'installation rapide de Laravel via la ligne de commande.
Donc, nous allons aller de l'avant, et je vais d'utiliser quelque chose qui s'appelle Samba.
Si vous n'êtes pas familier avec elle, vous pouvez - dans le menu du Finder,
aller pour aller se connecter à serveur, et vous pouvez aller de l'avant
et faire SMB côlon slash slash et l'adresse IP
de l'instance Linux que nous sommes courir dans VMWare et aller de l'avant
et se connecter au serveur de sorte que vous pouvez le monter
comme système de fichiers et l'utiliser
comme si vous étiez sur place qui lui est connecté.
Donc, je vais aller de l'avant et tirer ce
dans un éditeur appelé texte sublime.
Si vous n'êtes pas familier, il est un très bon éditeur
qui est disponible pour modifier les fichiers de code.
Et donc nous allons de prendre un coup d'oeil
dans le répertoire structure pour le projet.
Donc, il ya un peu différente dossiers dans le niveau supérieur.
Il ya de l'application, qui David a déjà mentionné.
Il ya bootstrap, qui sont certains fichiers utilisés en interne
par Laravel pour démarrer tous les dépendances, chargez-les dans,
assurez-vous que toute la magie méthodes sont appelées correctement
de pouvoir [pause audio].
Il est le public répertoire, qui est l'endroit où tous les
de nos actifs orientées public, tels que le PHP indice de point
où les demandes sont acheminées, images, fichiers CSS, JavaScript,
tout ce qui doit être directement accessible
par le monde vit dans le répertoire public.
Et puis le répertoire des fournisseurs sont tous les actifs -
ou la totalité de la [pause audio] sous le capot qui fait beaucoup
des charges lourdes Laravel qui dépend de.
Donc, typiquement, dans une population répertoire, c'est en quelque sorte
de ce que vous voulez voir, le CSS, JavaScript,
ces fichiers ne sont pas là quand vous installez le cadre,
mais ce sont des choses qui vous voudrez probablement à ajouter
que vous construisez vos applications.
Le fichier d'accès de HD que je susmentionné et le PHP indice de point,
qui est l'avant le dispositif de commande pour -
où toutes les demandes passer d'abord.
Donc, dans l'application dossier, ce sont -
il ya en fait un couple -
il ya effectivement un peu différents dossiers ici.
Il ya beaucoup d'entre eux, et comme l'a dit David,
Il peut être écrasante au premier abord, mais vous voulez juste à se concentrer
sur celles-ci en particulier.
Donc, il ya des routes de point de PHP, c'est ce que nous avons vu plus tôt
pour montrer que vous pouvez acheminer un méthode d'URL et HTP spécifique
à une certaine soit anonyme fonction, comme David utilisait,
ou un contrôleur, qui nous sommes sur le point de passer en revue.
Il ya le dossier CONFIG,
qui est l'endroit où vous définissez une configuration de l'application
que vous avez besoin, tels que paramètres de base de données ou des API
que vous pourriez avoir affaire à.
Si vous faites quelque chose pour envoyer du courrier
ou si vous vous connectez à Amazon pour stocker des images,
vous devez définir l'ensemble des ces configurations
en un point central dans la application de sorte que -
sorte de conventions tout le monde, comme ils travaillent
sur une équipe, vous n'avez pas à penser à où est-ce.
C'est juste que vous avez un définir endroit où il va.
Ce serait dans CONFIG.
Les contrôleurs sont la placer dans la demande
où vous avez l'habitude acheminer les demandes.
Ainsi, le contrôleur gère une sort de la logique d'application
et une sorte de ramasse ce que le affichage de l'écran va
être, les points de vue, et puis aussi des coquilles
sur les différents modèles qui contiennent les données
et passer ceux à la vue.
Donc, vous sorte de - le contrôleur est une sorte de répartiteur
pour les demandes, vous le savez, ce que vous allez faire
avec les données - ou avec - en fonction de la demande est,
quelles données doivent figurer et où pouvons-nous partir.
Et les vues sont généralement juste HTML,
peut-être l'aide d'un gabarit moteur, comme nous allons aller
sur la création de modèles de lame moteur que les navires Laravel avec.
Et puis les autres répertoires pour le moment, nous allons juste
en quelque sorte de gommer et ne pas s'inquiéter.
Mais ceux comprennent des tests, afin applications libre de l'appareil à tester,
filtres, stockage.
Je continue à faire cela.
Tout droit, le saut sauvegarder ici.
Donc la première chose qu'il est livré avec cet itinéraire obtenir
et il ne vue faire bonjour.
Donc, si nous regardons dans le répertoire de vues,
nous voyons qu'il ya est un PHP bonjour de point,
et c'est là ce que vous sont arrivés vient.
Mais nous pouvons aussi changer cet -
ainsi, nous pouvons changer cela en bonjour, et maintenant, si nous essayons d'aller
à une voie qui n'est pas défini nous obtenons ce genre de plateaux de pile
comme ce qui s'est mal avec l'application.
Mais si nous allons réduire bonjour,
il est en fait un erreur de serveur interne.
Donc, il ya un peu de la magie se passe dans les coulisses
dans l'appareil 50 à CS assurez-vous que vous êtes en mesure
de nommer tous ces répertoires commodément.
Le nom de la - de sorte que le exemple dev point que nous avons donné.
Donc, nous avons à changer une chose
dans le fichier d'accès de HD.
Donc, nous allons aller de l'avant
et ajouter cette ligne, réécrire slash de base.
Et que, fondamentalement, est une autre directive.
David, vous pouvez parler plus à ce la base de réécriture fait.
>> Il corrige essentiellement plus que le serveur pense.
Il est censé être [Inaudible] hôte virtuel.
Donc, précisant ignorer que par réécrire les adresses slash base.
>> Droit. Donc, maintenant, réduire bonjour fonctionne correctement.
Donc, nous allons sauter par-dessus ici.
Donc, avec juste faire une fonction anonyme comme ça,
il existe - pour cette est juste un rappel
du MVC j'étais juste discuter.
Il va dans les routes et puis des obus sur les contrôleurs,
qui traite de la modèles et points de vue et comment tout
qui devraient être traitées.
Donc, les contrôleurs sont en quelque sorte - aider à centraliser tout cela,
et vous pouvez y accéder via routes en disant itinéraire obtenir.
Donc, nous pourrions dire itinéraire obtenir bonjour,
puis le dispositif de commande nommer au et un nom de méthode.
Donc, nous allons aller de l'avant et donner un coup de feu.
Donc, nous allons dire itinéraire se réduire bonjour,
et nous ferons un bonjour contrôleur au spectacle bonjour.
Donc, pour que cela fonctionne,
nous devons ajouter un fichier appelé bonjour contrôleur point PHP.
Je vais aller de l'avant et - il s'étend à un dispositif de commande de base,
qui Laravel déjà livré avec,
qui s'étend à une unité de commande, qui est une sorte de sous le capot
et fait beaucoup de la choses dans les coulisses
qui aide les contrôleurs pour gérer tout cet état
qui est entrée en l'application.
Ainsi, le contrôleur de la maison, nous l'avons dit il serait nommé spectacle bonjour.
Et nous allons juste - à la place de retour d'un point de vue,
nous allons revenir Bonjour tout le monde.
Oh, bonjour - oh, je l'ai copié.
Bonjour contrôleur.
Donc, bonjour monde.
Donc, c'est juste vraiment, exemple très simple
de la façon dont vous pouvez créer contrôleurs.