|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /home/matalashes/public_html/kite.mata-lashes.com/system/CLI/ |
Upload File : |
<?php
/**
* This file is part of 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\Controller;
use Config\Services;
use ReflectionException;
/**
* Command runner
*/
class CommandRunner extends Controller
{
/**
* Instance of class managing the collection of commands
*
* @var Commands
*/
protected $commands;
/**
* Constructor
*/
public function __construct()
{
$this->commands = Services::commands();
}
/**
* We map all un-routed CLI methods through this function
* so we have the chance to look for a Command first.
*
* @param string $method
* @param array ...$params
*
* @throws ReflectionException
*
* @return mixed
*/
public function _remap($method, ...$params)
{
// The first param is usually empty, so scrap it.
if (empty($params[0])) {
array_shift($params);
}
return $this->index($params);
}
/**
* Default command.
*
* @throws ReflectionException
*
* @return mixed
*/
public function index(array $params)
{
$command = array_shift($params) ?? 'list';
return $this->commands->run($command, $params);
}
/**
* Allows access to the current commands that have been found.
*/
public function getCommands(): array
{
return $this->commands->getCommands();
}
}