Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to put controller parent class in CakePHP?

Tags:

cakephp

I have two controllers which share most of their code (but must be, nonetheless, different controllers). The obvious solution (to me, at least) is to create a class, and make the two controllers inherit from it. The thing is... where to put it? Now I have it in app_controller.php, but it's kind of messy there.

like image 877
paradoja Avatar asked Dec 13 '22 06:12

paradoja


1 Answers

In cake, components are used to store logic that can be used by multiple controllers. The directory is /app/controllers/components. For instance, if you had some sharable utility logic, you would have an object called UtilComponent and a file in /app/controlers/components called UtilComponent.php.

<?php
class UtilComponent extends Object {
    function yourMethod($param) {
        // logic here.......

        return $param;
    }
}
?>

Then, in your controller classes, you would add:

var $components = array('Util');

Then you call the methods like:

$this->Util->yourMethod($yourparam);

More Info:

Documentation

like image 143
tyshock Avatar answered Jan 10 '23 23:01

tyshock