A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

2.3. Dependencias de la Aplicación

Una dependencia es algún código de un tercero que nuestra aplicación usa. Por ejemplo Zend Framework 3 es una dependencia de nuestro sitio web.

Con Composer cualquier biblioteca se llama paquete. Todos los paquetes que se pueden instalar con Composer están registrados en el sitio web Packagist.org. Con Composer podemos identificar los paquetes que nuestra aplicación necesita, Composer los descargará e instalará automáticamente.

Las dependencias de la aplicación skeleton se declaran en el archivo APP_DIR/composer.json (ver más abajo):

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for Zend Framework zend-mvc applications",
    "type": "project",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "mvc",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require": {
        "php": "^5.6 || ^7.0",
        "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
        "zendframework/zend-mvc": "^3.0.1",
        "zfcampus/zf-development-mode": "^3.0",
        "zendframework/zend-mvc-form": "^1.0",
        "zendframework/zend-mvc-plugins": "^1.0.1",
        "zendframework/zend-session": "^2.7.1"
    },
    "autoload": {
        "psr-4": {
            "Application\\": "module/Application/src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "ApplicationTest\\": "module/Application/test/"
        }
    },
    "extra": [],
    "scripts": {
        "development-disable": "zf-development-mode disable",
        "development-enable": "zf-development-mode enable",
        "development-status": "zf-development-mode status",
        "serve": "php -S 0.0.0.0:8080 -t public/ public/index.php"
    }
}

¿Qué es JSON?

JSON (JavaScript Object Notation), es un archivo de texto legible por humanos para representar estructuras simples y arreglos asociados anidados. A pesar de que JSON tiene su origen en JavaScript es usado por PHP y otros lenguajes porque es conveniente para guardar datos de configuración.

En este archivo podemos ver información básica sobre la aplicación skeleton (su nombre, descripción, licencia, palabras claves y la página oficial). Nosotros generalmente cambiamos esta información por la de nuestra futura aplicación. Esta información es opcional así que incluso podemos borrarla si no tenemos planeado publicar nuestra aplicación web en el catalogo Packagist.

La parte interesante para nosotros es la llave require. La llave require contiene las declaraciones de las dependencias para nuestra aplicación. Vemos que es necesario el motor de PHP es su versión 5.6 o superior y varios componentes de Zend Framework como zend-mvc, zend-mvc-form, etc.

La información que está en el archivo composer.json es suficiente para encontrar las dependencias, descargarlas e instalarlas en la carpeta vendor. Si en algún momento necesitamos instalar otra dependencia podemos agregarla editando el archivo composer.json cambiando las dependencias en él y luego escribir los siguiente comandos en la consola de comandos:

php composer.phar self-update
php composer.phar install

Los comandos de arriba actualizarán Composer a su última versión y luego instalará nuestras dependencias. Sin embargo Composer no instalará PHP, él simplemente se asegurara que está instalada la versión apropiada y si no mostrará una advertencia.

Si revisamos la subcarpeta vendor podemos ver que ella contiene muchos archivos. Los archivos de Zend Framework 3 se encuentran dentro de la carpeta APP_DIR/vendor/zendframework/ (figura 2.2).

Figura 2.2. Carpeta Vendor Figura 2.2. Carpeta Vendor

Algunos frameworks usan otra manera convencional de instalar dependencias. Es posible descargar las librerías que necesita nuestra aplicación como un archivo y colocarlo en algún lugar dentro de nuestra estructura de carpetas (generalmente en la carpeta vendor). Esta forma se usó en Zend Framework 1. Pero en Zend Framework 3 se recomienda instalar las dependencias mediante Composer.


Top