Arhn - архитектура программирования

Zf3: одинаковые контроллеры в каждом модуле

У меня есть разные модули в моем приложении ZF2, и каждый модуль содержит список контроллеров. Теперь, когда в zf2 было иначе создавать маршруты и получать Entity Manager с локатором сервисов. Теперь в Zf3 нам нужно добавить «псевдонимы» и «фабрики», чтобы использовать там какие-либо ресурсы, потому что при создании маршрутов для каждого модуля невозможно добавить один и тот же псевдоним для контроллера, даже если он находится в разных модулях;

вот мое приложение/ module.conf.php

 'controllers' => [
    'factories' => [
        Controller\IndexController::class => ServiceLocatorControllerFactory::class,
        Controller\UserController::class => ServiceLocatorControllerFactory::class,
    ],
    'aliases' =>  [
        'index'     =>  IndexController::class,
        'user'     =>  UserController::class,
    ]
],

и моя панель инструментов / module.config.php

 "controllers" => [
    'factories' => [
        Controller\UserController::class            => ServiceLocatorControllerFactory::class,
        Controller\WidgetController::class          => ServiceLocatorControllerFactory::class,
    ],
    'aliases' =>  [
        "user"          => UserController::class,
        "widget"            => WidgetController::class,
    ]
],

теперь, когда я пытаюсь получить доступ к /application/user/index

он переходит в Dashboard => UserController => IndexAction

вместо Application => UserController => IndexAction

Решение, которое у меня есть сейчас, состоит в том, чтобы вручную создавать маршруты для каждого контроллера, что действительно сложно в моем случае, поскольку приложение очень большое, а контроллеров сотни. плюс это своего рода избыточная задача писать каждый маршрут. Есть ли способ решить проблему


Ответы:


1

Поскольку не было найдено ответа для аналогичных модулей в другом модуле, я создал отдельные маршруты для каждого контроллера в каждом модуле. Это был маршрут, который я написал для

Приложение->Индексконтроллер

        'application-index' => [
            'type'  =>  Segment::class,
            'options' =>  [
                'route' =>  '/application/index[/][:action][/]',
                'defaults'  =>  [
                    '__NAMESPACE__' =>  'Application\Controller',
                    'controller'  =>  IndexController::class,
                    'action'      =>  'index'
                ],
            ]
        ],

и я создал для каждого контроллера, который у меня есть в моем приложении.

13.07.2019
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..