Rivals
Ancien staff
- Inscription
- 27 Août 2016
- Messages
- 1 705
- Réactions
- 895
- Points
- 13 104
Salut à tous , on se retrouve aujourd'hui pour parler de dépendances mais notamment de Composer qui est un gestionnaire de packages pour PHP.
Dans un premier temps il est important de connaître la notion de dépendances puisque tout l'intérêt de Composer est de pouvoir en installer. Une dépendance est un paquet, concrètement ce sont des classes PHP, qui vont vous permettre d'implanter de nouvelles fonctionnalités à vos projets.
Il faut savoir qu'il est possible d'installer des frameworks avec Composer tel que Laravel (cc @Snake's) ou CakePHP.
Il existe des dépendances pour tout et n'importe quoi, par exemple vous avez besoin d'effectuer des requêtes vers une API et vous souhaitez avoir un code simple et compréhensible et bien il existe un package nommé Guzzle qui va vous permettre de le faire.
D'ailleurs ce sera le paquet que nous installerons au cours de ce tutoriel.
INSTALLATION DE COMPOSER
Avant de démarrer l'installation je tiens à dire que je suis sous MacOS, à vous de faire en fonction de votre OS.
- Rendez-vous sur le site de
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
- Puis dans la section Download.
- Ouvrez le Terminal et saisissez les lignes de commande qui sont disponibles sur la page.
Code:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
- Vous obtiendrez un fichier composer.phar, maintenant nous allons rendre accessible notre commande composer à travers notre système pour se faire entrez la ligne de commande ci-dessous.
Code:mv composer.phar /usr/local/bin/composer
- Puis tapez la commande composer --version afin de vérifier que la commande est bien disponible globalement.
INSTALLATION DE GUZZLE
Avant de démarrer l'installation de Guzzle il est important et pratique de savoir que pour installer des paquets Composer utilise un repo, c'est à dire un répertoire dans lequel il va piocher le paquet correspondant à votre demande.
Le repo principale de Composer est
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
, depuis le site de celui-ci vous avez l'opportunité de rechercher des paquets et de les installer par la suite avec Composer.- Recherchons le paquet Guzzle.
- Nous pouvons voir que nous tombons sur le bon paquet, de plus il possède un nombre d'installations très important puisque c'est un critère qualitatif.
- Ouvrons notre Terminal, puis rendons nous dans le dossier de notre projet celui dans lequel se trouve node code. Tapez la commande ci-dessous.
Code:
composer require guzzlehttp/guzzle
- Composer va créer un fichier composer.json qui va lui permettre d'obtenir la liste des paquets installés ainsi que leur version, c'est un fichier très important. Après avoir saisi la commande ci-dessus le paquet va s'installer avec ses propres dépendances dans un dossier nommé vendor.
- Dans mon cas j'ai un fichier index.php qui va être utilisé pour effectuer ce requête, c'est donc dans ce fichier que je vais devoir utiliser ce packet. Pour se faire il faut charger ce paquet nous allons utiliser l'autoloader de Composer pour pouvoir l'utiliser dans notre fichier.
Code:<?php // on exécute le fichier autoload.php qui va charger les classes de nos paquets require 'vendor/autoload.php';
- Puis si nous descendons plus bas sur la page du paquet sur Packagist nous pouvons voir un exemple, nous allons essayer de récupérer le contenu d'une page, dans mon cas
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
PHP:
<?php
// on exécute le fichier autoload.php qui va charger les classes de nos paquets
require 'vendor/autoload.php';
// objet
$client = new \GuzzleHttp\Client();
$response = $client->request('GET','https://raw.githubusercontent.com/laravel/laravel/master/.env.example');
// on affiche la réponse
echo $response->getBody();
J'aimerais vous montrer quelques commandes plutôt utiles.
REMOVE
Cette commande vous permettra de supprimer un paquet de votre projet.
Exemple : composer remove guzzlehttp/guzzle
INIT
Cette commande vous permet de générer un fichier composer.json sans pour autant installer de paquets.
INFO
Cette commande vous permet d'obtenir des informations sur les dépendances installées avec notamment leur version ainsi qu'une description.
SEARCH
Cette commande vous permet de rechercher un package si vous précisez un mot clé.
Cette présentation est terminée, j'espère avoir été le plus clair et compréhensible possible.Cette commande vous permettra de supprimer un paquet de votre projet.
Exemple : composer remove guzzlehttp/guzzle
INIT
Cette commande vous permet de générer un fichier composer.json sans pour autant installer de paquets.
INFO
Cette commande vous permet d'obtenir des informations sur les dépendances installées avec notamment leur version ainsi qu'une description.
SEARCH
Cette commande vous permet de rechercher un package si vous précisez un mot clé.
Bonne soirée,
Rivals