Phalcon命令行界面
注意
所有类都以前缀命名Phalcon
Cli\Console¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Application\AbstractApplication
Phalcon\Cli\Console\Exception
Phalcon\Cli\Router\Route
Phalcon\Di\DiInterface
Phalcon\Events\ManagerInterface
-
继承
AbstractApplication
-
实现
该组件允许使用Phalcon创建命令行应用程序
属性¶
方法¶
处理所有命令行任务public function setArgument( array $arguments = null, bool $str = bool, bool $shift = bool ): Console;
Cli\Console\Exception¶
-
命名空间
Phalcon\Cli\Console
-
使用
-
继承
\Phalcon\Application\Exception
-
实现
在Phalcon\Cli\Console中抛出的异常将使用此类
Cli\Dispatcher¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Cli\Dispatcher\Exception
Phalcon\Dispatcher\AbstractDispatcher
Phalcon\Events\ManagerInterface
Phalcon\Filter\FilterInterface
-
继承
CliDispatcher
-
实现
DispatcherInterface
分发过程是获取命令行参数,提取其中包含的模块名、任务名、动作名和可选参数,然后实例化一个任务并调用其动作。
use Phalcon\Di\Di;
use Phalcon\Cli\Dispatcher;
$di = new Di();
$dispatcher = new Dispatcher();
$dispatcher->setDi($di);
$dispatcher->setTaskName("posts");
$dispatcher->setActionName("index");
$dispatcher->setParams([]);
$handle = $dispatcher->dispatch();
属性¶
/**
* @var string
*/
protected $defaultHandler = main;
/**
* @var string
*/
protected $defaultAction = main;
/**
* @var string
*/
protected $handlerSuffix = Task;
/**
* @var array
*/
protected $options;
方法¶
public function callActionMethod( mixed $handler, string $actionMethod, array $params = [] ): mixed;
public function getOption( mixed $option, mixed $filters = null, mixed $defaultValue = null ): mixed;
Cli\Dispatcher\Exception¶
-
命名空间
Phalcon\Cli\Dispatcher
-
使用
-
继承
\Phalcon\Dispatcher\Exception
-
实现
在Phalcon\Cli\Dispatcher中抛出的异常将使用此类
Cli\DispatcherInterface
¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Dispatcher\DispatcherInterface
-
继承
DispatcherInterfaceBase
-
实现
Phalcon\Cli\Dispatcher接口
方法¶
返回分发器中的活动任务 返回最后分发的控制器 获取已分发的选项 获取最后分发的任务名 获取默认任务后缀 设置默认任务名 设置要分发的选项 设置要分发的任务名 设置默认任务后缀Cli\Router¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Cli\Router\Exception
Phalcon\Cli\Router\Route
Phalcon\Cli\Router\RouteInterface
Phalcon\Di\AbstractInjectionAware
Phalcon\Di\DiInterface
-
继承
AbstractInjectionAware
-
实现
RouterInterface
Phalcon\Cli\Router是标准的框架路由器。路由是从命令行参数中获取信息并分解为参数以确定哪个模块、任务和动作应该接收请求的过程。
$router = new \Phalcon\Cli\Router();
$router->handle(
[
"module" => "main",
"task" => "videos",
"action" => "process",
]
);
echo $router->getTaskName();
属性¶
/**
* @var string
*/
protected $action = ;
/**
* @var string
*/
protected $defaultAction = ;
/**
* @var string
*/
protected $defaultModule = ;
/**
* @var array
*/
protected $defaultParams;
/**
* @var string
*/
protected $defaultTask = ;
/**
* @var RouteInterface|null
*/
protected $matchedRoute;
/**
* @var array
*/
protected $matches;
/**
* @var string
*/
protected $module = ;
/**
* @var array
*/
protected $params;
/**
* @var array
*/
protected $routes;
/**
* @var string
*/
protected $task = ;
/**
* @var bool
*/
protected $wasMatched = false;
方法¶
Phalcon\Cli\Router构造函数 向路由器添加路由 返回处理后的动作名 返回匹配处理URI的路由 返回正则表达式匹配的子表达式 返回处理后的模块名 返回处理后的额外参数 返回处理后的额外参数@todo 在未来版本中弃用此功能
根据ID返回路由对象 根据名称返回路由对象 返回在路由器中定义的所有路由 返回处理后的任务名 处理从命令行参数接收到的路由信息 设置默认的动作名称 设置默认模块名 设置默认控制器名 设置默认路径数组。如果路由缺少路径,路由器将使用此处定义的路径。此方法不应用于设置404路由 检查路由器是否匹配任何已定义的路由Cli\Router\Exception¶
-
命名空间
Phalcon\Cli\Router
-
使用
-
继承
\Exception
-
实现
在Phalcon\Cli\Router中抛出的异常将使用此类
Cli\Router\Route¶
-
命名空间
Phalcon\Cli\Router
-
使用
-
继承
-
实现
RouteInterface
此类表示添加到路由器的每个路由
常量¶
属性¶
/**
* @var mixed|null
*/
protected $beforeMatch;
/**
* @var string
*/
protected $compiledPattern = ;
/**
* @var array
*/
protected $converters;
/**
* @var string
*/
protected $delimiter;
/**
* @var string
*/
protected static $delimiterPath;
/**
* @var string
*/
protected $description = ;
/**
* @var string
*/
protected $routeId;
/**
* @var string
*/
protected $name = ;
/**
* @var array
*/
protected $paths;
/**
* @var string
*/
protected $pattern = ;
/**
* @var int
*/
protected static $uniqueId = ;
方法¶
设置在路由匹配时调用的回调。开发人员可以在此处实现任何任意条件。如果回调返回false,则认为路由未匹配 替换模式中的占位符,返回有效的PCRE正则表达式 添加转换器以对某些参数执行附加转换 设置路由分隔符 从字符串中提取参数 如果存在,返回"before match"回调 返回路由的编译模式 返回路由器转换器 获取路由分隔符 返回路由的描述 返回路由的名称 返回路径 返回路由的模式 返回使用位置作为键和名称作为值的路径 返回路由的ID 重新配置路由,添加新模式和一组路径 重置内部路由ID生成器 设置路由的描述 设置路由的名称Cli\Router\RouteInterface
¶
-
命名空间
Phalcon\Cli\Router
-
使用
-
继承
-
实现
Phalcon\Cli\Router\Route接口
方法¶
替换模式中的占位符,返回有效的PCRE正则表达式 设置路由分隔符 返回路由的模式 获取路由分隔符 返回路由的描述 返回路由的名称 返回路径 返回路由的模式 返回使用位置作为键和名称作为值的路径 返回路由的ID 重新配置路由,添加新模式和一组路径 重置内部路由ID生成器 设置路由的描述 设置路由的名称Cli\RouterInterface
¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Cli\Router\RouteInterface
-
继承
-
实现
Phalcon\Cli\Router接口
方法¶
在任何HTTP方法上向路由器添加路由 返回处理后的动作名 返回匹配处理URI的路由 返回正则表达式匹配的子表达式 返回处理后的模块名 返回处理后的额外参数 返回处理后的额外参数 @todo 在未来弃用此功能 根据ID返回路由对象 根据名称返回路由对象 返回路由器中定义的所有路由 返回处理后的任务名 处理从重写引擎接收到的路由信息 设置默认的动作名称 设置默认模块名 设置默认任务名 设置默认路径数组 检查路由器是否匹配任何已定义的路由Cli\Task¶
-
命名空间
Phalcon\Cli
-
使用
Phalcon\Di\Injectable
Phalcon\Events\EventsAwareInterface
Phalcon\Events\ManagerInterface
-
继承
Injectable
-
实现
EventsAwareInterface
TaskInterface
每个命令行任务都应该扩展这个类,该类封装了所有任务功能
任务可以用来运行“任务”,例如迁移、定时任务、单元测试,或任何你想要的功能。Task类至少应该有一个“mainAction”方法。
class HelloTask extends \Phalcon\Cli\Task
{
// This action will be executed by default
public function mainAction()
{
}
public function findAction()
{
}
}
属性¶
方法¶
Phalcon\Cli\Task 构造函数 返回内部事件管理器 设置事件管理器Cli\TaskInterface
¶
-
命名空间
Phalcon\Cli
-
使用
-
继承
-
实现
任务处理程序的接口