PHP框架的模板变量如何做到全局使用?

我希望部分模板变量再全局范围内可用,例如一些系统设置信息、网站标题类的,可能不同的模块都需要调用相同的变量,这类变量要怎样才能做到全局使用?

现在我用TP5做了下简单的测试,发现跨控制器就或方法就不行了。我希望你能帮我梳理下逻辑,描述下具体的实现思路,先谢谢了...菜鸟求助。

创建base类、或者公共模块?

阅读 4.7k
6 个回答

实际上很多地方都是全局性的。

config.php 可以定义一个自定义的文件,再在config.php 引入,你在模板中可以用config去获取。

common.php 这个文件也是全局性的。里面的代码可以很自由。

index.php 也可以实现。

业务开发多数人都会实现一个公共控制器,其实在这一层做就ok好了。

还不满足的话你可以看看文档介绍的thinkphp 生命周期。

应用下的配置文件

在你的一个叫做config的配置文件里面设置一个叫做模板变量的一个选项

clipboard.png

你在里面自定义一个变量就可以了!

可以配置在config目录下的params-local.php里,可以使用Yii::$app->params 获取配置的变量值。

TP5已经在很多地方实现全局调用了,楼上说的比较全了,补充一下,如果你是开发后台的话,在AdminController中定义,然后所有继承这个类的controller也都可以使用了。

view组件有个 params 属性,这个属性在视图里是全局的。

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