You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've made the module working on ZF3. But actually only with dompdf version 0.6.2. You should totally upgrade to newer version of it!
But so far, just to give you an hint what to do to make this module working on ZF3, I made an change list while updateing it. It works pretty well then. Maybe helpful for others too, so I will let this here.
It really easy to do, just follow this easy steps ...
Delete modules/DOMPDFModule/Module.php
Move files from modules/DOMPDFModule/src/DOMPDFModule/
to modules/DOMPDFModule/src/(one directory up)
Change the path in getConfig() function
in modules/DOMPDFModule/src/Module.php
to __DIR__ . '/../config/module.config.php
Remove getAutoloaderConfig function
from modules/DOMPDFModule/src/Module.php
Change from use Zend\ServiceManager\FactoryInterface;
to use Zend\ServiceManager\Factory\FactoryInterface; in:
Change function public function createService(ServiceLocatorInterface $serviceLocator)
to public function __invoke(ContainerInterface $container, $requestedName, array $options = null) in:
In addition to @juizmill's work in #57, I took an initial stab at a ZF3 upgrade path in #73. Take note that the minimum Dompdf version supported here is ^0.8.0.
I've made the module working on ZF3. But actually only with
dompdf
version0.6.2
. You should totally upgrade to newer version of it!But so far, just to give you an hint what to do to make this module working on ZF3, I made an change list while updateing it. It works pretty well then. Maybe helpful for others too, so I will let this here.
It really easy to do, just follow this easy steps ...
Delete
modules/DOMPDFModule/Module.php
Move files from
modules/DOMPDFModule/src/DOMPDFModule/
to
modules/DOMPDFModule/src/
(one directory up)Change the path in
getConfig()
functionin
modules/DOMPDFModule/src/Module.php
to
__DIR__ . '/../config/module.config.php
Remove
getAutoloaderConfig
functionfrom
modules/DOMPDFModule/src/Module.php
Change from
use Zend\ServiceManager\FactoryInterface;
to
use Zend\ServiceManager\Factory\FactoryInterface;
in:modules/DOMPDFModule/src/MVC/Service/ViewPdfRendererFactory.php
modules/DOMPDFModule/src/MVC/Service/ViewPdfStrategyFactory.php
modules/DOMPDFModule/src/Service/DOMPDFFactory.php
public function createService(ServiceLocatorInterface $serviceLocator)
to
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
in:modules/DOMPDFModule/src/MVC/Service/ViewPdfRendererFactory.php
modules/DOMPDFModule/src/MVC/Service/ViewPdfStrategyFactory.php
modules/DOMPDFModule/src/Service/DOMPDFFactory.php
use Interop\Container\ContainerInterface;
use Interop\Container\Exception\ContainerException;
use Zend\ServiceManager\Exception\ServiceNotCreatedException;
use Zend\ServiceManager\Exception\ServiceNotFoundException;
use Zend\ServiceManager\ServiceManager;
to the following file headers:
modules/DOMPDFModule/src/MVC/Service/ViewPdfRendererFactory.php
modules/DOMPDFModule/src/MVC/Service/ViewPdfStrategyFactory.php
modules/DOMPDFModule/src/Service/DOMPDFFactory.php
Instead of
$serviceLocator->get
use
$container->get(ServiceManager::class)->get
in factories
Change
defined('DOMPDF_DIR') || define("DOMPDF_DIR", __DIR__ . '/../../../../../dompdf/dompdf');
to
defined('DOMPDF_DIR') || define("DOMPDF_DIR", __DIR__ . '/../../../../vendor/dompdf/dompdf');
in
modules/DOMPDFModule/src/Service/DOMPDFFactory.php
Change
require_once __DIR__ . '/../../../config/module.compat.php';
to
require_once __DIR__ . '/../../config/module.compat.php';
in
modules/DOMPDFModule/src/Service/DOMPDFFactory.php
Change
$viewManager->getResolver()
to
$serviceLocator->get("ViewResolver")
in
modules/DOMPDFModule/src/Mvc/Service/ViewPdfRendererFactory.php
Change
$viewManager->getRenderer()
to
$serviceLocator->get("ViewRenderer")
in
modules/DOMPDFModule/src/Mvc/Service/ViewPdfRendererFactory.php
Add autoloader configuration to
composer.json
:composer
commanddump-autoload
to rebuild autoloading:This tutorial assumes that
dompdf
is installed in version0.6.2
bycomposer
invendor
directory.The text was updated successfully, but these errors were encountered: