82 lines
1.7 KiB
PHP
82 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of the CodeIgniter 4 framework.
|
|
*
|
|
* (c) CodeIgniter Foundation <admin@codeigniter.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace CodeIgniter\CLI;
|
|
|
|
use CodeIgniter\CodeIgniter;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\Response;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Exception;
|
|
|
|
/**
|
|
* Console
|
|
*/
|
|
class Console
|
|
{
|
|
/**
|
|
* Main CodeIgniter instance.
|
|
*
|
|
* @var CodeIgniter
|
|
*/
|
|
protected $app;
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
/**
|
|
* Console constructor.
|
|
*
|
|
* @param CodeIgniter $app
|
|
*/
|
|
public function __construct(CodeIgniter $app)
|
|
{
|
|
$this->app = $app;
|
|
}
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
/**
|
|
* Runs the current command discovered on the CLI.
|
|
*
|
|
* @param boolean $useSafeOutput
|
|
*
|
|
* @return RequestInterface|Response|ResponseInterface|mixed
|
|
* @throws Exception
|
|
*/
|
|
public function run(bool $useSafeOutput = false)
|
|
{
|
|
$path = CLI::getURI() ?: 'list';
|
|
|
|
// Set the path for the application to route to.
|
|
$this->app->setPath("ci{$path}");
|
|
|
|
return $this->app->useSafeOutput($useSafeOutput)->run();
|
|
}
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
/**
|
|
* Displays basic information about the Console.
|
|
*
|
|
* @param boolean $suppress
|
|
*/
|
|
public function showHeader(bool $suppress = false)
|
|
{
|
|
if ($suppress)
|
|
{
|
|
return;
|
|
}
|
|
|
|
CLI::write(sprintf('CodeIgniter v%s Command Line Tool - Server Time: %s UTC%s', CodeIgniter::CI_VERSION, date('Y-m-d H:i:s'), date('P')), 'green');
|
|
CLI::newLine();
|
|
}
|
|
}
|