Всем привет!
Решил сделать типичную для веб-разработки задачу, например сделать Блог с авторизацией и администрированием с помощью открытых расширений из 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.
- Подскажите как можно переопределить Bootstrap расширения в приложении, чтобы изменить маршруты расширения?
Все что находится в папке vendor не изменяю.