$app->useEnvironmentPath(realpath(__DIR__));
Created
August 13, 2018 20:05
-
-
Save Artistan/5fb7f8bd8439283291024f6949004195 to your computer and use it in GitHub Desktop.
override laravel application class
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Artistan\ZeroNullDates\Tests; | |
use Illuminate\Foundation\Application as IllApplication; | |
class Application extends IllApplication | |
{ | |
/** | |
* The custom configuration path defined by the developer. | |
* | |
* @var string | |
*/ | |
protected $configPath; | |
/** | |
* Get the path to the application configuration files. | |
* | |
* @param string $path Optionally, a path to append to the config path | |
* @return string | |
*/ | |
public function configPath($path = '') | |
{ | |
return ($this->configPath ?: $this->basePath.DIRECTORY_SEPARATOR.'config').($path ? DIRECTORY_SEPARATOR.$path : $path); | |
} | |
/** | |
* Set the configuration directory. | |
* | |
* @param string $path | |
* @return $this | |
*/ | |
public function useConfigPath($path) | |
{ | |
$this->configPath = $path; | |
$this->instance('path.config', $path); | |
return $this; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
|-------------------------------------------------------------------------- | |
| Create The Application | |
|-------------------------------------------------------------------------- | |
| | |
| The first thing we will do is create a new Laravel application instance | |
| which serves as the "glue" for all the components of Laravel, and is | |
| the IoC container for the system binding all of the various parts. | |
| | |
*/ | |
$app = new \Artistan\ZeroNullDates\Tests\Application( | |
realpath(__DIR__.'/') | |
); | |
// allow for custom configurations, not in the | |
// $app->useConfigPath(realpath(__DIR__.'/config/')); | |
/* | |
|-------------------------------------------------------------------------- | |
| Bind Important Interfaces | |
|-------------------------------------------------------------------------- | |
| | |
| Next, we need to bind some important interfaces into the container so | |
| we will be able to resolve them when needed. The kernels serve the | |
| incoming requests to this application from both the web and CLI. | |
| | |
*/ | |
$app->singleton( | |
Illuminate\Contracts\Http\Kernel::class, | |
App\Http\Kernel::class | |
); | |
$app->singleton( | |
Illuminate\Contracts\Console\Kernel::class, | |
App\Console\Kernel::class | |
); | |
$app->singleton( | |
Illuminate\Contracts\Debug\ExceptionHandler::class, | |
App\Exceptions\Handler::class | |
); | |
/* | |
|-------------------------------------------------------------------------- | |
| Return The Application | |
|-------------------------------------------------------------------------- | |
| | |
| This script returns the application instance. The instance is given to | |
| the calling script so we can separate the building of the instances | |
| from the actual running of the application and sending responses. | |
| | |
*/ | |
return $app; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment