CakePHP - 从同一模型中的另一个函数调用模型函数

Nic*_*ick 4 php cakephp model

我有一个CakePHP模型,其中有一些功能正常运行.现在我正在尝试编写一个新函数,它使用了我已编写的一些函数.似乎应该很容易,但我无法弄清楚语法.如何调用我已经在新的函数中编写的这些函数?

例:

<?php
public function getHostFromURL($url) {
    return parse_url( $http.$url, PHP_URL_HOST );
}
public function getInfoFromURL($url) {
    $host = getHostFromURL($url);
    return $host;
}
Run Code Online (Sandbox Code Playgroud)

结果:

致命错误:在第151行的/var/www/cake/app/Model/Mark.php中调用未定义的函数getHostFromURL()

我也试过类似的东西:

<?php
public function getHostFromURL($url) {
    return parse_url( $http.$url, PHP_URL_HOST );
}
public function getInfoFromURL($url) {
    $host = this->Mark->getHostFromURL($url);
    return $host;
}
Run Code Online (Sandbox Code Playgroud)

但得到了相同的结果.

显然我的函数比这复杂得多(否则我只是重用它们),但这是一个很好的例子.

dm0*_*514 5

如果该功能在同一个控制器中,则使用

$this->functionName 句法.

您的语法错误如下:

public function getInfoFromURL($url) {
    $host = this->Mark->getHostFromURL($url);
    return $host;
}
Run Code Online (Sandbox Code Playgroud)

应该:

public function getInfoFromURL($url) {
        $host = $this->getHostFromURL($url);
        return $host;
    }
Run Code Online (Sandbox Code Playgroud)

如果getFromHostUrl方法在当前类中. http://php.net/manual/en/language.oop5.php

  • 大.感谢您的额外信息. (2认同)