PHP如何截获另一个class里传参值?想法有点奇葩哈,看代码。

class A{
    function a1($p){
        echo $p;
    }
}

class B{
    function b1(){
        return new A();
    }

    function b2(){

    }
}

$b=new B();
$b->b1()->a1('aaa');

//$b->b2();

正常输出‘aaa’
但是我现在有一个需求,就是想在class B中方法b2 想获取到a1传入的参数值。 想法有点奇葩哈。 但是目前架构就是这样的不想去更改别人的,有没有那个小伙伴 帮忙一下? 或者必须要更改结构?

终生学习者
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
wanghan
最佳答案

在B中弄个public $val,存a1的参数就行了

2年前 评论
讨论数量: 4
wanghan

在B中弄个public $val,存a1的参数就行了

2年前 评论

传不过去,建议缓存一下

2年前 评论

A中定义public $p
B中定义public $a
b1中 $this->a = new A()
b2中直接取 $this->a->p

2年前 评论

这样?

class B{
    function b1(){
        return new A();
    }

    function b2(){
        $data = $this->b1()->a1();
        echo $data;

    }
}
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!