Salut les dev'

Je suis entrain de découvrir Laravel et dès ma première approche l'utilisation de l'outil "Composer" me choque.

Pourquoi utiliser l'outil Composer et à quoi sert il réellement ?
Comment faire si notre site est dédié à être hébergé sur un hébergement mutualisé (donc pas possibilité d'installer Composer) ?
Peut-on utiliser Laravel sans Composer ?

Merci pour votre aide,
++

5 réponses


Helongh
Réponse acceptée

Composer est un outil de gestion de dépendances via la console.
En gros il permet d'ajouter/retirer facilement, via un fichier composer.json des composant de ton application.
Concernant Laravel, je suppose que tu vas travailler en local avant de mettre ton site sur l'hébergeur, donc ton installation sera déjà prête.
Utiliser Laravel sans composer doit être possible même si je n'ai jamais essayé pour être franc.

Cordialement

Vallyan
Réponse acceptée

Composer, c'est aussi la création automatique de l'autoload pour les vendors.

Vois ton site de cette facon:

  • La partie que tu développes, celle ou tu codes tes trucs etc...
  • Et toutes les dépendances que tu peux avoir, qui sont le framework en lui meme et toutes les libraries que tu peux imaginer.

Toutes ces dépendances externes sont les "vendors". Autant les mettres toutes dans un dossier a part que tu ne toucheras jamais, avec un autoload pour charger les classes dès que tu en as besoin.
En outre certaines librairies sont nécessaires en developpement mais pas en production ... et puis autant ne pas faire de sauvegarde / commit dessus, vu qu'elles sont immuables tant que tu précise une version.

Composer te permet de mettre en place tous les vendors en une ligne de commande + 1 fichier json. Quelque soit la library que tu veux utiliser (un framework, une structure de forum, un module payoal ... fait un tour sur packagist pour voir), ajoute son nom a ton composer.json, update avec une commande en console et hope: elle sera opérationnelle immédiatement dans ton code.

Lorsque tu passes en prod, copies uniquement ton code et execute composer depuis la console de ton serveur.

Bref, c'est un outil pour que tu ne te poses pas de question pour tes dépendances et que tu te concentres sur ton code uniquement.

amethyste
Réponse acceptée

En effet sur un mutu, tu seras obligé de faire le composer install ou composer update en local, puis de te taper le transfert ftp.

Pour utiliser ton 'vendor', ca se passe dans app.php > providers et aliases

Ok. J'ai téléchargé le pack de langue de laravel et il c'est effectivement mis dans le dossier vendors.

Mais comment faire pour intégrer un "vendors" dans mon code ?

Hélas j'aimerais bien exécuter composer depuis la console de mon serveur mais en hébergement mutualisé tu n'as pas accès à la console...

Ok merci à tous !