Расширение ресширений

Всем привет!

Решил сделать типичную для веб-разработки задачу, например сделать Блог с авторизацией и администрированием с помощью открытых расширений из packagist.org.

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

Поэтому, я наследую модули с которыми непосредственно работаю. В результате у меня появляется возможность переопределять при необходимости контроллеры и действия.

1)Правильно ли я использую расширения для решения подобных задач?

Теперь основная проблема.

В расширении в файле composer.json

указано:




    "extra": {

        "bootstrap": "репозит\\расширение\\Bootstrap"

    }



В Bootstrap.php




/**

 * Blogs module bootstrap class.

 */

class Bootstrap implements BootstrapInterface

{

    /**

     * @inheritdoc

     */

    public function bootstrap($app)

    {

        // Add module URL rules.

        $app->getUrlManager()->addRules(

            [

                'POST <_m:blogs>' => '<_m>/user/create',

                '<_m:blogs>' => '<_m>/default/index',

                '<_m:blogs>/<id:\d+>-<alias:[a-zA-Z0-9_-]{1,100}+>' => '<_m>/default/view',

            ]

        );

}



И вот столкнулся с проблемой переопределения этого класса.

Допустим я хочу чтобы не было маршрута /blogs, а вместо него сделать маршрут /blog.

  1. Подскажите как можно переопределить Bootstrap расширения в приложении, чтобы изменить маршруты расширения?

Все что находится в папке vendor не изменяю.

Отвечаю на свой же вопрос.

Данное расширение не правильно спроектировано.

Это заключается в том что в расширение не заложена гибкая маршрутизация.

Вывод:

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