diff --git a/autoload/functions_oxDIC.php b/autoload/functions_oxDIC.php index 7404159..1631be6 100644 --- a/autoload/functions_oxDIC.php +++ b/autoload/functions_oxDIC.php @@ -18,9 +18,22 @@ use D3\DIContainerHandler\d3DicHandler; use Symfony\Component\DependencyInjection\Container; /** + * @return Container * @throws d3DicException */ -function d3GetOxidDIC(): Container +function d3GetOxidDIC_withExceptions(): Container { return d3DicHandler::getInstance(); } + +/** + * @return Container + */ +function d3GetOxidDIC(): Container +{ + try { + return d3GetOxidDIC_withExceptions(); + } catch (d3DicException $exception) { + trigger_error($exception->getMessage(), E_USER_ERROR); + } +} diff --git a/d3DicHandler.php b/d3DicHandler.php index 93c7685..7024f12 100644 --- a/d3DicHandler.php +++ b/d3DicHandler.php @@ -35,7 +35,7 @@ class d3DicHandler implements d3DicHandlerInterface ]; /** - * get instance + * @return Container * @throws d3DicException */ public static function getInstance(): Container @@ -118,6 +118,8 @@ class d3DicHandler implements d3DicHandlerInterface } /** + * @param ContainerBuilder $container + * @return void * @throws Exception */ public function loadFiles(ContainerBuilder $container): void @@ -144,6 +146,8 @@ class d3DicHandler implements d3DicHandlerInterface } /** + * @param bool $compileAndDump + * @return Container * @throws Exception */ public function buildContainer(bool $compileAndDump = true): Container diff --git a/tests/unit/autoload/functions_oxDICTest.php b/tests/unit/autoload/functions_oxDICTest.php index 74b617a..eb11539 100644 --- a/tests/unit/autoload/functions_oxDICTest.php +++ b/tests/unit/autoload/functions_oxDICTest.php @@ -15,6 +15,7 @@ declare(strict_types=1); namespace D3\DIContainerHandler\tests\autoload; +use D3\DIContainerHandler\d3DicException; use D3\TestingTools\Development\CanAccessRestricted; use Exception; use PHPUnit\Framework\TestCase; @@ -24,6 +25,20 @@ class functions_oxDICTest extends TestCase { use CanAccessRestricted; + /** + * @test + * @throws Exception + */ + public function d3GetOxidDIC_withExceptionsTest(): void + { + error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); + + $this->assertInstanceOf( + ContainerBuilder::class, + d3GetOxidDIC_withExceptions() + ); + } + /** * @test * @throws Exception