控制器controller如何在attractions.php引入 controller同级目录中的test.php文件??

image.png

image.png

image.png

控制台为什么不能用require方法来引入呢?
试下如果我在控制器写公共文件的php,要怎么正常引入?

image.png

image.png

如果views每个一级文件要引入公共头部文件
那个$user要怎么变量?并在控制器每个文件中引入公共的?

阅读 1.8k
1 个回答

首先, require是php的语法,而tp6基于php,所以require是可用的,这也是你当前代码为什么没有报错的原因。require __DIR__ . '/xxx.php'相当于把 xxx.phprequire 处写一遍,但你当前的xxx.php仅仅是进行了类和方法的定义,并没有调用,而不调用就不用生效,所以你的感觉不生效是对的。

然后解决一下你的问题:

如果views每个一级文件要引入公共头部文件, 那么可以定义一个BaseController, 然后其它的控制器来继承这个控制器即可。$user变量可以做为BaseControllerprotected属性,然后在 BaseController 中的构造函数中赋值,这样其它的控制器便可以用 $user 变量了。

参考:https://www.kancloud.cn/manual/thinkphp6_0/1067000

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题