我有一个CakePHP模型,其中有一些功能正常运行。现在我正在尝试编写一个新函数,它使用了我已编写的一些函数。似乎应该很容易,但我无法弄清楚语法。如何调用我已经在新的函数中编写的这些函数?
示例:
<?php
public function getHostFromURL($url) {
return parse_url( $http.$url, PHP_URL_HOST );
}
public function getInfoFromURL($url) {
$host = getHostFromURL($url);
return $host;
}
结果:
致命错误:在第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;
}
但得到了相同的结果。
显然我的函数比这复杂得多(否则我只是重用它们),但这是一个很好的例子。
答案 0 :(得分:5)
如果该功能在同一个控制器中,则使用
访问功能 $this->functionName
语法。
您的语法错误如下:
public function getInfoFromURL($url) {
$host = this->Mark->getHostFromURL($url);
return $host;
}
应该是:
public function getInfoFromURL($url) {
$host = $this->getHostFromURL($url);
return $host;
}
如果getFromHostUrl方法在当前类中。 http://php.net/manual/en/language.oop5.php
答案 1 :(得分:4)
您只需要调用另一个函数,如:
$host = $this->getHostFromURL($url);