Используйте имя пользователя в URL-адресе в Laravel 6 с примерами кода

Чтобы использовать имя пользователя в URL-адресе приложения Laravel 6, вы можете рассмотреть следующие методы:

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

В маршрутах/web.php:

Route::get('/user/{username}', 'UserController@show');

В приложении/Http/Controllers/UserController.php:

public function show(User $user)
{
    // Retrieve the user with the given username
    // and perform the necessary actions
}

Метод 2: настраиваемая привязка маршрута
Если вам нужен больший контроль над тем, как имя пользователя извлекается из базы данных, вы можете создать настраиваемую привязку маршрута. Вот пример:

В RouteServiceProvider.php:

public function boot()
{
    parent::boot();
    Route::bind('username', function ($value) {
        // Retrieve the user with the given username
        // and return the corresponding user instance
    });
}

В маршрутах/web.php:

Route::get('/user/{username}', 'UserController@show');

В приложении/Http/Controllers/UserController.php:

public function show(User $user)
{
    // Perform the necessary actions using the $user instance
}

Метод 3. Изменение файла.htaccess (Apache).
Если вы хотите получить структуру URL, подобную example.com/username, вы можете изменить файл.htaccess в своем проекте Laravel. общедоступный каталог. Добавьте следующий код в файл.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Затем в файле маршруты/web.php:

Route::get('/{username}', 'UserController@show');

В приложении/Http/Controllers/UserController.php:

public function show($username)
{
    // Retrieve the user with the given username
    // and perform the necessary actions
}