t-alexashka
@t-alexashka
Сразу пишу legacy код

Как правильно редактировать сторонние composer-компоненты?

Привет друзья.

Установил yii-rbac-plus через композер, и есессно он в vendor-папке лежит. Я хотел бы в нем кое-что подправить, но если я полезу в vendor то потом это все перетрется при следующем обновлении композером.

Вопрос: Как правильно в таких случаях редактировать сторонние composer-компоненты в yii, чтобы они не перетирались при обновлении?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 3
OKyJIucT
@OKyJIucT
Sunshine reggae
Расширять их своими классами, наследовать нужные параметры или методы и в них уже вносить исправления. Ну и при использовании писать
use app\components\extended\MyClass;
А не тот, который из композера дается.
Ответ написан
Комментировать
Lumore
@Lumore
Front-end developer
Нужно создавать extend этого файла. В проекте создаете файл с таким же названием, с контентом:
namespace frontend\widgets;
use vendor/yii-rbac-plus;

class YiiRbacPlus extends yii-rbac-plus {
    $config = [
        ['roles' => 'admin', 'user']
    ];  // Нерабочий код - только для примера
}


И теперь уже во вью используете свой класс
Ответ написан
Комментировать
@vism
Делаете форк компонента и подключаете из своего репозетория/репозетория компании
"repositories": [
    {
      "type": "package",
      "package": {
        "name": "username/packagename",
        "version": "master",
        "source": {
          "url": "",
          "type": "git",
          "reference": "master"
        },
        "autoload": {
          "classmap": [""]
        }
      }
    }
  ],
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы