Bibliotecas externas
1Apresentação
Ao desenvolver um site ou uma API, é comum usar bibliotecas de funções para realizar determinados processos (para evitar ter que desenvolver tudo você mesmo).
Temma é bem flexível e se adapta à forma como você deseja carregar essas bibliotecas. De modo geral, as bibliotecas podem ser carregadas copiando-as para o diretório lib/, ou usando o gerenciador de dependências Composer.
2Copiando a biblioteca
Se a biblioteca for um conjunto de arquivos .php ou um arquivo .phar, você pode copiar o(s) arquivo(s) para o diretório lib/ do projeto.
2.1Arquivos .php
Se você colocar arquivos .php no diretório lib/, e eles contiverem objetos compatíveis com o padrão PSR-4, eles serão tratados automaticamente pelo autoloader do Temma.
Por exemplo, o objeto \Skywalker\Luke deve ser armazenado no arquivo lib/Skywalker/Luke.php, e pode ser instanciado diretamente:
$luke = new \Skywalker\Luke();
Se, por outro lado, os arquivos não seguirem o padrão PSR-4, você precisará incluí-los explicitamente antes de poder usar os objetos e funções que eles contêm.
Por exemplo, se o arquivo lib/skywalker/family.php contiver o objeto \Skywalker\Luke, você precisará incluí-lo antes de instanciá-lo:
<?php
require_once('skywalker/family.php');
// algum código
$luke = new \Skywalker\Luke();
2.2Arquivo .phar
Se você colocar um arquivo .phar diretamente no diretório lib/, todos os seus objetos que usam o conteúdo desse arquivo terão que incluí-lo:
<?php
require_once("a_library.phar");
Se você colocou o arquivo .phar em um subdiretório, deve incluir o caminho completo abaixo de lib/:
<?php
require_once("path/to/a_library.phar");
3Usando o Composer
Composer é o gerenciador de dependências comumente usado em projetos PHP. Ele facilita o carregamento de bibliotecas declaradas no serviço Packagist.
Supondo que você já tenha o Composer instalado, você pode criar um arquivo composer.json na raiz do seu projeto, e listar nele as bibliotecas que precisam ser instaladas:
{
"require": {
"lib1": ">=1.0.0",
"lib2": "2.*"
}
}
Em seguida, para que o Composer baixe as bibliotecas listadas (e suas dependências), execute o comando: composer update
Se você instalou o Composer como um arquivo .phar, você precisará executar php composer.phar update
O Composer vai colocar os arquivos baixados no diretório vendor/.
Se você instalou bibliotecas com o Composer, o Temma vai carregar automaticamente o autoloader do Composer, tornando os objetos das bibliotecas diretamente instanciáveis.