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. Dependências de aplicativos

Uma dependência é um código de terceiros que seu aplicativo usa. Por exemplo, o Zend Framework 3 é a dependência do seu site.

No Composer, qualquer biblioteca é chamada de pacote. Todos os pacotes instaláveis ​​pelo Composer estão registrados no site [Packagist.org] (https://packagist.org/). Com o Composer, você pode identificar os pacotes que o seu aplicativo requer e baixá-los e instalá-los automaticamente.

As dependências do skeleton application estão no arquivo APP_DIR/composer.json (veja abaixo):

{
    "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"
    }
}

O que é JSON?

JSON (JavaScript Object Notation), é um formato de arquivo baseado em texto usado para legível para humanos com uma estrutura de arrays aninhados. Embora JSON tenha originado do JavaScript, é usado em PHP e em outras linguagens, porque é conveniente para armazenar dados de configuração.

Nesse arquivo, vemos algumas informações básicas sobre o skeleton application (seu nome, descrição, licença, keywords e home page). Você normalmente irá alterar esta informação para o seu websites. Esta informação é opcional, então você pode até removê-la , se você não desejar publicar sua aplicação no Packagist.

O que é interessante nesta imagem para nós agora é a palavra require. O require contém as dependências para nosso aplicativo. Essa keyword só funciona a partir do PHP versão 5.6 ou posterior e funciona com vários componentes do Zend Framework, como zend-mvc, zend-mvc-form, etc.

As informações contidas no arquivo composer.json são suficientes para localizar as dependências, baixar e instalar nos subdiretório vendor. A qualquer momento que você precisa você pode instalar outra dependência, você pode fazer isso editando o composer.json e adicionando sua dependência nele, e, em seguida, digitando os seguintes comandos no seu terminal de comando:

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

Os comandos acima atualizarão o Composer para a última versão disponível e, em seguida, vai instalar suas dependências. A propósito, o Composer não instala o PHP para você, ele apenas garente que PHP tenha uma versão apropriada, e se não, ele irá avisá-lo dizendo que a versão não é compatível.

Se você olhar dentro da sub-pastas do vendor, você verá que ele contém muitos arquivos dos pacotes instalados.

Os arquivos do Zend Framework 3 podem ser encontrados dentro do APP_DIR/vendor/zendframework/ (Imagem 2.2).

Imagem 2.2. Pasta Vendor Imagem 2.2. Pasta Vendor

Em outros frameworks, outra forma (convencional) de instalação de instalação de dependências é usada. Onde você baixa o arquivo da blibioteca que você vai utilizar descompacta e coloca em algum lugar da sua pastas (geralmente, vai para a pasta vendor). Essa abordagem foi usada no Zend Framework 1. Mas, no Zend Framework 3, é recomendável instalar dependências com o Composer.


Top