我正在尝试编写一个简单的 CakePHP 组件,该组件将检查 php 会话变量并在未设置时重定向到特定位置。这个函数将在多个控制器中使用,我只想将它的代码放在一个地方(DRY 和所有)。
我遇到的问题是 cake 不会使Controller
组件可以访问函数,所以我无法调用$this->redirect([routing array])
.
有没有解决的办法?我不希望向必须在控制器中检查的函数添加 return 语句,因为这就是所有函数已经完成的(1 行 if 语句),并且似乎是不必要的抽象层。我即将将该函数放在 cake 之外的一个单独文件中,然后将其添加 include
到我所有需要此函数的控制器中,以此作为解决此问题的 hacky 方式。