Dependency Injection nefunguje s Apitte/Core

loskarlos
Člen | 2
+
0
-

Ahoj, používám nette/di: v2.4.15 a apitte/core: v0.5. Php 7.2

Dependency injection funguje při používání samotného nette. Pokud ale spustím Apitte\Core\Application\IApplication, dependency injection nedodává dependencies.

Používám anotace:

    /**
     * @var EntityManager @inject
     */
    public $entityManager;

Můj Index.php

use Apitte\Core\Application\IApplication as ApiApplication;

require __DIR__ . '/../vendor/autoload.php';

$container = require __DIR__ . '/../app/bootstrap.php';


$isApi = substr($_SERVER['REQUEST_URI'], 0, 4) === '/api';

if ($isApi) {
    $container->getByType(ApiApplication::class)->run(); // DI nefunguje
} else {
    $container->getByType(\Nette\Application\Application::class)->run(); // DI funguje
}

Je potřeba něco překonfigurovat v config.neon?
Jak docílím toho, aby dependency injection vkládalo objekty do proměnných označených @inject v Appite tak jako to teď funguje v Nette?

Ondřej Kubíček
Člen | 494
+
+3
-

a kde to injectuješ? anotace @inject je by default zapnutá jen pro presentery, jinde musíš přes constructor

loskarlos
Člen | 2
+
0
-

Ondřej Kubíček napsal(a):

a kde to injectuješ? anotace @inject je by default zapnutá jen pro presentery, jinde musíš přes constructor

Ahoj, mockrát díky, máš pravdu, už to funguje.

Dá se tvoje odpověď nějak označit jako správnou a otázku jako vyřešenou?