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

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

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

PHP
小怪兽爱吃肉 2019-03-06 09:08:40
下面我例出两个类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();     }      }
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-29
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

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

self::Amode()->index() //能够保证用的是同一个a
$mode=new a(); //每次都生成一个新的aecho $mode->index();


查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 394 浏览

添加回答

举报

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