Bon >>.
Ainsi, les cours de formation.
Le catalogue de cours de l'Université Harvard a plusieurs milliers de cours,
il ya plusieurs centaines des professeurs
et il ya plusieurs des dizaines de domaines,
informatique juste étant l'un d'entre eux,
et je pensais que nous aurions utilisé ce que l'occasion de commencer à penser
sur la façon de mettre en oeuvre un application Web basé sur des standards
en utilisant PHP et Laravel et aussi comment nous pourrions modéliser certaines
de ces entités du monde réel.
Donc, pour ce faire, nous allons utiliser Laravel, qui est juste un cadre
qui ajoute un grand nombre de caractéristiques de PHP,
un peu comme Jango ajoute même à Python,
Rails ajoute la même Ruby.
Donc, il ya un couple de différentes façons
dans lequel vous pouvez installer Laravel.
La documentation de Laravel, que vous vous souvenez peut
la semaine dernière, est en fait assez riche
et vous pouvez certainement sur votre propre à la pièce de la maison
autour de ce et de suivre les instructions spécifiquement,
mais je vais aller de l'avant et nous donner un rapide,
visite éclair de certains d'entre eux,
semblable à ce que Tim fait l'autre jour,
et je vais d'abord utiliser.
Donc Composer est une sorte de fonctionnalité nouvelle et améliorée
pour le monde PHP qui fait il est plus facile d'installer les choses.
Si vous êtes familier avec la loi Obtenez dans le monde [inaudible]
ou [inaudible] monde ou Yum dans le [inaudible]
et rouge monde de chapeau, ce est encore juste un autre outil
qui vous permet de installer des choses
pour cet environnement particulier.
Donc, si je fais Compositeur, Créer un projet et ainsi de suite,
que je vais faire ici, allons-y avant et juste, je vais vous guider
à travers une partie de ceux-ci étapes que nous avons fait la dernière fois
sans le signe de pour cent, Bon sang, sans Compositeur.
Donc, avec Compositeur-je suis en utilisant une machine virtuelle différente
que je faisais avant.
Faisons-le très vite.
Bon, l'installation Composer est aussi simple que cela.
Donc, je vais faire un, je vais me lever sur ma caisse à savon pendant un certain temps aussi.
C'est effectivement une très paradigme de plus en plus commun
pour installer des choses sur les ordinateurs des gens ces jours-ci,
où vous essentiellement extraire une URL arbitraire,
conduite par le biais d'un interprète et puis faire ce que
ce morceau de code arbitraire vous venez de télécharger dit de le faire.
Il est très facile que vous êtes sur le point à voir, mais réaliser le sceptique
dans votre doit penser que cette est parmi les plus précaires
choses que vous pourriez jamais faire; téléchargement d'un fichier arbitraire
à partir d'Internet, puis aveuglément exécuter par
de la conduite, mais nous allons confiance que le programme d'installation est
en effet légitime aujourd'hui.
Je vais aller de l'avant et courir ça et ça va
pour télécharger le programme.
Il va télécharger un fichier appelé composer.farphparchive,
et je vais aller l'avant et le faire,
sudo-première fait chmod755composer.far,
qui va rendre exécutable par tout le monde,
et puis je vais faire sudo mv compositeur
à l'utilisateur compositeur bin local, et ce qui est l'utilisateur bin locale
pour ceux qui connaissent Linux?
Pour être clair, je fais ceci à l'intérieur
de l'appareil même si J'utilise terminal sur mon MAC.
[Audio à faible] Exactement, si dans un répertoire,
en fait une légère clarification.
Dans le répertoire généralement appelé / bin
ou / userbin sont en effet certains programmes très populaires
comme les CD et LS et ainsi de suite.
En mode bin locale par convention n'est rien par défaut et nous,
les utilisateurs du système, peut mettre tout ce que nous voulons en y
et par défaut, il est dans votre dite chemin de recherche de sorte que
lorsque vous tapez simplement compositeur le système d'exploitation, Linux,
va regarder dans cette répertoire, entre autres
pour trouver le programme en question, et il s'avère que c'est bien
renommer avec l'extension de fichier
parce que nous avons fait exécutable.
Cette chose sera effectivement fonctionner comme nous l'entendons.
Bon alors maintenant je vais revenir
à la ligne que je proposais nous exécuter plus tôt, qui est-ce,
compositeur et il prend un argument de ligne de commande,
dont je ne connais que de la lecture de la documentation,
appelé créer projet.
J'ai besoin de spécifier le nom de le projet sur lequel je veux
à la mine de base et Laravel / Laravel désigne essentiellement
à un concentrateur garde-get dans lequel vit ce code.
Catalogue est un nom arbitraire Je vais donner à mon projet,
le catalogue de cours, mais vous pourriez l'appeler foo
ou toute autre chose, et préfèrent-dist.
C'est un peu coupé.
Cela signifie simplement préfèrent la dernière distribution.
Donc, je vais aller de l'avant et appuyez sur Entrée et comme l'a dit Tim
le mercredi il peut parfois prendre un certain temps,
surtout si vous êtes sur une connexion lente
ou si vous n'avez pas mis en cache certaines de ces choses,
mais ce que c'est faire, c'est que c'est la vérification
tout un tas code de ligne.
Il va peu à peu télécharger sur mon ordinateur
et quand il est enfin terminé,
Je vais avoir un répertoire Catalogue appelé l'intérieur
de qui est-oops, voilà pourquoi.
Catalogue, faisons-le de nouveau.
Bon ne pas exécuter celle-ci.
Apparemment, vous avez un existant répertoire de catalogue et il remarque
qui à la dernière minute.
Cela va avoir pour moi un répertoire appelé catalogue intérieur
de ce qui est tout le code que j'ai besoin
de commencer à écrire un basé sur le Web application avec Laravel.
Donc dans quelques secondes ce devrait intervenir
et une fois que nous avons ce-et encore si vous n'êtes pas au point
où vous êtes en mesure de suivre en ce moment,
c'est tout à fait bien, il est assez facile
à recréer les étapes après dans votre propre appareil.
Très bien. Bien dans le Entre-temps, comme nous le faisons,
Je vais tirer jusqu'à un autre indice.
Ainsi, vous pourriez avoir vu mention Tim
ou modifier ce fichier la dernière fois.
Qu'est-ce qu'un fichier etc / hôte et où vit-il?
Très bien, nous allons rouler dans le temps.
Qu'est-ce que DNS, qui nous discuté il ya pas trop longtemps?
Bon, système de nom de domaine.
Ce n'est que le infrastructure sur Internet
qui fait quoi dans une phrase?
Ouais. [Audio à faible] Exactement.
Il convertit les noms de domaine à adresses IP et vice versa,
il est si efficace une grande table de base de données
avec ces deux colonnes qui ont noms de domaine pleinement qualifiés
sur la gauche et adresse IP sur la droite, par exemple,
et il convertit juste tous les deux.
Maintenant, c'est tout beau et bon mais si vous voulez vraiment
pour créer de nouveaux noms d'hôte sur l'Internet, de nouveaux noms de domaine
sur Internet, vous avez l'habitude avoir à donner l'argent à quelqu'un,
vous devez configurer les choses sur leur serveur, leurs serveurs de noms
et ainsi de suite, ce qui est une douleur réelle, et en particulier
si nous ne voulons pas vraiment acheter un nom de domaine, nous voulons juste
de prétendre que nous avons notre propre domaine local,
par exemple appelée Catalogue ou Catalog.com
ou quelque chose comme ça.
Eh bien etc / host vous permet de disque mappages de code entre les noms d'hôtes
et les adresses IP sur votre propre ordinateur local afin
pour tromper essentiellement la ordinateur dans la pensée
que ce nom de domaine existe réellement à l'IP.
On vérifie d'abord avant de le système DNS en fait lui-même
est cochée.
Donc, laissez-moi aller dans ce fenêtre de terminal et il semble
comme dans le fond là-bas,
tout avait téléchargé avec succès,
donc ce que je vais maintenant à faire est la suivante.
Si vous êtes plus familier à partir de votre 50e ou 51 jours
avec G Edition, je vais aller l'avant et le faire avec G Modifier
au début, mais je suis aller de l'avant
et faire sudo g modifier / etc / hosts à l'intérieur de l'appareil,
et quand je fais cela, je suis allez obtenir une fenêtre
qui ressemble à celui-là.
Lignes peu cryptiques seulement parce qu'ils sont longs,
mais c'est essentiellement cartographie 127.0.0.1
à quelques noms d'hôtes différents, dont l'un est l'hôte local,
dont l'un est l'appareil et puis un couple plus;
localhost.localdomain, appliance.localdomain.
Ce ne sont que des conventions d'utiliser des choses comme localhost
que le nom d'hôte par défaut et localdomain
comme un haut de défaut domaine de premier niveau ou TLD.
Donc, ce que je remarque déjà fait à l'avance ici.
Si je veux tromper l' appareil dans la pensée
que le catalogue est en effet un vrai site sur l'Internet,
Je peux dire que l'appareil son adresse IP est 127.0.0.1.
Maintenant, pourquoi cette adresse?
Qu'est-ce que la propriété intellectuelle?
Où est-elle venue?
Qui ai-je dû demander pour qui?
[Audio à faible] Qu'est-ce que c'est?
[Audio à faible] C'est l' adresse de retour de la boucle,
ce qui signifie simplement que c'est l'adresse IP par défaut donné
à la plupart de n'importe quel ordinateur le monde qui prend en charge IP,
protocole Internet, et c'est une adresse boucle de retour
en ce sens que il réfléchit.
Elle se réfère à elle-même.
Donc, nous tous, si nous avons un appareil ou même un MAC
ou PC ont une adresse IP locale de 127.0.0.1 et il n'est utilisé que
de sorte que vous pouvez parler à vous-même.
J'ai pu en théorie chiffre
ce IP de l'appareil adresse et le type est en 192.168
ou quoi que ce nombre est mais ce n'est pas nécessaire.
Celui-ci va être invariant et sera tout simplement toujours travailler.
Donc, une fois que je sauve cela signifie en fin de compte
que dans un navigateur je peux aller à http://Catalog, comme je vais le faire ici,
mais quelques choses sont éclaté des portes.
Alors qu'est ce que cela signifie généralement,
quand je n'ai pas les autorisations, interdit de faire quelque chose,
quel est votre premier instinct pour résoudre ce problème?
Je n'ai télécharger un répertoire appelé catalogue
dans mon répertoire d'hôtes V, qui la semaine dernière, vous vous souvenez est
où l'ensemble de notre sorte de sites locaux vont vivre.
Que pourrait-il être rompu?
Comment résoudre ce problème?
[Audio à faible] Autorisations.
Permission de quoi?
Bon fichiers potentiellement.
Donc, revenons à notre fenêtre de terminal ici.
Je suis dans mon répertoire d'accueil de V.
Laissez-moi faire LS et avis il ya quelques choses.
Hôte local, qui est livré avec l'appareil, nous a mis là.
Catalog.original, qui Je mets là plus tôt,
c'est en quelque sorte le fini version de ce que nous sommes
sur le point de plonger dans, et le catalogue, que je viens de télécharger.
Si je veux regarder les autorisations
sur le répertoire du catalogue, Je peux faire LS-L et avis
qu'ils sont un peu différent des autres.
Qu'est-ce que l'autorisation est apparemment le répertoire du catalogue,
que nous venons téléchargé, manque par défaut?
Même si vous n'avez aucune idée de ce que le mot est que vous pouvez déduire hargneux
ce qui est différent sur chacun de ces trois lignes?
Bon ce qui manque entre la ligne une ligne et deux de la sortie?
Ouais? [Audio à faible] Oui, il est donc manquant X, qui se dresse
pour exécutable et ça veut dire quoi
si un répertoire est exécutable?
Il signifie simplement que vous pouvez ouvrir.
Vous pouvez CD dedans.
Vous pouvez accéder aux fichiers à l'intérieur de celui-ci.
Donc, si exécutables, des moyens d'un fichier c'est comme un programme que vous pouvez exécuter.
Un annuaire est exécutable si vous pouvez aller en elle.
Donc, je peux résoudre ce problème avec peu de moyens.
Je pourrais faire chmod A plus X, ce qui signifie exécutable tout en plus
et alors je peux dire catalogue.
Ou rappeler de CS50 ou d'autres classes,
Je peux être un peu plus fantaisistes et dire 0711 ou plus simplement 711
sur catalogue, appuyez sur Entrée, rien ne semble se passer
mais si je le fais LS-L encore, notez que c'est exécutable
par mon groupe, qui est le trois du milieu de bits et par tous,
Quelle est la bonne trois bits, et il suffit que ceux
être identiques pour nos fins.
Bon je sens que nous sommes en assez bonne forme.
Revenons à l' navigateur et nous allons recharger,
merde, encore interdit.
Alors quoi d'autre pourrait être rompu?
Où d'autre pourrait nous voulons regarder?
Donc, nous avons fixé le catalogue, ainsi si je vais dans le catalogue,
Faisons un autre LS, il ya maintenant plus de choses ici et franchement
à première vue, il est accablant
et j'ose dire que c'est l'un des les maux de tête de cadres
à la porte et que vous triez de avoir beaucoup de traiter avec,
mais nous allons affiner sur ce qui est important aujourd'hui,
et la chose la plus importante pour l'instant est ce répertoire.
Si vous avez utilisé l'appareil avant que vous savez peut-être
que le accessible publiquement répertoire est appelé publique,
ou dans le passé, il a été appelé HTML, mais nous avons depuis changé
au public plus commun.
Donc, si je fais chmod 711 de la fonction publique
cela semblerait résoudre ce problème.
Alors maintenant, le public répertoire est également exécutable
et donc accessible.
Voyons voir si nous sommes un pas de plus.
Disons recharger, toujours pas bon et maintenant il va
pour obtenir un peu difficile; celui-ci est un peu plus difficile.
Si je vais en public, le rappel Tim nous a montré que celui-ci.
Si je fais LS-AL, qui listes tous les fichiers dans le format long,
il ya un fichier de point pour ainsi dire
où un fichier de points est juste un fichier dont le nom commence fichier
par un point.
Qu'est-ce que htaccess faire?
Eh bien, regardons en ce que.
Plutôt que d'utiliser G Edition, Je vais utiliser le SIF,
vous pouvez utiliser EMax ou Nano ou l'un de vos rédacteurs préférés,
mais si je regarde ici ce a un tas de trucs de bas niveau
qui est venu avec de Laravel distribution.
Il s'agit d'un dossier que le Le serveur web Apache comprend
et longue histoire courte, ces plusieurs lignes
de configuration truc tout le répertoire public
dans la quasi-totalité de routage HTTP demandes pour prendre une conjecture.
Quel fichier?
Toutes les requêtes HTTP entrantes avec quelques exceptions seraient acheminés
à ce fichier, sinon connu comme un contrôleur frontal?
Index >>.
>> Index.php.
Donc, même si il ya une foo.php fichier ou un fichier bar.php
dans mon répertoire public, la signification de ces lignes
en général, est à transiter toutes les requêtes
à moins que ces fichiers index.php Il existe effectivement parce que les choses
comme moyen de bang-f si le filename n'existe pas,
et si la directement n'existe pas,
voie à toutes les demandes de index.php.
Donc, en un peu cela va pour nous permettre d'avoir des URL
comme http://Catalog/courses/123
où 123 est le uniques identificateur pour un cours
mais il n'est clairement pas le nom de un fichier de sorte que la demande va
être acheminé à index.php qui va déterminer,
grâce à Laravel et vous, où la route
que la requête HTTP entrante.
Mais il ya un problème.
Notez que par défaut htaccess n'est pas lisible
ou exécutable.
Executability n'est pas important mais je ne veux faire chmod644
htaccess sur point ou Un avis R. Maintenant, plus
que si je fais un tout annonce, maintenant il est lisible.
Maintenant, si je croise les doigts ici et rechargement, ouf,
nous avons en place et fonctionne.
Donc pas stupides que vous besoin de passer par un premier temps,
mais le fait que je sorte de passé par elle
est si pédante exactement les sortes
des étapes de diagnostic vous devriez penser
à chaque fois la chose est mal,
et même quand un répertoire peut-être mal,
réaliser qu'il pourrait également les points sur les fichiers,
en particulier HTAccess de points qui sont assez communs
à toute distribution Apache,
qui pourrait créer maux de tête tels que un.
Donc, je suis un peu fatigué de revenir
et en arrière de l'appareil.
Je préfère travailler sur mon MAC ou même sur mon PC.
Alors, comment puis-je faire même astuce etc / hôte?
Eh bien remarquer que laissez-moi d'abord la figure
à ce que les appareils de adresse IP est.
Je peux faire ifcongig, qui montre me partie de la production assez cryptique
mais avis à côté de eth0 ou plutôt à côté de eth1,
il ya cette adresse IP ici.
Je vais aller de l'avant et copier ce que et à l'intérieur
de la fenêtre de terminal mon MAC Je vais modifier sudo etc / hosts
sur mon MAC, qui donne moi un fichier consultant similaire.
Tout ce que je vais faire, c'est cela.
Je vais donc à tromper mon MAC
en pensant http://Catalog Cartes fait
à cette adresse IP spécifique.
Bon, allons-y et enregistrer ce, maintenant laissez-moi ferme
que la fenêtre de terminal et désormais mon MAC en utilisant n'importe quel navigateur que je veux,
http://Catalog et je voir la même chose.
Maintenant, je n'ai même pas à se soucier retourner dans [inaudible]
que vous pouvez ne pas aimer à fais de toute façon, je suis de retour
sur mon propre ordinateur à l'aide vraiment l'appareil
juste comme un serveur web.
Bon, voici juste un récapitulatif rapide de certains
des autorisations de fichiers nous pourrions changer
et j'ai coupé quelques coins dans des choses comme le favicon ou tout
très intéressant pour le moment.
Bon, maintenant nous allons commencer
pour configurer cette valeur par défaut L'installation Laravel
pour une base de données.
Donc, Tim a fait brièvement la dernière fois trop et le fichier
en question est celui-là.
Donc, à l'intérieur de, permettez-moi de changement ce pour être cohérent,
application de catalogue config database.php.
Allons donc en application, allons dans config
et allons dans database.php.
Donc, c'est un assez long fichier, dont la plupart sont des commentaires,
mais vous verrez si vous lire attentivement la situation
que vous pouvez configurer Cadres Laravel et beaucoup un
pour soutenir différents types de bases de données.
Peut-être que vous utilisez MySQL, peut-être vous utilisez message [inaudible],
peut-être vous utilisez SQL Lite, il ya d'autres choses
mais si nous utilisons MySQL