php - : $this->foo()->bar(); and why do you use them and how can you use them? 这些是什么

标签 php

我以前在脚本中见过这些,但曾尝试在谷歌上查找,但似乎找不到任何内容,尽管我敢打赌,如果您知道它们的名字,很容易找到它们。

它们有什么用?他们是要加入两个方法吗?

$this->foo()->bar();

你如何制作它们?一个简单的小类答案和描述会很酷

你为什么要制作它们?简单的使用会很酷

我见过框架将它们用于以下形式:

Form::input('name','input', array())->outside('morestuff')

链接和详细信息会很棒。

最佳答案

这些只是objects其上有函数/方法。它们的构造方式类似于“流畅”的 API。当你看到这一行时:

$this->foo()->bar();

您正在查看两个个物体。 (这可能是也可能不是巧合的相同类型,甚至是相同的实例,具体取决于对象的设计方式。)第一个对象是:

$this

该对象有一个名为 foo 的函数,您可以调用该函数:

$this->foo()

此函数返回一个对象,对象有一个名为bar的函数,也可以调用该函数:

$this->foo()->bar()

有时为了清楚起见,您可能需要提取一个解释变量,它在功能上是等效的:

$anotherObj = $this->foo();
$anotherObj->bar();

关于php - : $this->foo()->bar(); and why do you use them and how can you use them? 这些是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014988/

相关文章:

php - 逻辑复杂的MYSQL选择查询

php - 用PHP从Mysql数据库获取数据报错

php - javascript 和 php 中的功能相同,但输出不同

javascript - 当代码输出为空时如何打印 "not found"?

php - Symfony2 全局函数

java - 在网页中创建小程序

php - 通过 jQuery + Ajax 将带有 Google reCaptcha v2 token 的图像文件发送到 PHP

javascript - 在 JavaScript 中使用 PHP 变量

cakephp - Cakephp 1.3 和 PHP 5.3.2 的时区和更多问题

php - 每次选择具有相同通配符的多行一次