Как удалить маршрут на переопределенном модуле?

Я добавил модуль zfcUser в свой проект через Composer и переопределил его в модуле ZfcUserOverride . Мне нужна работа с косой чертой, поэтому я добавил маршрут в переопределенный модуль.

Файл zfcUserOverride file module.config.php ниже:

 <?php $config = array( 'view_manager' => array( 'template_path_stack' => array( 'zfcuser' => __DIR__ . '/../view', ), ), 'controllers' => array( 'invokables' => array( 'zfcuser' => 'ZfcUserOverride\Controller\UserController', ), ) ); $config['router']['routes']['zfcuser']['child_routes']['trailing_slash'] = array( 'type' => 'Literal', 'options' => array( 'route' => '/', 'defaults' => array( 'controller' => 'zfcuser', 'action' => 'index', ), ), ); return $config; 

Я добавил новый путь, каждый из которых работает правильно.

Но что, если я хочу удалить маршрут? Как это сделать? Мне нужно что-то вроде:

 $config['router']['routes']['zfcuser']['child_routes']['login'] = null; 

Помоги пожалуйста. Спасибо.

Вот ответ.

@Шариков Владислав, я хочу тебе кое-что сказать. В этом вопросе я ответил на ваш вопрос, и вы выбрали правильный ответ кому-то, который просто обновит свой ответ моим контентом через 10 часов. Я не хочу начинать пламенную войну, я просто хочу быть верным, кто использовал свое время, чтобы помочь вам.

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

Просто говорю..

В zfcUserOverride вам необходимо переопределить конфигурацию маршрута, а не добавлять новую.

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

Например; если я хочу изменить маршрут login в login чтобы разрешить дополнительный слэш, я бы это использовал:

 // zfcUserOverride/config/module.config.php 'router' => array( 'routes' => array( 'zfcuser' => array( 'child_routes' => array( 'login' => array( 'type' => 'Segment', 'options' => array( 'route' => '/login[/]', ), ), ), ), ), ); 

Внутренне ZF2 объединяет / объединяет всю конфигурацию модуля в один полный массив, используя array_replace_recursive() . Соответствующие ключи конфигурации будут заменены на модули, загруженные после.

Поэтому вам также необходимо убедиться, что вы правильно настроили его в application.config.php

 array( 'modules' => array( //... 'ZfcUser', 'ZfcUserOverride', // Loads after // ... ), );