CI: Installare Composer


Composer è un gestore delle dipendenze per PHP (Dependecy Injector), maggiormente diffuso rispetto a PEAR. Grazie a Composer è possibile elencare le dipendenze di un progetto in un file composer.json e, con pochi comandi, Composer scaricherà automaticamente le dipendenze e imposterà l’autoloading in maniera automatica.

Ogni sistema (Cms o Framework che sia) deve essere modulare. Questa modularità implica la necessità di gestire dei pacchetti da fonti più o meno certe. Possiamo quindi avvalerci delle funzionalità di Composer come sistema unificato per la gestione delle dipendenze.

Ci sono già tantissime librerie PHP compatibili con Composer pronte per essere usate nei nostri progetti. Questi “pacchetti” sono elencati su Packagist, il repository ufficiale per le librerie PHP disponibili tramite Composer.

Per integrare Composer in un progetto CodeIgniter occorre, per prima cosa, installare l’ultima versione del tool. L’installazione può essere globale o locale, per ora a me interessa solamente l’installazione globale. Per procedere occorre accertarsi di aver installato cURL (in Ubuntu e Debian derivate):

sudo apt-get install php5-curl

quindi proseguiamo con l’installazione di Composer:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

A questo punto occorre creare il file composer.json contenente tutte le info relative alle librerie richieste e relative versioni. Di seguito un esempio:

{
 "description": "The CodeIgniter framework",
 "name": "codeigniter/framework",
 "type": "project",
 "homepage": "https://codeigniter.com",
 "license": "MIT",
 "support": {
 "forum": "http://forum.codeigniter.com/",
 "wiki": "https://github.com/bcit-ci/CodeIgniter/wiki",
 "irc": "irc://irc.freenode.net/codeigniter",
 "source": "https://github.com/bcit-ci/CodeIgniter"
 },
 "require": {
 "php": ">=5.2.4"
 },
 "suggest": {
 "paragonie/random_compat": "Provides better randomness in PHP 5.x"
 },
 "require-dev": {
 "mikey179/vfsStream": "1.1.*"
 }
 }

Bene, ora bisogna eseguire composer install e attendere il download delle librerie. Verranno posizionate nella cartella vendor situata nella root dell’applicazione (per intenderci prima di application). Per consentire a CodeIgniter di collaborare con Composer, è necessario abilitare l’apposita voce nel file “application/config/config.php” e referenziare la presenza delle librerie scaricate all’interno della directory dell’applicazione:

$config['composer_autoload'] = TRUE;
require_once 'vendor/autoload.php';

Per mantenere aggiornate le librerie e/o installarne di nuove, basta digitare dalla terminale:

composer update

Lascia un commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>