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.