这可能是一个新手问题,但这个PHP 5.4功能
“在实例化时添加了类成员访问权限(例如(new foo) - > bar())支持。”
意味着Class::factory('some_class_name')
将会消失?
答案 0 :(得分:2)
不一定。工厂通常会做一些事情; 首先,它决定基于某些条件返回哪种对象, second ,它通常也处理依赖关系。也就是说,如果A需要B,你从工厂请求A,B将在创建时传递给它。
你不能用(new Foo)->bar()
。
更重要的是,工厂将返回一个物体,你现在可以动态地做它:
$foo = new $classname;
使用类似($foo = new Foo)->bar()
的语法有助于您希望在创建后立即执行方法,或者您只是在对象上执行一个方法。