Utiliser Composer pour PHP : (Ajoutez des fonctionnalités à vos scripts) - (Installez un framework)

Statut
N'est pas ouverte pour d'autres réponses.
Merci pour le tuto
 
un vraie boulot de pro :neo:
 
Comment on fait sous linux
 
Je conseil aussi CakePHP :)
 
logo-composer-transparent.png

Composer est un installateur un peu particulier pour vos projets PHP, car il gère non seulement les dépendances, les mises à jours mais aussi l'inclusion automatique des extensions.

I - Installation :

Ouvrez le terminal ou cmd sur Windows et placez vous dans le dossier de votre projet (www/htdocs), puis copiez-collez cette commande

Code:
curl -sS https://getcomposer.org/installer | php
Cela aura comme effet de télécharger composer.phar.

II - Utilisation :

Pour la première utilisation, nous allons créer un fichier composer.json à la racine de notre projet.
Ce fichier contiendras l'ensemble des extensions necéssaires à votre projet (les dépendances) ainsi que l'ensemble des fichiers à autoload (psr-0, psr-4), nous allons voir la structure de ce fichier.


Code:
{
  "require": {
    "auteur/extension": "version",
    "auteur/extension": "version",

  }
}

Comme vous le voyez, la structure est très simple, c'est du JSON il suffit d'indiquer l'auteur, le nom du package suivi de sa version.

Pour trouver un package nous allons nous rendre sur qui est un peu le catalogue de Composer.

Pour l'exemple nous allons installer Guzzle qui nous permet de faire des requêtes HTTP très facilement, nous cherchons donc Guzzle sur packagist.

6102f0165c9cd8089d0016fbaf43b850.png

Comme vous le voyez l'auteur est guzzle et le nom du package est guzzle, nous allons donc modifier notre composer.json de façon à inclure Guzzle :

Code:
{
  "require": {
    "guzzle/guzzle": "dev-master"

  }
}

Notez que le dev-master dans la partie version dit qu'on veut la dernière version.
Maintenant on va dire à Composer d'installer les dépendances pour cela tapez ceci dans le terminal :
Code:
composer.phar install
ou
Code:
composer.phar update
ça dépend si vous avez déjà fait une installation.

Composer va se charger de créer un dossier vendor à la racine de votre projet et de stocker ici toutes les extensions que vous aurez téléchargé.

Vous pouvez constater que Composer à crée un fichier autoload.php dans le dossier vendor, c'est le fichier à inclure sur votre projet afin de bénéficier des packages que vous avez installé.


III - Exemple :

Maintenant que nous avons installé Guzzle, nous allons essayer de l'utiliser :

PHP:
<?php
require 'vendor/autoload.php'; // Inclusion de l'autoloader

$client = new GuzzleHttp\Client(); // Création d'une instance de la Classe client sur le namespace GuzzleHttp
$response = $client->get('http:/reality-gaming.fr');
echo $response->getBody(); // Affichage du site

Et voilà, vous voyez comme c'est simple d'utiliser un package avec l'autoloader qui s'occupe d'inclure tout.



IV - Utiliser Composer pour installer un framework :

Les framework, de plus en plus utilisé dans le milieu professionnel pour garantir une lisibilité, une simplicité et une sécurité dans le codes s'installent quasiment tous avec Composer.

Voici un petit graphique des framework les plus utilisés en 2014 pour vous montrer l'essor de ceux-ci.

chart1-1024x853.png

On peut le voir, le framework tout récent Laravel gagne énormément d'utilisateurs au profil de Symfony qui commence à perdre en communauté.

A - Laravel
Code:
composer create-project laravel/laravel realitygaming

B - Symfony
Code:
composer create-project symfony/framework-standard-edition realitygaming/ "2.5.*"

Voilà pour les deux framework les plus utilisés (notez que j'ai volontairement zappé Phalcon qui est une extension écrite en C et donc qui ne s'installe pas via composer).

Cela créera un dossier realitygaming contenant votre framework tout chaud prêt à l'usage !

A venir :
- utilisation de l'autoloader pour charger automatique vos class



Tu peux aussi rajouter CakePHP3 dans les frameworks :
Code:
composer create-project --prefer-dist -s dev cakephp/app realitygaming
 
Merci pour le tuto !
 
Merci Weak, ce fut très instructif ;)
 
et t'il obliger d'utliser un framwork ? quand on programme et puis sa sert a quoi exactement ? :)
ps : petit débutant :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut