Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Wiki
Pages
Dernière activité
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Présentation de Composer
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Rivals" data-source="post: 7058985" data-attributes="member: 694298"><p style="text-align: center">[ATTACH=full]105112[/ATTACH] </p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">Salut à tous [FA]fa-smile-o[/FA], on se retrouve aujourd'hui pour parler de dépendances mais notamment de </span><span style="font-family: 'MyriadPro'">Composer</span><span style="font-family: 'MyriadPro Light'"> qui est </span><span style="font-family: 'MyriadPro'">un gestionnaire de packages pour PHP</span><span style="font-family: 'MyriadPro Light'">.</span></p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro'">[FA]fa-border fa-lightbulb-o[/FA] NOTION DE DEPENDANCES</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">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.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">Il faut savoir qu'il est possible d'installer des frameworks avec Composer tel que Laravel (cc [USER=109105]@Snake's[/USER]) ou CakePHP.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">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.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">D'ailleurs ce sera le paquet que nous installerons au cours de ce tutoriel.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro'">[FA]fa-border fa-download[/FA] INSTALLATION DE COMPOSER</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">Avant de démarrer l'installation je tiens à dire que je suis sous MacOS, à vous de faire en fonction de votre OS.</span></p><ol> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">Rendez-vous sur le site de <a href="https://getcomposer.org/" target="_blank">Composer</a>.</span></li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">Puis dans la section Download.</span></li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">Ouvrez le Terminal et saisissez les lignes de commande qui sont disponibles sur la page.</span></li> </ol> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">[CODE]php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">php composer-setup.php</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">php -r "unlink('composer-setup.php');"[/CODE]</span></p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">[ATTACH=full]105089[/ATTACH]</span></p> <ol> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">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.</span><br /> <span style="font-family: 'MyriadPro Light'">[CODE]mv composer.phar /usr/local/bin/composer[/CODE]</span></li> <li data-xf-list-type="ol"><p style="text-align: left"><span style="font-family: 'MyriadPro Light'">Puis tapez la commande composer --version afin de vérifier que la commande est bien disponible globalement.</span></p> </li> </ol> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">[ATTACH=full]105090[/ATTACH]</span></p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">L'installation est maintenant terminée, passons à l'installation de notre paquet Guzzle.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro'">[FA]fa-border fa-download[/FA] INSTALLATION DE GUZZLE</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">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.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">Le repo principale de Composer est <a href="https://packagist.org/" target="_blank">Packagist</a>, depuis le site de celui-ci vous avez l'opportunité de rechercher des paquets et de les installer par la suite avec Composer.</span></p><ol> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">Recherchons le paquet Guzzle.</span><br /> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">[ATTACH=full]105091[/ATTACH]</span></p> </li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">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.</span></li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">Ouvrons notre Terminal, puis rendons nous dans le dossier de notre projet celui dans lequel se trouve node code. Tapez la commande ci-dessous.</span></li> </ol> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">[CODE]composer require guzzlehttp/guzzle[/CODE]</span></p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">[ATTACH=full]105093[/ATTACH]</span></p> <ol> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">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.</span></li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">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.</span><br /> <span style="font-family: 'MyriadPro Light'">[CODE]<?php<br /> <br /> // on exécute le fichier autoload.php qui va charger les classes de nos paquets<br /> require 'vendor/autoload.php';<br /> <br /> [/CODE]</span></li> <li data-xf-list-type="ol"><span style="font-family: 'MyriadPro Light'">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 <a href="https://raw.githubusercontent.com/laravel/laravel/master/.env.example" target="_blank">celle-ci</a>.</span></li> </ol> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">[PHP]<?php</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">// on exécute le fichier autoload.php qui va charger les classes de nos paquets</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">require 'vendor/autoload.php';</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">// objet</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">$client = new \GuzzleHttp\Client();</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">$response = $client->request('GET','https://raw.githubusercontent.com/laravel/laravel/master/.env.example');</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">// on affiche la réponse</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">echo $response->getBody();</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">[/PHP]</span></p> <p style="text-align: center"><span style="font-family: 'MyriadPro Light'">[ATTACH=full]105109[/ATTACH]</span></p><p><span style="font-family: 'MyriadPro'">[FA]fa-border fa-code[/FA] QUELQUES COMMANDES</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">J'aimerais vous montrer quelques commandes plutôt utiles.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p style="margin-left: 20px"><span style="font-family: 'MyriadPro'">[FA]fa-border fa-trash-o[/FA] REMOVE</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">Cette commande vous permettra de supprimer un paquet de votre projet.</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">Exemple : composer remove guzzlehttp/guzzle </span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro'">[FA]fa-border fa-puzzle-piece[/FA] INIT</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">Cette commande vous permet de générer un fichier composer.json sans pour autant installer de paquets.</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro'">[FA]fa-border fa-info[/FA] INFO</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">Cette commande vous permet d'obtenir des informations sur les dépendances installées avec notamment leur version ainsi qu'une description.</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro'">[FA]fa-border fa-search[/FA] SEARCH</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'">Cette commande vous permet de rechercher un package si vous précisez un mot clé.</span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">Cette présentation est terminée, j'espère avoir été le plus clair et compréhensible possible.</span></p><p><span style="font-family: 'MyriadPro Light'"></span></p><p><span style="font-family: 'MyriadPro Light'">Bonne soirée,</span></p><p><span style="font-family: 'MyriadPro Light'">Rivals</span></p><p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"><span style="font-family: 'MyriadPro Light'"></span></p> <p style="margin-left: 20px"></p></blockquote><p></p>
[QUOTE="Rivals, post: 7058985, member: 694298"] [CENTER][ATTACH=full]105112[/ATTACH] [FONT=MyriadPro Light]Salut à tous [FA]fa-smile-o[/FA], on se retrouve aujourd'hui pour parler de dépendances mais notamment de [/FONT][FONT=MyriadPro]Composer[/FONT][FONT=MyriadPro Light] qui est [/FONT][FONT=MyriadPro]un gestionnaire de packages pour PHP[/FONT][FONT=MyriadPro Light]. [/FONT][/CENTER] [FONT=MyriadPro][FA]fa-border fa-lightbulb-o[/FA] NOTION DE DEPENDANCES[/FONT] [FONT=MyriadPro Light] 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 [USER=109105]@Snake's[/USER]) 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. [/FONT] [FONT=MyriadPro][FA]fa-border fa-download[/FA] INSTALLATION DE COMPOSER[/FONT] [FONT=MyriadPro Light] Avant de démarrer l'installation je tiens à dire que je suis sous MacOS, à vous de faire en fonction de votre OS.[/FONT] [LIST=1] [*][FONT=MyriadPro Light]Rendez-vous sur le site de [URL='https://getcomposer.org/']Composer[/URL].[/FONT] [*][FONT=MyriadPro Light]Puis dans la section Download.[/FONT] [*][FONT=MyriadPro Light]Ouvrez le Terminal et saisissez les lignes de commande qui sont disponibles sur la page.[/FONT] [/LIST] [INDENT][FONT=MyriadPro Light][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');"[/CODE][/FONT][/INDENT] [CENTER][FONT=MyriadPro Light][ATTACH=full]105089[/ATTACH][/FONT][/CENTER] [LIST=1] [*][FONT=MyriadPro Light]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.[/FONT] [FONT=MyriadPro Light][CODE]mv composer.phar /usr/local/bin/composer[/CODE][/FONT] [*][LEFT][FONT=MyriadPro Light]Puis tapez la commande composer --version afin de vérifier que la commande est bien disponible globalement.[/FONT][/LEFT] [/LIST] [CENTER][FONT=MyriadPro Light][ATTACH=full]105090[/ATTACH] [/FONT][/CENTER] [FONT=MyriadPro Light]L'installation est maintenant terminée, passons à l'installation de notre paquet Guzzle. [/FONT] [FONT=MyriadPro][FA]fa-border fa-download[/FA] INSTALLATION DE GUZZLE[/FONT] [FONT=MyriadPro Light] 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 [URL='https://packagist.org/']Packagist[/URL], depuis le site de celui-ci vous avez l'opportunité de rechercher des paquets et de les installer par la suite avec Composer.[/FONT] [LIST=1] [*][FONT=MyriadPro Light]Recherchons le paquet Guzzle.[/FONT] [CENTER][FONT=MyriadPro Light][ATTACH=full]105091[/ATTACH][/FONT][/CENTER] [*][FONT=MyriadPro Light]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.[/FONT] [*][FONT=MyriadPro Light]Ouvrons notre Terminal, puis rendons nous dans le dossier de notre projet celui dans lequel se trouve node code. Tapez la commande ci-dessous.[/FONT] [/LIST] [INDENT][FONT=MyriadPro Light][CODE]composer require guzzlehttp/guzzle[/CODE][/FONT][/INDENT] [CENTER][FONT=MyriadPro Light][ATTACH=full]105093[/ATTACH][/FONT][/CENTER] [LIST=1] [*][FONT=MyriadPro Light]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.[/FONT] [*][FONT=MyriadPro Light]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.[/FONT] [FONT=MyriadPro Light][CODE]<?php // on exécute le fichier autoload.php qui va charger les classes de nos paquets require 'vendor/autoload.php'; [/CODE][/FONT] [*][FONT=MyriadPro Light]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 [URL='https://raw.githubusercontent.com/laravel/laravel/master/.env.example']celle-ci[/URL].[/FONT] [/LIST] [INDENT][FONT=MyriadPro Light][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(); [/PHP][/FONT][/INDENT] [CENTER][FONT=MyriadPro Light][ATTACH=full]105109[/ATTACH][/FONT][/CENTER] [FONT=MyriadPro][FA]fa-border fa-code[/FA] QUELQUES COMMANDES[/FONT] [FONT=MyriadPro Light] J'aimerais vous montrer quelques commandes plutôt utiles. [/FONT] [INDENT][FONT=MyriadPro][FA]fa-border fa-trash-o[/FA] REMOVE[/FONT] [FONT=MyriadPro Light] Cette commande vous permettra de supprimer un paquet de votre projet. Exemple : composer remove guzzlehttp/guzzle [/FONT] [FONT=MyriadPro][FA]fa-border fa-puzzle-piece[/FA] INIT[/FONT] [FONT=MyriadPro Light] Cette commande vous permet de générer un fichier composer.json sans pour autant installer de paquets. [/FONT] [FONT=MyriadPro][FA]fa-border fa-info[/FA] INFO[/FONT] [FONT=MyriadPro Light] Cette commande vous permet d'obtenir des informations sur les dépendances installées avec notamment leur version ainsi qu'une description. [/FONT] [FONT=MyriadPro][FA]fa-border fa-search[/FA] SEARCH[/FONT] [FONT=MyriadPro Light] Cette commande vous permet de rechercher un package si vous précisez un mot clé. [/FONT][/INDENT] [FONT=MyriadPro Light]Cette présentation est terminée, j'espère avoir été le plus clair et compréhensible possible. Bonne soirée, Rivals[/FONT] [INDENT][FONT=MyriadPro Light] [/FONT] [/INDENT] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Présentation de Composer
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut