• Laravel 5

    Cours Laravel 5.3 – plus loin – la localisation

    Lorsqu’on crée un site c’est souvent dans une optique multi-langages. On parle alors d’internationalisation (i18n) et de localisation (L10n). L’internationalisation consiste à préparer une application pour la rendre potentiellement adaptée à différents langages.  La localisation consiste quant à elle à ajouter un composant spécifique à une langue. C’est un sujet assez complexe qui ne se limite pas à la traduction des textes mais qui impacte aussi la représentation des dates, la gestion des pluriels, parfois la mise en page… Qu’a à nous proposer Laravel dans ce domaine ? Nous allons le voir avec l’application d’exemple. i18n parce qu’il y a 18 lettres entre le « i » et le « n » de internationalisation et…

  • Laravel 5

    Cours Laravel 5.3 – plus loin – des vues propres

    On a vu comment créer des classes bien organisées et se contentant d’effectuer leur tâche. Par contre au niveau des vues c’est une autre histoire. En général on utilise un framework CSS, par exemple Bootstrap dont je me suis servi dans les exemples de ce cours. Mais que se passe-t-il le jour où ce framework évolue ou si on décide d’en changer ? On a vu que le composant laravelcollective/html (même s’il na pas que des partisans) permet de simplifier l’écriture du code des vues. Malgré tout il reste quand même toutes les classes nécessaires pour le framework CSS, et elles peuvent être nombreuses, par exemple pour Bootstrap. Dans l’application…

  • Laravel 5

    Cours Laravel 5.3 – plus loin – une application d’exemple

    Pour cette partie du cours nous allons utiliser une application d’exemple. Elle va nous donner l’occasion de développer ce que nous avons déjà vu et d’aborder d’autres points importants. Elle va éviter de trop charger ce cours de lignes de code. La première chose que vous avez à faire est donc d’installer cette application sur un serveur local et de regarder comment elle fonctionne. Installation L’installation est détaillée sur la page Github du dépôt. Je vais toutefois apporter quelques commentaires parce que la procédure est tout de même assez concise : git clone https://github.com/bestmomo/laravel5-3-example.git projectname Ici on vous demande de cloner le dépôt sur votre machine dans le dossier projectname.…

  • Laravel 5

    Cours Laravel 5.3 – les données – manipuler les données

    Dans les précédents chapitres on a rencontré de nombreux exemples d’utilisation d’Eloquent pour manipuler des données. On a vu que sa capacité d’abstraction permet de réaliser facilement de nombreuses tâches sur les tables. Avec Eloquent chaque table est représentée par un modèle qui sert à interagir avec elle. On peut ainsi aller chercher des données, en insérer, les modifier, les supprimer… Il y a aussi dans Laravel un Query Builder qui est une puissante interface pour effectuer des requêtes sur les bases de données. Comme Eloquent et le Query Builder sont intimement liés on a parfois du mal à les distinguer. En gros Eloquent utilise le Query Builder pour constituer et…

  • Laravel 5

    Cours Laravel 5.3 – les données – un concepteur de schéma

    Dans les chapitres précédents on a plusieurs fois dû créer des migrations, des populations, des contrôleurs, des modèles… Artisan possède des commandes pour effectuer certaines de ces opérations mais il nous a fallu créer pas mal de code qui, de toute évidence, pourrait plus ou moins facilement être automatisé. Il est possible d’améliorer les commandes d’Artisan ou même de s’en créer des nouvelles. Il existe aussi des assistants pour nous aider dans ces tâches un peu pénibles ou répétitives. Je vous propose dans ce chapitre de découvrir le concepteur de schéma Laravel Schema Designer. Mise en route Laravel Schema Designer est un concepteur de schéma, c’est à dire qu’il vous permet…

  • Laravel 5

    Cours Laravel 5.3 – les données – la relation n:n (2/2)

    Dans ce chapitre on va poursuivre la réalisation du petit blog avec des tags qu’on a commencé au précédent chapitre. On va voir le fonctionnement de l’ensemble ainsi que les vues. La liste des articles La méthode du repository pour la liste des articles est modifiée et renommée pour ajouter la table tags : public function getWithUserAndTagsPaginate($n) { return $this->queryWithUserAndTags()->paginate($n); } Pour clarifier le code j’ai créé une fonction protégée qui va nous servir une autre fois : protected function queryWithUserAndTags() { return $this->post->with('user', 'tags')->latest(); } ‌Vous remarquez qu’on a ajouté la table tags comme paramètre de la méthode with en plus de users. On va en effet avoir besoin…