Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:composer

Tabla de Contenidos

Composer

Gestor de dependencias para PHP.

Instalación

Tras la instalación, el ejecutable se ubica en:

  • Linux: $HOME/.config/composer/vendor/bin o $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin

Uso

composer.json

El fichero composer.json se usa para configurar un proyecto. En él se definen las dependencias del proyecto y alguna información extra sobre el mismo.

Para generar un fichero composer.json básico:

composer init
{
    "name": "tempwin/foo"
    "description": "Descripción de foo",
    "type": "project",
    "license": "MIT",
    "authors": [
        {
            "name": "TempWin",
            "email": "tempwin@gmail.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "phpmailer/phpmailer": "5.2.2"
    }
}

A la hora de indicar la versión de las dependencias, se sigue el siguiente esquema:

  • 1.2.3: versión exacta
  • >=1.0: rango
    • >=1.0 <2.0
    • >=1.0 <1.1 || >=1.2
  • 1.0.*: comodín.
  • ^1.2.3: es lo mismo que >=1.2.3 <2.0.0

Composer generará además un fichero vendor/autoload.php para que lo incluyamos en nuestro proyecto y empezar a usar ya las bibliotecas despreocupándonos de hacerlo todo nosotros. Bastará con incluir la siguiente línea en nuestro script:

require 'vendor/autoload.php';

Ejemplo de fichero PHP:

//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
 
//Load Composer's autoloader
require 'vendor/autoload.php';
 
//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);
composer create-project laravel/laravel:^8.0 example-app
informatica/programacion/php/composer.txt · Última modificación: por tempwin