如何从动作中调用控制器方法

时间:2016-06-05 11:26:52

标签: cakephp cakephp-3.x

我是CakepHP的新手,我想在CakePHP 3中的一个动作中使用一个方法(返回一个值)。排序如下:

public function specify(){
       if(isObject1){
     // do something}
 }
private isObject1($objname){
 return true;
}

什么是正确的语法?

2 个答案:

答案 0 :(得分:1)

CakePHP是PHP

从同一个类的另一个方法调用方法的方法与使用对象的任何php项目相同 - 使用$this

public function specify() {
    $something = 'define this';
    if($this->isObject1($something)) {
        // do something
    }
}

private function isObject1($objname) {
     return true;
}

有关如何在The PHP manual中使用对象的更多信息。

答案 1 :(得分:0)

@ AD7six的回答建议在控制器中添加一个方法,如果它不会被用作动作,那就不对了。

我认为您应该考虑在供应商下创建类,并将它们包含在您的控制器中并调用您的类/方法。惯例是vendor / $ author / $ package。您可以使用composer自动加载它们,也可以使用require调用来包含您的文件。如果你不想创建一个类并且只想拥有函数,那也可以这样做。

请看看cakephp的loading vendor files部分。