/** * Creates the application. * * Needs to be implemented by subclasses. * * @return \Symfony\Component\HttpKernel\HttpKernelInterface */ public function createApplication() { $app = new Application(); $app->detectEnvironment(array('local' => array('your-machine-name'))); $app->bindInstallPaths($this->getApplicationPaths()); $app['env'] = 'testing'; $app->instance('app', $app); Facade::clearResolvedInstances(); Facade::setFacadeApplication($app); $app->registerCoreContainerAliases(); with($envVariables = new EnvironmentVariables($app->getEnvironmentVariablesLoader()))->load($app['env']); $app->instance('config', $config = new Repository($app->getConfigLoader(), $app['env'])); $app->startExceptionHandling(); date_default_timezone_set($this->getApplicationTimezone()); $aliases = array_merge($this->getApplicationAliases(), $this->getPackageAliases()); AliasLoader::getInstance($aliases)->register(); Request::enableHttpMethodParameterOverride(); $providers = array_merge($this->getApplicationProviders(), $this->getPackageProviders()); $app->getProviderRepository()->load($app, $providers); $this->registerBootedCallback($app); return $app; }
/** * Bind the installation paths to the application. * * @param array $paths * @return void * @static */ public static function bindInstallPaths($paths) { \Illuminate\Foundation\Application::bindInstallPaths($paths); }