在CakePHP,我哪里会放在执行上的会话用户进行检查的方法?(In CakePHP, where

2019-10-19 07:02发布

背景:我有一个方法levelCheck()当前用户的级别比较几个参数,并返回一个true或false。 我需要能够从任何控制器访问这个方法,我也想提出一个电话给它一个助手里面的菜单上,使用等


问:由于蛋糕的灵活性,我可以打电话从几乎任何地方蛋糕几乎所有的东西。 哪里是把这个正确的位置? 在自定义会话(扩展)? 在AppController的? 一个新的组件应对当前的用户? 在的usermodel或用户控制?

这里最重要的部分是我(或其他)如何将决定在未来这样的事情的正确位置?

Answer 1:

放在AppController的这种方法

class AppController extends Controller 
{

  function levelCheck(){
    # whatever
  }

}

这是正确的地方这个动作。 因为AppController的在所有控制器延伸,从而该方法可以称为利用电流控制器对象,它是$这 - > levelCheck()。



Answer 2:

在AppController的

function beforeFilter() 
 {

      $this->custome_componnetst_name->levelCheck(parameters.....); 
      /*action*/

}


文章来源: In CakePHP, where would I put a method that performs a check on the Session User?