Bibliotecas externas
1Presentación
Cuando desarrollas un sitio web o una API, es habitual usar bibliotecas de funciones para realizar determinados procesos (para evitar tener que desarrollarlo todo tú mismo).
Temma es muy flexible y se adapta a la forma en que quieras cargar esas bibliotecas. En general, las bibliotecas pueden cargarse copiándolas en el directorio lib/, o usando el gestor de dependencias Composer.
2Copiar la biblioteca
Si la biblioteca es un conjunto de archivos .php o un archivo .phar, puedes copiar el archivo o los archivos en el directorio lib/ del proyecto.
2.1Archivos .php
Si colocas archivos .php en el directorio lib/, y contienen objetos conformes al estándar PSR-4, serán gestionados automáticamente por el autoloader de Temma.
Por ejemplo, el objeto \Skywalker\Luke debe almacenarse en el archivo lib/Skywalker/Luke.php, y puede instanciarse directamente:
$luke = new \Skywalker\Luke();
Si, por el contrario, los archivos no cumplen el estándar PSR-4, tendrás que incluirlos explícitamente antes de poder usar los objetos y funciones que contienen.
Por ejemplo, si el archivo lib/skywalker/family.php contiene el objeto \Skywalker\Luke, tendrás que incluirlo antes de instanciar el objeto:
<?php
require_once('skywalker/family.php');
// algo de código
$luke = new \Skywalker\Luke();
2.2Archivo .phar
Si colocas un archivo .phar directamente en el directorio lib/, todos tus objetos que usen el contenido de ese archivo tendrán que incluirlo:
<?php
require_once("a_library.phar");
Si has colocado el archivo .phar en un subdirectorio, debes incluir la ruta completa por debajo de lib/:
<?php
require_once("path/to/a_library.phar");
3Usar Composer
Composer es el gestor de dependencias comúnmente usado en los proyectos PHP. Facilita la carga de bibliotecas declaradas en el servicio Packagist.
Suponiendo que ya tienes Composer instalado, puedes crear un archivo composer.json en la raíz de tu proyecto, y listar en él las bibliotecas que deben instalarse:
{
"require": {
"lib1": ">=1.0.0",
"lib2": "2.*"
}
}
Después, para que Composer descargue las bibliotecas listadas (y sus dependencias), ejecuta el comando: composer update
Si has instalado Composer como un archivo .phar, tendrás que ejecutar php composer.phar update
Composer colocará los archivos descargados en el directorio vendor/.
Si has instalado bibliotecas con Composer, Temma cargará automáticamente el autoloader de Composer, haciendo que los objetos de las bibliotecas sean directamente instanciables.