Команда vendor:publish
Команда vendor:publish применяется для копирования файлов
из директории vendor в соответствующие папки приложения
Laravel. Это необходимо, когда требуется переопределить
стандартную конфигурацию, миграции, представления или
языковые файлы, поставляемые с пакетом. Команда может
публиковать все доступные ресурсы одновременно или только
определённые группы с помощью тегов.
Синтаксис
php artisan vendor:publish [options]
Основные параметры команды:
--tag- публикация ресурсов с указанным тегом--provider- публикация ресурсов от конкретного провайдера--force- перезапись существующих файлов без подтверждения--existing- публикация только уже существующих файлов--only- публикация только указанных тегов--except- публикация всех тегов, кроме указанных
Пример
Выполним публикацию конфигурации пакета Laravel Telescope:
php artisan vendor:publish --tag=telescope-config
Результат выполнения команды:
"Copied File [vendor/laravel/telescope/config/telescope.php] To [config/telescope.php]"
"Publishing complete."
Пример
Опубликуем все ресурсы пакета Laravel Horizon с принудительной перезаписью:
php artisan vendor:publish --provider="LaravelHorizonHorizonServiceProvider" --force
После выполнения команды будут скопированы все файлы пакета:
"Copied File [vendor/laravel/horizon/config/horizon.php] To [config/horizon.php]"
"Copied File [vendor/laravel/horizon/public/horizon.css] To [public/horizon.css]"
"Copied File [vendor/laravel/horizon/public/horizon.js] To [public/horizon.js]"
"Publishing complete."
Пример
Опубликуем только представления пакета для аутентификации Laravel Breeze:
php artisan vendor:publish --tag=laravel-views
После выполнения представления будут скопированы в директорию приложения:
"Copied File [vendor/laravel/breeze/resources/views/auth/login.blade.php] To [resources/views/vendor/laravel-breeze/auth/login.blade.php]"
"Copied File [vendor/laravel/breeze/resources/views/auth/register.blade.php] To [resources/views/vendor/laravel-breeze/auth/register.blade.php]"
"Publishing complete."
Пример
Опубликуем все доступные ресурсы без интерактивного подтверждения:
php artisan vendor:publish --all --force
Команда опубликует все ресурсы всех установленных пакетов, перезаписывая существующие файлы:
"Copied File [vendor/laravel/telescope/config/telescope.php] To [config/telescope.php]"
"Copied File [vendor/laravel/horizon/config/horizon.php] To [config/horizon.php]"
"Copied File [vendor/laravel/breeze/resources/views/auth/login.blade.php] To [resources/views/vendor/laravel-breeze/auth/login.blade.php]"
"Publishing complete."
Смотрите также
-
команда
migrate,
которая выполняет миграции базы данных -
команда
storage-link,
которая создаёт символическую ссылку на хранилище -
команда
config-cache,
которая кэширует конфигурацию приложения -
команда
view-clear,
которая очищает кэш представлений