Search code examples
phpcakephpseparation-of-concernscakephp-2.4

In CakePHP, where would I put a method that performs a check on the Session User?


Background: I have a method levelCheck() which compares the current user's level to a few parameters, and returns a true or false. I need to be able to access this method from any controller, and I would also like to put a call to it inside a helper for use on menus, etc.


Question: Due to Cake's flexibility, I can call almost anything from almost anywhere with Cake. Where is the correct place to put this? In a custom Session (extended)? In the AppController? A new component dealing with the current user? In the UserModel or User Controller?

The important piece here is how would I (or others) determine the correct location for such a thing in the future?


Solution

  • Put this method in AppController

    class AppController extends Controller 
    {
    
      function levelCheck(){
        # whatever
      }
    
    }
    

    This is the correct place of this action. Because AppController is extended in all the controller so this method can called using current controller object that is $this->levelCheck().