必須瞭解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' –