【发布时间】:2012-03-11 06:23:47
【问题描述】:
可能重复:
PHP method chaining?
我偶尔会看到一些 php 应用程序使用这样的类:
$Obj = new Obj();
$Obj->selectFile('datafile.ext')->getDATA();
上面的示例获取所选文件的内容然后返回它们(只是一个示例);
好吧,在我决定问你我该怎么做之前,我试过这个:
class Someclass {
public function selectFile( $filename ) {
$callAclass = new AnotherClass( $filename );
return $callAclass;
}
// Other functions ...
}
class AnotherClass {
protected $file_name;
public function __construct ( $filename ) { $this->file_name = $filename; }
public function getDATA ( ) {
$data = file_get_contents( $this->file_name );
return $data;
}
// funcs , funcs, funcs ....
}
这是完成这项任务的正确方法吗?请告诉我这些类叫什么。
【问题讨论】:
-
谷歌搜索
method chaining in php。基本上你只是在链式方法中返回$this:) 虽然这个例子只是误导,选择文件可能只是一个factory来根据上下文(在这个名称文件名中)生成另一个对象。所以如果方法返回任何类型的 Object 你可以链接它。 -
请避免在堆栈溢出时使用表情符号、网络俚语和粗体文本。还要记得阅读FAQ
-
我喜欢火车残骸这个词。
标签: php oop class object method-chaining