Instalação do NextPDF para CodeIgniter 4
Visão geral
Seção intitulada “Visão geral”Instale o pacote com o Composer. O CodeIgniter 4 encontra automaticamente a classe Services e as funções auxiliares, portanto você não precisa registrá-las manualmente.
Requisitos
Seção intitulada “Requisitos”O arquivo composer.json do pacote é a fonte autoritativa dessas restrições. A tabela abaixo as apresenta novamente para consulta rápida.
| Dependência | Restrição | Observações |
|---|---|---|
| PHP | >=8.4 <9.0 | Destina-se ao PHP 8.4. |
nextpdf/core | ^3.0 || ^5.2 | Motor do NextPDF. |
codeigniter4/framework | ^4.6 | Verificado com o CodeIgniter 4.7.0. |
ext-mbstring | obrigatória em tempo de execução | Validada uma vez por processo. |
ext-zlib | obrigatória em tempo de execução | Validada uma vez por processo. |
Os pacotes opcionais declarados em suggest adicionam os seguintes recursos:
| Pacote | Adiciona |
|---|---|
nextpdf/artisan | Renderizador de HTML do Chrome DevTools Protocol (CDP), detectado automaticamente na geração do documento. |
nextpdf/premium | Recursos do NextPDF Pro e Enterprise: assinatura, PDF/A, Factur-X. |
codeigniter4/queue | Geração assíncrona de PDF com GeneratePdfJob. |
Instalação
Seção intitulada “Instalação”Instale o pacote com o Composer:
composer require nextpdf/codeigniterO Composer resolve nextpdf/core e codeigniter4/framework de acordo com as restrições acima. Você não precisa editar nenhum service provider, bundle ou arquivo de bootstrap.
Como funciona a descoberta
Seção intitulada “Como funciona a descoberta”O CodeIgniter 4 varre os pacotes do Composer em busca de elementos do framework quando Config\Modules::$discoverInComposer é true, o padrão do framework. O pacote inclui a classe NextPDF\CodeIgniter\Config\Services. Essa classe fica no namespace NextPDF\CodeIgniter\, que segue a PHP Standard Recommendation 4 (PSR-4) e mapeia para src/CodeIgniter/. O autoloader PSR-4 do Composer converte o nome totalmente qualificado da classe em um caminho de arquivo. O namespace de nível superior é obrigatório (PSR-4 §x1.x2.p5, modal MUST). O prefixo do namespace mapeia para o diretório base, de modo que a classe é resolvida para o arquivo correspondente (PSR-4 §x1.x3).
A entrada de autoload files do Composer no pacote (src/CodeIgniter/Helpers/pdf_helper.php) registra as duas funções auxiliares pdf() e pdf_document(). O Registrar do pacote também anuncia o helper pdf ao carregador de helpers do CodeIgniter. Consulte /integrations/codeigniter/boot-and-discovery/ para ver a sequência completa.
Verifique a instalação
Seção intitulada “Verifique a instalação”Confirme que o Composer resolveu o pacote:
composer show nextpdf/codeigniterConfirme que o CodeIgniter descobriu a classe Services. Em qualquer controller, ou em uma rota php spark curta, chame o serviço e verifique seu tipo:
<?php
declare(strict_types=1);
use NextPDF\CodeIgniter\Config\Services;use NextPDF\Core\Document;
$document = Services::pdfDocument(false);
// $document is a fresh NextPDF\Core\Document instance.\assert($document instanceof Document);Se Services::pdfDocument() retornar um Document, a descoberta está funcionando. Se retornar null, a descoberta não foi executada. Consulte /integrations/codeigniter/troubleshooting/.
Casos-limite e pegadinhas
Seção intitulada “Casos-limite e pegadinhas”- Se a aplicação host definir
Config\Modules::$discoverInComposercomofalse, adicionenextpdf/codeigniterà lista$composerPackages['only']. Caso contrário, o CodeIgniter vai ignorar o pacote. - Um autoloader do Composer desatualizado pode ocultar a classe Services. Execute
composer dump-autoloadapós atualizar. - O pacote declara
codeigniter4/queueapenas como dependência de desenvolvimento. Uma aplicação de produção que despachaGeneratePdfJobdeve exigircodeigniter4/queuediretamente.
Observações de segurança
Seção intitulada “Observações de segurança”Instale a partir do Packagist via HTTPS. Fixe as versões resolvidas em composer.lock. O pacote não adiciona scripts em tempo de instalação. Consulte /integrations/codeigniter/security-and-operations/.
Conformidade
Seção intitulada “Conformidade”- A descoberta do Composer depende do autoloading PSR-4.
Veja também
Seção intitulada “Veja também”- /integrations/codeigniter/overview/ — recursos do pacote.
- /integrations/codeigniter/quickstart/ — crie seu primeiro PDF em um controller.
- /integrations/codeigniter/configuration/ — chaves de configuração e substituições.
- /integrations/codeigniter/boot-and-discovery/ — sequência detalhada de descoberta.