2014-02-12 3 views
1

Я работал в своем приложении, и я использую некоторые пакеты, но у меня есть необходимость изменить или добавить в него какую-то логику. Я читал, что мы не должны изменять код пакетов, когда они находятся в каталоге поставщика, но я не нашел, как я могу это сделать. есть идеи?Как отредактировать пакет на поставщике laravel 4

ответ

3

Это отличается от упаковки к упаковке.

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

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

Если брать первый маршрут, вы должны знать о некоторых вещах:

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

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

Если вы используете композитор, скорее всего, это приведет к тому, что вместо него будет возвращено исходное репо пакета и изменение кода в этом репо. (НЕ делайте это только с локальными файлами пакета). Это, вероятно, лучшее решение, потому что это означает, что если исходное репо внесло изменения в его пакет, вы можете выполнить слияние с вашим репо, чтобы принести свои обновления в свой код (не влияя на ваши изменения, если обновление не будет напрямую взаимодействовать с кодом вы modfying). Оттуда добавьте свое новое forked repo в свой файл composer.json и поработайте с ним.

+0

Благодарим вас за хорошее объяснение, но когда вы говорите о вилке, вы имеете в виду вилку от github? Так что я должен потерять время только для персонализации пакета, возможно, добавив 1 функцию или изменив 2-3 строки, я действительно не понимаю, почему мы должны это делать! Я соглашаюсь использовать пользовательский код, но я думаю, что этот процесс слишком длинный для небольших изменений! – fabrizio

+0

Действие разметки не ограничивается git repo. Это просто означает, что, по сути, вы берете код и извлекаете из него/копируете его. Если вы работаете с композитором, это будет лучший вариант, хотя (для вилки на уровне репо). Нет ли другого способа доступа к этим линиям? – Sean

+0

Вы можете поместить свой код в папку рабочего стола, но это похоже на форкирование, поскольку вы не можете обновить какие-либо изменения, внесенные первоначальным владельцем. – sidneydobber

Смежные вопросы