我创建了一个工厂类来创建一个Laravel应用程序实例,它运行良好。对于我的工厂方法应该返回的一些决定我不太确定,以防无法创建应用程序。
class LaravelApplicationFactory{
public static function createApplication($options = array()){
if(isset($options['app.dir']){
return new Application($options['app.dir']);
}else{
return null;
}
}
}
我问的是这个问题因为我知道在某些时候我会读到而不是返回空值而应该抛出异常。
如果是这种情况,我怎样才能最好地利用工厂模式而不用有缺陷的设计决定刺绣我的实施?
客户端代码将暂时消耗我的工厂:
//file: index.php
/** imports */
use cAspire\Core\Factory\LaravelApplicationFactory;
LaravelApplicationFactory::createApplication([
'app.dir' => __DIR__
]);
这受到bootstrap文件的启发,该文件可以在bootstrap.php文件下的任何Laravel 5. *实现中找到。