Escriu el teu projecte PHP amb facilitat deixant que el compositor gestioni totes les dependències
Composer és una eina de gestió de dependències per a PHP. Es diferencia del gestor de paquets tradicional com ara apt
i dnf
, de manera que no instal·la els paquets i biblioteques globalment a nivell de sistema, sinó que els gestiona per a cada projecte per separat. Per tant, és un gestor de dependències i no un gestor de paquets.
De la mateixa manera que un compositor de música agafa un munt d'instruments i els organitza perquè funcionin perfectament en un concert, Composer for PHP agafa un munt de biblioteques i marcs, els empaqueta per treballar junts i crea una base sòlida sobre la qual es pot construir un projecte PHP. compost.
Requisits previs
Necessiteu accedir a un sistema Ubuntu 20.04 amb un sistema no root sudo
compte d'usuari. A més, cal instal·lar algunes dependències per a Composer, que inclou php-cli
per executar scripts PHP al vostre terminal, descomprimir
per ajudar a Composer a extreure els paquets descarregats i rínxol
per descarregar l'script d'instal·lació del compositor
Per instal·lar tots els paquets necessaris, actualitzeu la llista de paquets d'Ubuntu executant l'ordre d'actualització:
sudo apt update
A continuació, instal·leu el php-cli
, descomprimir
i rínxol
utilitzant la següent comanda:
sudo apt install php-cli unzip curl
Se us demanarà que confirmeu la instal·lació, premeu Y
després premeu Enter. Un cop hàgiu complert tots els requisits previs, podeu continuar instal·lant Composer.
Baixeu i instal·leu Composer
Composer ofereix un script PHP net per descarregar-lo i instal·lar-lo a la vostra màquina des de la línia d'ordres. Necessitem utilitzar rínxol
per descarregar aquest script, verifiqueu-ne l'autenticitat per motius de seguretat i, a continuació, executeu-lo per instal·lar Composer.
Assegureu-vos que el vostre terminal estigui obert al directori d'inici i, a continuació, baixeu l'script d'instal·lació mitjançant rínxol
:
cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php
A continuació, hem de verificar que l'script d'instal·lació que hem descarregat és autèntic fent coincidir el hash SHA-384 amb el que es troba a la pàgina Clau pública/sums de comprovació de Composer. Per fer-ho, obteniu el hash SHA-384 de la pàgina de clau pública del compositor i emmagatzemeu-lo en una variable de shell.
Hash=`curl -sS //composer.github.io/installer.sig`
A continuació, comproveu que heu obtingut i emmagatzemat correctament el hash a la variable executant:
echo $Hash
Hauríeu d'obtenir una sortida d'alguna cadena aleatòria com aquesta del terminal:
Sortida: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a
Ara, executeu el següent codi PHP proporcionat per Composer per verificar l'autenticitat de l'script d'instal·lació:
php -r "if (fitxer_hash('SHA384', 'composer-setup.php') === '$Hash') { echo 'Instal·lador verificat'; } else { echo 'Instal·lador corrupte'; unlink ('configuració del compositor') .php'); } echo PHP_EOL;"
Sortida: Instal·lador verificat
Si veieu qualsevol altra sortida, com ara L'instal·lador està corrupte
, aleshores sabreu que l'script està malmès i que no és segur executar-lo. Baixeu l'script de nou amb curl i, a continuació, executeu el codi PHP al terminal de nou per verificar l'script d'instal·lació.
Podeu continuar amb la instal·lació quan hàgiu verificat correctament l'instal·lador. Podeu instal·lar Install the Composer globalment o localment per a un sol projecte.
Instal·leu Composer a nivell global
Per instal·lar Composer globalment com una ordre per a tot el sistema anomenada compositor
, executeu l'ordre següent:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Composer s'instal·larà al /usr/local/bin
directori del vostre sistema Ubuntu 20.04 i veureu una sortida com aquesta:
Sortida: Tota la configuració és correcta per utilitzar Composer Descàrrega... Composer (versió 1.10.7) s'ha instal·lat correctament a: /usr/local/bin/composer Utilitzeu-lo: php /usr/local/bin/composer
Comproveu que Composer estigui instal·lat correctament i funcioni executant:
compositor
Sortida: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Versió del compositor 1.10.7 2020-06- 03 10:03:56 Ús: comanda [opcions] [arguments]
Heu instal·lat el compositor correctament al vostre sistema Ubuntu 20.04. Ara podeu començar a utilitzar Composer per gestionar, actualitzar i instal·lar dependències als vostres projectes PHP immediatament.
Instal·lació local de Composer
La instal·lació local de Composer és útil quan no teniu permís per instal·lar-lo a tot el sistema o si voleu que Composer només sigui per a un projecte. Per instal·lar el compositor de forma local, s'executa:
php composer-setup.php
L'ordre anterior crearà un fitxer nou al directori actual anomenat compositor.phar
. Haureu de moure aquest fitxer a la carpeta arrel del projecte per utilitzar les funcions de Composer. Aquest fitxer es pot executar mitjançant l'ordre que es mostra a continuació.
php composer.phar
Conceptes bàsics del compositor
Ara, que teniu Composer instal·lat a la vostra màquina Ubuntu 20.04, anem a veure alguns conceptes bàsics de Composer. Composer pretén facilitar la instal·lació i les actualitzacions de dependències i, per fer-ho, crea molts fitxers al directori arrel del projecte. Vegem l'estructura de directoris d'un projecte que utilitza Composer per gestionar les dependències.
Estructura arrel del projecte Composer:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── compositor.phar *Només si heu instal·lat Composer localment └── venedor ├── càrrega automàtica.php ├── compositor │ ├── ClassLoader.php │ ├── LLICÈNCIA │ ├── autoload_classmap.php │ ├── ..... ├── .......
- El
composer.json
El fitxer situat al directori arrel del projecte emmagatzema tota la informació sobre les dependències (paquets) requerides pel projecte. - El
compositor.lock
conté la informació dels paquets amb versió bloquejada per al projecte. venedor
és el directori on s'emmagatzemen tots els paquets, també té alguns scripts PHP com aracàrrega automàtica.php
, que facilita la inclusió automàtica dels paquets al directori de proveïdors.- Finalment, si heu instal·lat Composer localment, haureu de tenir-ho
compositor.phar
fitxer al directori del projecte per instal·lar paquets.
Tots aquests fitxers es creen quan feu servir el compositor
o php composer.phar
comanda per descarregar i instal·lar paquets per al vostre projecte per primera vegada. Per tant, mirem el funcionament de Composer mitjançant la creació d'un projecte de demostració.
Creació del vostre primer projecte amb Composer
El primer pas és crear un directori arrel per al vostre projecte, així que creeu-ne un amb mkdir
comanda i navegueu-hi utilitzant cd
comandament:
mkdir ~/ComposerDemo cd ~/ComposerDemo
Ara, hem de trobar i instal·lar els paquets/biblioteques necessaris per construir el nostre projecte de demostració. Packagist és el repositori principal de Composer que enumera tots els paquets PHP disponibles públicament que es poden instal·lar amb Composer.
En aquest exemple, utilitzarem un paquet PHP anomenat cakephp/chronos
, és una simple extensió de l'API per a la data i l'hora. Així, per generar un nou projecte de Composer i instal·lar el paquet Chronos, executeu l'ordre següent:
el compositor requereix cakephp/chronos
Sortida: S'ha creat l'ús de la versió ^2.0 per a cakephp/chronos ./composer.json Carregant repositoris de compositors amb informació del paquet Actualització de dependències (inclòs require-dev) Operacions de paquets: 1 instal·lació, 0 actualitzacions, 0 eliminacions - Instal·lació de cakephp/chronos (2.0.5 ): Descàrrega (100%) Escriptura de fitxer de bloqueig Generació de fitxers de càrrega automàtica
El requereixen
L'opció recupera i instal·la el paquet que desitgeu i genera els fitxers i directoris com ara composer.json
, compositor.lock
i venedor
al directori arrel del projecte. Això ho veuràs cakephp/chronos
s'afegeix a la composer.json
si executeu l'ordre següent:
cat composer.json
Sortida: { "require": { "cakephp/chronos": "^2.0" } }
A continuació, fem ús de Chronos al nostre projecte de demostració, obrim i creem un fitxer PHP anomenat demo.php
utilitzant nano
:
nano demo.php
A continuació, afegiu el codi següent al fitxer demo.php
, la segona línia que inclou venedor/carrega automàtica.php
és un fitxer Composer que carrega automàticament tots els paquets i biblioteques instal·lats per al projecte. Deseu el fitxer prement Ctrl+O
i després sortiu de l'editor nano prement Ctrl+X
.
Executar el demo.php
executant l'ordre següent:
php demo.php
Sortida: Ara: 23-06-2020 17:07:45
En el futur, quan necessiteu actualitzar els paquets i biblioteques del vostre projecte, només heu d'executar l'ordre següent:
actualització del compositor
L'ordre anterior comprovarà la versió més nova dels paquets instal·lats i els actualitzarà de manera segura sense trencar el projecte i les seves biblioteques interdependents.
Hem vist com instal·lar Composer a la màquina Ubuntu 20.04 i hem analitzat els conceptes bàsics que necessiteu saber sobre Composer. Ara podeu provar de crear nous projectes afegint els paquets necessaris cercant a Packagist. Si voleu obtenir més informació sobre Composer i la seva opció, aneu a la pàgina de documentació en línia de Composer.