php - PHP OOP 方法链

标签 php oop methods

通常,在很多框架中,您都可以找到使用查询生成器创建查询的示例。通常你会看到:

$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/

相关文章:

java - 如何找到 double 变量的 log 2 基数?

java - 计算类(class)平均分

javascript - 有时图像无法加载并出现 404 错误 - 如何使用 jQuery 解决此问题?

php - 与 PHP_CodeSniffer 一起使用的好的标准是什么?

php - Twilio 短信问题

c++ - 不能用通告包含转发声明

php - 返回 JSON 格式的所有数据的单个 API 调用会比返回部分的多个 API 调用更快吗?

C++面向对象的问题

java - 具有静态内部类的构建器模式与具有一个抽象和一个+具体实现的构建器设计模式有什么区别

java - 如何从一个 Java 方法返回多个对象?