Pular para o conteúdo

Instalação do NextPDF para CodeIgniter 4

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.

O arquivo composer.json do pacote é a fonte autoritativa dessas restrições. A tabela abaixo as apresenta novamente para consulta rápida.

DependênciaRestriçãoObservações
PHP>=8.4 <9.0Destina-se ao PHP 8.4.
nextpdf/core^3.0 || ^5.2Motor do NextPDF.
codeigniter4/framework^4.6Verificado com o CodeIgniter 4.7.0.
ext-mbstringobrigatória em tempo de execuçãoValidada uma vez por processo.
ext-zlibobrigatória em tempo de execuçãoValidada uma vez por processo.

Os pacotes opcionais declarados em suggest adicionam os seguintes recursos:

PacoteAdiciona
nextpdf/artisanRenderizador de HTML do Chrome DevTools Protocol (CDP), detectado automaticamente na geração do documento.
nextpdf/premiumRecursos do NextPDF Pro e Enterprise: assinatura, PDF/A, Factur-X.
codeigniter4/queueGeração assíncrona de PDF com GeneratePdfJob.

Instale o pacote com o Composer:

Terminal window
composer require nextpdf/codeigniter

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

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.

Confirme que o Composer resolveu o pacote:

Terminal window
composer show nextpdf/codeigniter

Confirme 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/.

  • Se a aplicação host definir Config\Modules::$discoverInComposer como false, adicione nextpdf/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-autoload após atualizar.
  • O pacote declara codeigniter4/queue apenas como dependência de desenvolvimento. Uma aplicação de produção que despacha GeneratePdfJob deve exigir codeigniter4/queue diretamente.

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

  • A descoberta do Composer depende do autoloading PSR-4.
  • /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.