是否可以在构造函数中优雅地退出?

6 php constructor return-value

是否可以优雅地退出php中的构造函数?有效的东西

class Foo { 

 function __construct()
 {

   $active = false;

   if(!$active)
   {
    return false;
   }

 }

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试完成此操作,因为我想检查是否应该基于配置文件运行类中的任何方法.我不想在每个方法中检查配置文件以查看方法是否应该运行.

n3r*_*3rd 7

这取决于你"优雅地"的意思.如果您希望构造函数失败,可以抛出异常,或者可以使用工厂模式:

class FooFactory {
    function makeFoo() {
        return $someConstraint ? null : new Foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

也许你可以详细说明你想要完成的是什么.