5 простых способов создать ссылки на хранилище Laravel без использования командной строки

В Laravel команда storage:linkобычно используется для создания символических ссылок из каталога publicв каталог storage. Это позволяет вам получать доступ к файлам, хранящимся в каталоге storage, непосредственно из Интернета. Однако, если вы предпочитаете не использовать командную строку, существуют альтернативные методы достижения того же результата. В этой статье мы рассмотрим пять простых способов создания ссылок на хранилище Laravel без использования командной строки.

Метод 1: использование команды artisan
Хотя этот метод по-прежнему использует командную строку, он устраняет необходимость непосредственного использования команды storage:link. Откройте терминал, перейдите в каталог вашего проекта и выполните следующую команду:

php artisan tinker

Попав в интерактивную оболочку, запустите следующий код:

\File::link(storage_path('app/public'), public_path('storage'));

Это создаст для вас ссылку на хранилище.

Метод 2: создание маршрута
Вы также можете создать маршрут в своем приложении Laravel, который инициирует создание ссылки на хранилище. Откройте файл routes/web.phpи добавьте следующий маршрут:

Route::get('/create-storage-link', function () {
    \Artisan::call('storage:link');
    return 'Storage link created successfully!';
});

Теперь при доступе к /create-storage-linkв веб-браузере для вас будет создана ссылка на хранилище.

Метод 3: использование пользовательской команды Artisan
Вы можете создать собственную команду Artisan для создания ссылки на хранилище. Запустите следующую команду в своем терминале, чтобы создать новый командный файл:

php artisan make:command CreateStorageLink

Откройте сгенерированный файл CreateStorageLink.phpв каталоге app/Console/Commandsи замените метод handle()следующим кодом:

public function handle()
{
    $this->call('storage:link');
    $this->info('Storage link created successfully!');
}

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

php artisan create:storage-link

Метод 4: использование контроллера
Вы можете создать контроллер, который будет обрабатывать создание ссылки на хранилище. Запустите следующую команду в своем терминале, чтобы создать новый контроллер:

php artisan make:controller StorageLinkController

Откройте сгенерированный файл StorageLinkController.phpв каталоге app/Http/Controllersи добавьте следующий метод:

public function createStorageLink()
{
    \Artisan::call('storage:link');
    return 'Storage link created successfully!';
}

Далее добавьте маршрут в файл routes/web.php:

Route::get('/create-storage-link', 'App\Http\Controllers\StorageLinkController@createStorageLink');

Теперь при доступе к /create-storage-linkв веб-браузере будет создана ссылка на хранилище.

Метод 5: создание символической ссылки вручную
Если вы предпочитаете ручной подход, вы можете создать символическую ссылку напрямую, без какого-либо кода или команд. Перейдите в каталог publicвашего проекта и создайте символическую ссылку, указывающую на каталог storage/app/public. Это можно сделать с помощью командной строки или файлового менеджера с поддержкой символических ссылок.

Создать ссылки на хранилище Laravel без использования командной строки можно различными способами. В этой статье мы рассмотрели пять простых альтернатив, включая использование команды artisan, создание маршрута, использование пользовательской команды Artisan, использование контроллера и создание символической ссылки вручную. Выберите метод, который подходит вашему рабочему процессу, и наслаждайтесь беспрепятственным доступом к файлам вашего хранилища через Интернет.