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).
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.