通常,在很多框架中,您都可以找到使用查询生成器创建查询的示例。通常你会看到:
$query->select('field');
$query->from('entity');
但是,在某些框架中你也可以这样做
$object->select('field')
->from('table')
->where( new Object_Evaluate('x') )
->limit(1)
->order('x', 'ASC');
你实际上是如何制作这种链条的?
最佳答案
这称为Fluent Interface -- 有一个 example in PHP在该页面上。
基本思想是类的每个方法(您希望能够链接的)必须返回$this
——这使得调用其他方法成为可能返回的 $this
上同一类的方法。
当然,每个方法都可以访问该类当前实例的属性——这意味着每个方法都可以向当前实例“添加一些信息”。
关于php - PHP OOP 方法链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2307097/