Laravel view exists 方法检测一个视图文件是否存在

JellyBool

JellyBool

Laravel 框架自身就为我们带来了很多 helper functions,其实作者的最初目的就是为了提高便利性和保持代码剪短(虽然有人不太同意这个观点,因为会破坏一点点的代码规范。),我以为这些 helper functions 还是非常好的。其中就有这个 view exist() 方法:

class PostController extends Controller

{

    public function show($slug)

    {

        $post = Post::with('posts')->where('slug', $slug)->firstOrFail();


        if (view()->exists('post.custom.'.$post->slug)) { // 这一行使用

           $view = 'post.custom.'.$post->slug;

       } else {

            $view = 'post.show';

       }


        return view($view, [

            'post' => $post,

        ]);

    }

}

你可以看到,这个方法用在用户自定义这个需求上其实是非常适合。如果用户有自定义的视图文件,就加载自定义的视图文件,否则就加载默认的 post.show。How cool is that !

本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 0 条评论