Débuter avec Laravel

Travailler avec PHP depuis une dizaine d’années m’a fait faire un sacré voyage. Commençant par des erreurs de recrue comme ne pas être capable de trouver un point-virgule pour essayer de construire mon propre framework pour la construction de sites (ne pas le faire), je suis finalement arrivé à quelque chose de grand quand j'ai appris le PHP orienté objet.

Presque tous les systèmes CMS l'utilisent, y compris Joomla, Drupal et WordPress, et bien sûr de nombreux frameworks comme CakePHP l'utilisent également. Je suis arrivé à Laravel au début de 2014 et j'ai été instantanément accroché. Il utilise non seulement la POO, il en a besoin! Je dois admettre que c’était un défi, mais j’ai beaucoup appris grâce à cela, et le code que j’écris pour d’autres systèmes est également beaucoup mieux.!

Dans cet article, je vais vous montrer comment démarrer avec Laravel en installant tout ce qui est nécessaire pour faire fonctionner le système, en vous montrant comment utiliser Laravel Homestead, une super machine virtuelle, et enfin, en installant Laravel lui-même..

Cela peut sembler une bouchée, mais je voulais m'assurer que tout le monde puisse l'installer, qu'ils soient sous Windows, Linux ou Mac, et même s'ils ont peu de prérequis. Ne vous inquiétez pas, vous n’avez besoin de faire la plupart de ces choses qu’une fois, et même si vous devez le refaire, ce sera beaucoup plus simple la prochaine fois..

Qu'est-ce que Laravel??

Laravel est un framework PHP créé par Taylor Otwell comme une version plus avancée du framework CodeIgniter. La première version bêta a été publiée à la mi-2009. Depuis juin 2015, Laravel est à la version 5.1, qui est la première version à bénéficier du support à long terme (LTS), ce qui permet à Laravel de prendre part à la recherche d'une plate-forme viable pour le travail à grande échelle..

Laravel est conçu pour vous aider à travailler de manière standardisée, élégante et rapide. Ceci est réalisé grâce à des directives strictes et à des systèmes tiers.

Standardisation

Laravel a une structure de modèle-vue-contrôleur (MVC) stricte et une manière naturelle de travailler avec du code orienté objet. Ces deux fonctionnalités forcent presque une certaine manière d’écrire du code sur les développeurs, ce qui est une bonne chose..

En ce qui concerne le style et la méthodologie, les applications Laravel seront similaires, de sorte que les autres développeurs pourront s’inscrire et travailler avec un état d’esprit instantanément familier..

Élégance

L'élégance de Laravel provient de la même nature POO et de la même mentalité MVC que de la méthodologie de routage utilisée. Quelques caractéristiques simples du moteur dans son ensemble conspirent pour vous faire écrire du code qui est visuellement agréable, organisé, et aussi auto-documenté que possible.

L'auto-documentation est un sous-produit merveilleux d'un code orienté objet bien écrit. Vous pouvez obtenir des phrases presque lisibles en nommant correctement vos classes, fonctions et variables, en ajoutant du code extrêmement lisible..

Plus important encore, tout cela se traduit par un code prévisible et testable qui produit des résultats cohérents et faciles à prévoir à chaque fois..

La vitesse

La vitesse à laquelle vous pouvez créer une application est étonnante. Si vous êtes nouveau sur OOP, Composer et utilisez le terminal, cela ne sera peut-être pas évident au début, mais une fois que vous maîtriserez les choses, vous serez étonné de ce que vous pouvez accomplir..

Laravel est configuré pour fonctionner correctement avec les packages tiers de Composer, ce qui signifie que l’ajout de la prise en charge complète de l’API Facebook, de l’API MailChimp, des enregistreurs, des profileurs et autres outils ne prend que quelques minutes, pas quelques heures..

Installation de Laravel

Vous pouvez installer Laravel sur la plupart des serveurs ou créer le vôtre à l'aide d'une machine virtuelle. Les exigences de base sont:

  • PHP> = 5.5.9
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

J'utilise Laravel Homestead pour exécuter Laravel localement. Homestead est une boîte vagabonde que vous pouvez récupérer gratuitement. Le lien ci-dessus contient des instructions d'installation complètes si vous en avez besoin, mais je vais en décrire les principales étapes ci-dessous..

Outre un serveur, Composer doit être installé, c'est-à-dire un gestionnaire de packages. Laravel l'utilise pour télécharger le code tiers dont il a besoin.

Bien que git ne soit pas strictement nécessaire, cela vous facilitera grandement la vie. Git est un système de gestion de version, et de nombreuses personnes l'utilisent pour leurs projets, en l'hébergeant sur GitHub. Pour pouvoir utiliser git efficacement, vous aurez besoin de la commande git, que nous installerons ci-dessous..

1. Installez Composer

Composer peut être installé localement ou globalement. Je préfère l’option globale car cela me simplifie beaucoup la vie, c’est ce que je vais vous montrer ici. Pour plus d'informations et d'instructions sur différents systèmes d'exploitation et configurations, consultez le Guide de mise en route..

Linux et OSX les utilisateurs doivent d’abord s’assurer que le / usr Le répertoire existe et, dans le cas contraire, créez-le. Ensuite, exécutez la commande suivante:

curl -sS https://getcomposer.org/installer | sudo php - --install-dir = / usr / local / bin --filename = composer

les fenêtres les utilisateurs peuvent utiliser le programme d'installation à partir du Guide de démarrage. Si vous voulez pouvoir exécuter le compositeur commande de n'importe où, vous devez la placer sur votre chemin.

Pour placer un dossier dans votre chemin, suivez simplement les instructions de WindowsITPro..

2. Installer Git

Heureusement, git est très simple à installer. Consultez le Guide de démarrage pour des instructions détaillées..

Sur Linux, vous êtes le plus susceptible de pouvoir l'installer avec la commande simple suivante.

sudo yum installe git-all

Sur OSX, le moyen le plus simple d'obtenir l'assistance de git est d'installer les outils de ligne de commande Xcode ou d'aller à la page de téléchargement de Git et de télécharger la dernière version..

Pour les fenêtres, rendez-vous sur la page de téléchargement Git et lancez le dernier programme d'installation.

3. Installez VirtualBox et Vagrant

La première chose dont vous aurez besoin est VirtualBox et Vagrant. Les deux sont des fichiers simples et installables, vous devez donc les récupérer, les installer et vous avez terminé..

4. Télécharger la boîte

La boîte contient le système d'exploitation et les autres logiciels dont vous aurez besoin pour exécuter un serveur local et Laravel. Vous pouvez télécharger la boîte avec une seule commande dans votre terminal.

vagrant box ajouter laravel / homestead

Le téléchargement de la boîte peut prendre un certain temps, alors n'hésitez pas à prendre un café à ce stade.

5. Installez le CLI Homestead

Pour installer l'interface de ligne de commande de Homestead, vous devez cloner un référentiel git. Puisque nous avons maintenant installé git, nous pouvons utiliser une seule commande. Exécutez ce qui suit dans un dossier où vous souhaitez conserver tous vos projets Laravel.

clone de git https://github.com/laravel/homestead.git Homestead

Je travaille sur OSX et j’ai un dossier dans mon dossier personnel d’utilisateur principal nommé «sites Web». Dans ce dossier, j'ai un dossier «wordpress», qui contient des projets WordPress exécutés à partir d'une autre boîte Vagrant. J'ai exécuté la commande ci-dessus à partir du dossier "sites Web". Cela a créé un dossier «Homestead», et tous mes projets Laravel seront placés dans.

Si vous voulez être à la pointe de PHP, vous pouvez plutôt installer la version PHP 7 de Homestead. Utilisez la commande suivante:

clone de git -b php-7 https://github.com/laravel/homestead.git Homestead

Pour initialiser Homestead, exécutez bash init.sh depuis le dossier Homestead, ce qui créera les fichiers appropriés dans le dossier ~ / .homestead répertoire dans votre répertoire personnel.

6. Configurez Homestead

La première chose à faire est de créer une clé SSH et d’en ajouter le chemin à la Homestead.yaml fichier. Pour créer une clé SSH sous Linux ou OSX, utilisez la commande suivante:

ssh-keygen -t rsa -C "votrenom @ homestead"

Sous Windows, le moyen le plus simple de créer cela consiste à utiliser l'outil Git Bash. Ceci est similaire au terminal ou à l’invite de commande mais en ajoute d’autres génial. Allumez-le en faisant un clic droit sur le bureau et en cliquant sur Git Bash.

La prochaine étape consiste à modifier le ~ / .homestead / Homestead.yaml fichier. À présent, il ne nous reste plus grand chose à faire car il devrait déjà être configuré presque parfaitement. Si vous l'ouvrez, vous devriez voir pourquoi:

  • Le fournisseur est déjà configuré pour virtualbox, qui est ce que nous utilisons.
  • L'option autoriser est définie sur ~ / .ssh / id_rsa.pub, qui devrait être où votre clé SSH a été enregistrée. Examinez les messages reçus lorsque vous avez généré votre clé SSH et vous devriez voir le chemin qui s'y trouve..
  • L'IP est réglé sur 192.168.10.10. Vous pouvez le changer si vous le souhaitez, mais nous allons travailler avec cela.

En fait, nous ne faisons que modifier la section des sites et définir le dossier partagé. Cela fonctionnerait parfaitement tel quel, mais nous allons lancer un certain nombre de projets, il est donc préférable que vous sachiez déjà comment les créer. Créons deux sites de test, un blog et une boutique en ligne, que nous souhaitons atteindre via http://blog.dev et http: //store.local respectivement.

Assurez-vous que la définition de votre site dans le fichier ressemble à ceci:

sites: - map: store.local à: / home / vagrant / Code / store / public - carte: blog.dev à: / home / vagrant / Code / blog / public

La dernière étape consiste à ajouter les domaines au fichier hosts de votre ordinateur. Sous Linux et OS X, ce fichier se trouve à l'adresse suivante: / etc / hosts, et sur Windows c'est à C: \ Windows \ System32 \ drivers \ etc \ hosts. Vous devez ajouter deux lignes à ce fichier:

192.168.10.10 store.local 192.168.19.10 blog.dev

Enfin, pour définir le ou les dossiers partagés entre la machine virtuelle et votre machine locale, consultez la section des dossiers. Je l'ai configuré comme suit:

dossiers: - map: ~ / sites Web / Homestead / Code à: / home / vagrant / Code

7. Lancement de la boîte à vagabond

Ce sera assez court! Allez dans le dossier Homestead et lancez vagabond. La première fois que vous faites cela, cela peut prendre un certain temps, mais les lancements suivants seront extrêmement rapides. La première fois qu'un système d'exploitation est essentiellement installé et configuré, et la prochaine fois, il suffit de l'initialiser..

Si vous avez tout fait correctement, vous devriez pouvoir visiter http: //store.local et obtenez le message «Aucun fichier d’entrée spécifié». C'est bon, cela signifie simplement que notre dossier est vide. Si vous entrez dans votre ~ / sites web / Homestead / Code dossier et créer le magasin / public dossier et un index.php avec un peu de contenu, le rendu sera parfait. A ce stade, vous pouvez commencer à créer votre site web!

Fondations Homestead

Tout ce que vous venez de faire ne doit être fait qu'une fois, sauf pour taper vagabond pour démarrer le serveur. Ne vous inquiétez pas si la création d'une instance de Homestead n'est pas encore dans votre sang, car pour l'instant, vous devez juste savoir comment l'utiliser..

Chaque fois que vous arrêtez votre serveur en utilisant halte vagabonde ou éteignez votre ordinateur, vous devez utiliser le vagabond commande pour démarrer le serveur. Il y a quelques choses que vous voudrez / aurez besoin de faire, regardons donc quelques-unes des tâches quotidiennes.

Pour certaines configurations plus avancées, vous aurez besoin de SSH dans la machine virtuelle. Vous pouvez le faire en allant dans le répertoire Homestead de votre terminal et en tapant ssh vagabond. Cela vous amènera dans la machine et vous pourrez configurer les choses ici si nécessaire.

Vous pouvez vous connecter aux bases de données en utilisant le propriété nom d'utilisateur et secret mot de passe. Si vous êtes dans le terminal, vous pouvez utiliser le mysql -u homestead -p commander et fournir votre mot de passe pour obtenir un accès en ligne de commande.

Si vous utilisez une application comme Sequel Pro, vous devez utiliser 127.0.0.1 en tant qu'hôte, votre nom d'utilisateur et votre mot de passe, et 33060 comme le port.

Installation de Laravel

Notre première tâche consiste à télécharger le programme d'installation de Laravel. Émettez la commande suivante dans le terminal:

le compositeur global nécessite "laravel / installateur"

Vous devriez maintenant pouvoir taper laravel dans la ligne de commande pour accéder à un ensemble d'excellentes options pour travailler avec Laravel. Si cela ne semble pas fonctionner, vous devrez placer le ~ / .composer / vendor / bin répertoire dans votre chemin. Pour ce faire, vous devez ouvrir votre ~ / .bashrs ou ~ / .bash_profile fichier, lequel dépend de votre configuration. Une fois dedans, ajoutez la ligne suivante au fichier:

echo 'export PATH = "$ PATH: ~ / .composer / vendor / bin"' >> >> / / .bashrc

Pour voir si cela a fonctionné, tapez source ~ / .bashrc, ou fermez et rouvrez la fenêtre du terminal et essayez de taper laravel encore. Si vous utilisez Windows, vous devez suivre les instructions ici..

Se souvenir du le magasin dossier que nous avons mis en place qui contient le code pour notre magasin à venir? Je suis revenu en arrière, j'ai supprimé ce dossier et utilisé le terminal pour accéder au dossier parent. ~ / sites web / Homestead / Code. Là-bas j'ai tapé laravel nouveau magasin et juste comme ça, un projet Laravel a été mis en place pour moi. En visite http: //store.local Je vois maintenant ceci:

Les prochaines étapes

Dans les prochains articles sur Laravel, je vais vous montrer comment commencer à construire quelque chose en tant que débutant. Laravel s'appuie fortement sur PHP orienté objet, je vous recommande donc de jeter un coup d'œil à l'excellent article OOP For Beginners de Jason Lengstorf. J'expliquerai autant que je peux, mais si vous vous familiarisez d'abord avec les concepts de cet article, tout ira mieux..