必须了解OOP链接:PHP OOP - 如何调用主功能和子功能
$data = new myclass;
$data->sub_function()->main_function();
但现在我希望将代码它看起来像这样:
$data = new myclass;
$main = $data->main_function();
$sub = $main->sub_function();
如果是这样如何会为此写类功能?
请帮帮我!
必须了解OOP链接:PHP OOP - 如何调用主功能和子功能
$data = new myclass;
$data->sub_function()->main_function();
但现在我希望将代码它看起来像这样:
$data = new myclass;
$main = $data->main_function();
$sub = $main->sub_function();
如果是这样如何会为此写类功能?
请帮帮我!
class myclass {
public function main_function() {
//Do your actions here
return $this;
}
public function sub_function() {
//Do your actions here
return $this;
}
}
class myclass {
public function main_function() {
return 'MAIN ';
}
public function sub_function($str) {
if ($str == 1) $result = 'SELECT 1';
else if ($str == 2) $result = 'SELECT 2';
else $result = 'NOT FOUND';
return $result;
}
}
$data = new myclass;
$main = $data->main_function();
$sub = $main->sub_function(1);
echo $sub; // Fatal error: Call to a member function sub_function() on a non-object...
我需要在每个功能(未设定值/键)返回字符串
因为'$ main'只是字符串'MAIN',请尝试'$ data-> sub_function(1);' –
另外,这应该是对原始文章的编辑,而不是回答#1 –
谢谢,但id需要'$ data-> main_function() - > sub_function' – UserNaN
其他的方式......所以: $数据=新MyClass的; $ sub = $ data-> sub_function(); $ main = $ sub> main_function(); 由于这正好等于你的第一篇文章中,只有您使用的是临时变量,而不是直接链接它 – Tularis
这些可以帮助你, 1. http://stackoverflow.com/questions/2990952/php- oop-method-chain 2. http://stackoverflow.com/questions/125268/chaining-static-methods-in-php –
使用'流畅的接口':sub_function()必须返回'$ this' –