在 Controller 中获取当前扩展名

Posted

技术标签:

【中文标题】在 Controller 中获取当前扩展名【英文标题】:get current extension name in Controller 【发布时间】:2017-07-15 04:14:43 【问题描述】:

如何在控制器操作中获取当前扩展或插件名称?另外,如果 Action 位于从 AbstractPlugin 派生的 Controller 中?

$ext = get???
$plugin = get???
$this->uriBuilder->uriFor('ActionName', $params, 'Controller', $ext , $plugin);

问候 n00n

【问题讨论】:

【参考方案1】:

扩展名作为全局变量存在于每个控制器中,可以通过$this->extensionName访问。

由于可以有不同的插件访问控制器中的操作,您可以通过$this->request->getPluginName()在请求中获取插件名称。

【讨论】:

AbstractController 的属性 extensionName 已在 v10 #87627 中移除。您可以通过以下方式获取扩展名: $this->request->getControllerExtensionName();和扩展密钥: $this->request->getControllerExtensionKey();

以上是关于在 Controller 中获取当前扩展名的主要内容,如果未能解决你的问题,请参考以下文章

CI框架扩展自定义控制器的方法

MVC中的传参并在View中获取

扩展控制器构造函数没有User实例

Shiro controller中获取当前登录用户信息

在Yii2里面怎么获取当前访问页面的Controller,Action

如何在颤动中获取当前路线名称?