【问题标题】:Laravel: calling the View on the Routes vs ControllerLaravel:在路由与控制器上调用视图
【发布时间】:2021-11-22 08:33:13
【问题描述】:
  • 我想知道使用Routes和使用Routes有什么区别 控制器? Laravel 的系统有没有很大的不同,或者是 只是逻辑问题?
  • 在 Routes 上调用 View 和在 在控制器上查看?
  • Controller会自动缓存View而Routes不会?因为我在某处读到,如果我们在Controller中调用View,它会被缓存,但是如果我们在Routes中调用View,它是不是,所以我们必须在路由中手动缓存视图。 这是真的吗?

【问题讨论】:

    标签: php laravel view routes controller


    【解决方案1】:

    我想知道使用Routes和Controller有什么区别? Laravel 的系统有很大的不同,还是只是逻辑问题?

    Routes 是您声明应用程序 url 的地方,Controller 包含表示应用程序逻辑的代码。

    你可以把代码放在路由声明的回调参数中

    Route::get('/user', function () {
        $user = User::where('active', '=', 1)
            ->where('parent_user_id', '=', Auth::id())
            ->paginate(10);
        return view('users', ['users' => $user]);
    });
    

    但它会很快变得混乱,所以最好声明一个与控制器类相关的路由

    Route::get('/user', [UserController::class, 'index']);
    

    在Routes上调用View和在Controller上调用View有区别吗?Controller会自动缓存View而Routes不会吗?因为我在某处读到,如果我们在Controller中调用View,会是缓存,但是如果我们在路由中调用视图,则不是这样,我们必须在路由中手动缓存视图。这是真的吗?

    没有区别,除非与第三方缓存包相关,否则两者都不缓存。

    【讨论】:

      【解决方案2】:

      Controller 是否会自动缓存 View 而 Routes 不会?因为我在某处读到,如果我们在 Controller 中调用 View,它将被缓存,但如果我们在 Routes 中调用 View,则不是,所以我们必须在 Routes 中手动缓存 View。这是真的吗?

      Laravel 会自动缓存视图和路由。

      视图缓存存在于:storage/framework/views

      如果你想管理视图的缓存:

      php artisan view:clear
      php artisan view:cache
      

      路由缓存存在于:bootstrap/cache/routes.php

      如果你想管理路由的缓存:

      php artisan route:clear
      php artisan route:cache
      

      【讨论】:

        猜你喜欢
        • 2012-12-17
        • 2017-02-10
        • 2013-12-14
        • 2020-06-07
        • 1970-01-01
        • 2013-11-15
        • 1970-01-01
        • 2015-10-02
        • 2018-06-10
        相关资源
        最近更新 更多