我有一个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)
但得到了相同的结果.
显然我的函数比这复杂得多(否则我只是重用它们),但这是一个很好的例子.
如果该功能在同一个控制器中,则使用
$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