为了账号安全,请及时绑定邮箱和手机立即绑定

请教下类实例化调用问题。

请教下类实例化调用问题。

PHP
qq_花开花谢_0 2019-03-05 14:17:19
下面我例出两个类a(假设a包含很多功能)、b(只是调用); a 代码 namespace demo; class a{ public function index(){ return '我是index'; } public function demo(){ return '我是demo'; } } 我常见别人这样调用: use demo\a; class b{ static function Amode (){ return new a; } public Bindex(){ echo self::Amode()->index(); } public Bdata(){ echo self::Amode()->demo(); } } 上面这种方法比下面好使吗? use demo\a; class b{ public Bindex(){ $mode=new a(); echo $mode->index(); } public Bdata(){ $mode=new a(); echo $mode->demo(); } }
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

本身两种办法我觉得差异不大,有更优解,可以了解下控制反转

查看完整回答
反对 回复 2019-03-18
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

区别就是a的数据是否共享:

self::Amode()->index() //能够保证用的是同一个a
$mode=new a(); //每次都生成一个新的a
echo $mode->index();
查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 453 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信