Pridanie route pomocou route factory cez extension

duskohu
Člen | 778
+
0
-

Caute mam nejaku route factory ktora vytvara routu a potreboval by som ju pridat do aktualneho routra. Neviete mi poradit ako na to?

class CmsRouterFactory
{
    /** @var EntityManager */
    private $em;

    /** @var IStorage */
    private $cacheStorage;

    /** @var LanguageStorage */
    private $languageStorage;

    /** @var RouterConfiguration */
    private $routerConfiguration;

    /**
     * @param EntityManager $em
     * @param IStorage $cacheStorage
     * @param LanguageStorage $languageStorage
     * @param RouterConfiguration $routerConfiguration
     */
    public function __construct(
        EntityManager $em,
        IStorage $cacheStorage,
        LanguageStorage $languageStorage,
        RouterConfiguration $routerConfiguration
    ) {
        $this->em = $em;
        $this->cacheStorage = $cacheStorage;
        $this->languageStorage = $languageStorage;
        $this->routerConfiguration = $routerConfiguration;
    }

    public function create()
    {
        return new CmsRouter(
            $this->em,
            $this->cacheStorage,
            $this->languageStorage,
            $this->routerConfiguration
        );
    }

}
public function loadConfiguration()
{
    // CmsRouterFactory
    $builder->addDefinition($this->prefix('cmsRouterFactory'))
        ->setFactory(CmsRouterFactory::class);

   $router = $builder->getDefinition('router');
   ... @cmsRouterFactory::create
}

Editoval duskohu (6. 6. 2018 11:35)

CZechBoY
Člen | 3608
+
0
-

Udělal bych si nějakou skládačku, co složí tyhle routery do/za sebe. Jen nezapomeň že je potřeba jít od konkrétních po obecné routy.

duskohu
Člen | 778
+
0
-

CZechBoY napsal(a):

Udělal bych si nějakou skládačku, co složí tyhle routery do/za sebe. Jen nezapomeň že je potřeba jít od konkrétních po obecné routy.

@CZechBoY dakujem za odpoved, len ja neviem ako sa to v extension zapisuje :-)

Martk
Člen | 661
+
0
-

Zapsal jsem to takhle a createRouter vypadá takto , kde jsem jen poskládal routry dohromady. Třeba tam najdeš odpověď na svojí otázku.

duskohu
Člen | 778
+
0
-

Martk napsal(a):

Zapsal jsem to takhle a createRouter vypadá takto , kde jsem jen poskládal routry dohromady. Třeba tam najdeš odpověď na svojí otázku.

@Martk dakujem, ale toto riesenie prepise uz aktualne factory, ja potrebujem uz do existujuceho routra pridat len jednu routu

CZechBoY
Člen | 3608
+
0
-

No jasně, ty přídáš routy co potřebuješ, potom vezmeš aktuální router a přidáš routy z něj. Udělal bych normálně novou třídu/routerfactory, kterou bych registrovat do di a předal ji předchozí/fallback router.