Полное руководство по созданию ссылок на хранилище вручную в Laravel

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

Метод 1: использование команды ln
Первый метод предполагает использование команды ln, которая создает символическую ссылку между двумя каталогами. Откройте терминал и перейдите в корневой каталог вашего проекта Laravel. Выполните следующую команду:

ln -s ../storage/app/public public/storage

Метод 2: использование метода Artisan::call
Другой подход — использовать метод Artisan::callLaravel для программного выполнения команды storage:link. Добавьте следующий код в маршрут или метод контроллера:

use Illuminate\Support\Facades\Artisan;
Route::get('/create-link', function () {
    Artisan::call('storage:link');
    return 'Storage link created successfully.';
});

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

php artisan make:command CreateStorageLink

Это создаст новый файл PHP в каталоге app/Console/Commands. Откройте файл и добавьте следующий код:

namespace App\Console\Commands;
use Illuminate\Console\Command;
class CreateStorageLink extends Command
{
    protected $signature = 'storage:custom-link';
    public function handle()
    {
        $this->call('storage:link');
        $this->info('Custom storage link created successfully.');
    }
}

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

php artisan storage:custom-link

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