Laravel 通过路由名称自动显示SEO标签

Laravel display SEO tag automatically through Route name

我有关于 Laravel 的问题。

我想从数据库中自动显示 SEO 标签,但我不知道该怎么做。

我有这样的路线

Route::get('/', [
    'uses' => 'SeoController@index',
    'as' => 'homepage'
]);
Route::get('/about', [
    'uses' => 'SeoController@index',
    'as' => 'about'
]);

来自 SeoController 我想显示基于 Route 的视图 url;

public function index()
    {
        switch ($route) {
            case '/':
                $title = "Homepage";
                return view('welcome', ['title'=> $title]); 
                break;
            case '/about':
                $title = "About page";
                return view('about', ['title'=> $title]);
                break;
            default:
                break;
        }
    }

如何检查 $route 以了解哪条路线?

非常感谢

我很乐意在 Laravel 中提出更好的方法。

在 Laravel 中,您可能希望为每个页面和 return 视图定义不同的控制器方法,如下所示:

class SeoController extends Controller
{
    public function home()
    {
        return view('home');
    }

     public function about()
    {
        return view('about');
    }

    public function contact()
    {
        return view('contact');
    }
}

确保您已在 web.php 中将路由注册为:

Route::get('/', [
    'uses' => 'SeoController@home',
    'as' => 'homepage'
]);

Route::get('/about', [
    'uses' => 'SeoController@about',
    'as' => 'about'
]);

Route::get('/contact', [
    'uses' => 'SeoController@contact',
    'as' => 'contact'
]);

还要确保视图文件夹中的每个视图都有对应的 blade 文件。