Редактирование плагина Laravel

Я новичок в Laravel, и я вставил плагин в свой проект (https://github.com/jeremykenedy/laravel-users) который я хотел бы редактировать.

Я сделал некоторые изменения в файле vendor / jeremykenedy / laravel-users / src, который дал желаемый эффект, но vendor находится в .gitignore Laravel, поэтому мои изменения не отслеживаются. Я, конечно, мог бы отредактировать .gitignore, но я бы явно не поступил правильно.

Я также попытался скопировать отредактированную версию файла в мой основной каталог App / Http / Controllers (сохраняя то же имя файла) на случай, если Laravel имеет иерархию переопределений или что-то подобное, но безрезультатно.

Как правильно редактировать поведение плагина Laravel таким образом, который отслеживается в git?

Изменить: чтобы выяснить причину этого, я добавил новый столбец в таблицу пользователей (столбец типа) и хотел бы, чтобы это было редактируемым, а также чтобы можно было вводить что-то для нового поля при добавлении пользователь.

1

Решение

Очевидно, что вы не должны ничего редактировать в vendor каталог. Вы должны раскошелиться на github. Сделайте изменения в вашей вилке, а затем установите Хранилище VCS в composer.json

Как вы можете прочитать там:

Для этого есть несколько вариантов использования. Наиболее распространенным является поддержание
ваш собственный форк сторонней библиотеки. Если вы используете определенный
библиотека для вашего проекта, и вы решили что-то изменить в
библиотека, вы хотите, чтобы ваш проект использовал исправленную версию. Если
библиотека находится на GitHub (это происходит в большинстве случаев), вы можете
просто раскошелите его и вставьте изменения в свою форк. После этого
Вы обновляете проект composer.json. Все, что вам нужно сделать, это добавить свой
fork как хранилище и обновите ограничение версии, чтобы указать
Ваш пользовательский филиал. В composer.json, вы должны префикс вашего кастома
название ветви с «dev-«. Соглашения об именах с ограничением версий см.
Библиотеки для получения дополнительной информации.

так что это идеальный вариант использования для вас.

Итак, в основном:

  1. Вы должны создать форк https://github.com/jeremykenedy/laravel-users на github (есть fork кнопка сверху)
  2. Вы должны создать свою собственную ветку (например, new-features) и внесите любые изменения в эту ветку

  3. Вы должны добавить в composer.json:

    "repositories": [
    {
    "type": "vcs",
    "url": "https://github.com/YOUR-GITHUB-USER/laravel-users"}
    ],
    
  4. Вы должны убедиться, что у вас есть в require блок вашего composer.json:

    "jeremykenedy/laravel-users": "dev-YOUR_BRANCH_NAME"

    где YOUR_BRANCH_NAME совпадает с именем ветви на шаге 2 (например, new-features) — имейте ввиду, здесь должен стоять префикс dev-

3

Другие решения

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

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

ВАЖНО: не забудьте упомянуть оригинальное репо и издателя в вашем репо, а также на packagist, он заслуживает похвалы за свой код;)

1

По вопросам рекламы [email protected]