php 链接返回,php – 具有不同返回值的函数链接?

是否可以让方法根据上下文返回不同的值(如何使用返回值)?例如,当一个方法与箭头运算符一起使用以调用另一个方法(即链接方法调用)时,一个方法可以返回$this,但是当这种方式没有使用返回值时返回一个标量吗?

情况1:

$result = $test->doSomething1(); // returns 4

// $result returns 4

案例2:

$result = $test->doSomething1()->doSomething2();

// doSomething1() returns $this

// doSomething2() returns 8

反正有没有执行这样的行为?

解决方法:

如果我正确理解了这个问题,你需要一个方法(doSomething1)来根据调用链的其余部分返回一个值.不幸的是,你绝对没办法做到这一点.

跨“所有”语言共享的通用编程范例(语法上下文中的方法,运算符和此类工作如何)规定表达式$this-> doSomething1()的结果必须在可能调用的结果之前得到解决 – 可以考虑> doSomething2().静态类型和动态类型语言以不同方式执行此操作,但常见因素是表达式$this-> doSomething1()必须独立于后续或不遵循的内容进行考虑.

简而言之:$this-> doSomething1()必须在两种情况下都返回特定类型的值.在PHP中,没有办法让一种类型的值在一个上下文中表现得像一个数字,就像一个具有在另一个上下文中调用方法的对象.

标签:chaining,php,function,return-value

来源: https://codeday.me/bug/20190729/1573914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值