Pour étendre l'application, de nombreuses possibilités s'offrent aux développeurs : cependant, la méthode à préférer devrait être l'installation de bibliothèques externes avec composer (
https://getcomposer.org/).
Composer est un gestionnaire de dépendances pour PHP qui permet l'installation de paquets fournissant des bibliothèques largement soutenues par la communauté des développeurs, généralement puissantes et stables. L'utilisation de telles bibliothèques permet de s'affranchir progressivement du cadriciel pour proposer un code plus portable et lisible.
Pour utiliser composer avec chora, voici comment procéder :
—Placez-vous à la racine de l'installation (au-dessus du dossier /applications/
—Ajoutez les directives (généralement de type
require) que vous souhaitez au fichier composer.json. Par exemple,
[...]
"require": {
"php": ">=5.2.4",
"ovh/ovh": "^2.0",
"freearhey/wikidata": "^2.1",
"james-heinrich/getid3": "^1.9",
"php-ffmpeg/php-ffmpeg": "^0.12.0"
},
[...]
demandera l'installation de PHP FFMpeg (nécessaire pour générer les vignettes des fichiers vidéo) en version 0.12.0
—Lancez l'installation ou la mise à jour
à partir du même dossier avec :
composer install
ou
composer update
Les bibliothèques demandées seront installées dans /vendor/ (à la racine de l'installation). Pour les charger automatiquement, il vous suffit d'ajouter dans vos fichiers de fonctions d'aide (
helpers) la ligne suivante :
require_once ROOT.'vendor/autoload.php';
Puis d'initialiser la bibliothèque dont vous avez besoin. Pour PHP FFMpeg :
$ffmpeg = FFMpegFFMpeg::create(array(
'ffmpeg.binaries' => constant('FFMPEG'),
'ffprobe.binaries' => constant('FFPROBE'),
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
));
Référence : https://philsturgeon.uk/php/2012/05/07/composer-with-codeigniter/