Laravel 模块里,如何使用@include、@extend
2021-01-25 本文已影响0人
老萌新了
刚接触PHP和laravel不久,所以遇到了不少初级困难。
有些困难,我在百度必应答案的时候,花费了不少功夫,所以直接分享出来:
@extends、@inlcude,在根目录view文件夹里使用非常方便,比如
@extends('layouts.master')
就可以把layouts里的master继承过来。
但是,如果你的模板放在模块里,哪怕是想引用模块里的模板文件,这样写也会报错。比如:
QQ截图20210125155556.png我百度必应了很久,不知道是表达原因,还是关键词的原因,没有找到可行的方法。反复尝试后,发现这么写,问题就解决了:
@extends('admin::layouts.master');
admin是模块名。
换句话说,在不加模块名/类名的情况下,@extends、@include等方法,它默认找resources底下的文件。
即便你的“@extends('layouts.master')写在模块底下,它去找的,不是同级目录里的文件,仍然是根目录/resources/view/layouts/master.blade.php。只有明确告诉它,是某个模块/类下,它才找得到。
当然,我相信不只有这种方法可以解决问题。请问大家还有其它什么方法吗?