Utilizo CakePHP
e preciso incluir uma classe de uma API de uma empresa terceira. Somente adicionando na pasta lib na raiz do meu projeto não a tornou acessível através do componente que pretendo utilizá-la.
Como resolver isso?
Utilizo CakePHP
e preciso incluir uma classe de uma API de uma empresa terceira. Somente adicionando na pasta lib na raiz do meu projeto não a tornou acessível através do componente que pretendo utilizá-la.
Como resolver isso?
Pela documentação do CakePHP, você deve adicionar bibliotecas de terceiros na pasta lib
Lib
Contém suas bibliotecas pessoais e diferentes das obtidas de terceiros. Isto permite separar as bibliotecas internas de sua empresa das que foram criadas por outras pessoas ou fornecedores.
Texto e direitos autorias do link Estrutura de Diretórios no CakePHP
Então, eu acredito que esteja faltando alguma coisa na sua pasta lib da instalação da biblioteca de terceiros.
Mas, como eu disse, não funcionou dessa forma comigo.
Como deveria ser a nomenclatura das pastas e arquivos dentro de lib?
Nesse link explica como subir lib de terceiros: App Class, no exemplo dado assim:
app/Lib/Network/Http/HttpSocket.php
Libs
App::uses('PaymentProcessor', 'Lib');
Esses dois itens estão na explicação.
Em outra forma:
Autoloading Plugin Classes, que você adiciona o namespace e o caminho da sua lib para que seja global, exemplo:
"psr-4": {
(...)
"AcmeCorp\\Users\\": "./plugins/AcmeCorp/Users/src",
"AcmeCorp\\Users\\Test\\": "./plugins/AcmeCorp/Users/tests"
}
Então, qual é a sua lib, para que possa ser mais exato, só que lembrando que essas são as duas formas!