CrossPHP

Application
in package

Tags
author

wonli wonli@live.com Class Application

Table of Contents

$actionAnnotate  : string
action 注释
$delegate  : Delegate
__construct()  : mixed
实例化Application
combineParamsAnnotateConfig()  : array<string|int, mixed>
合并参数注释配置
dispatcher()  : array<string|int, mixed>|mixed|string
运行框架
getAnnotateConfig()  : array<string|int, mixed>|bool
获取action注释配置
getControllerNamespace()  : string
获取控制器的命名空间
getViewControllerNameSpace()  : string
默认的视图控制器命名空间
instanceClass()  : object|bool
实例化内部类 <pre> 判断类中是否包含静态成员变量app_delegate并赋值 主要用于实例化Cross\MVC\Module, Cross\MVC\View命名空间下的派生类 不能实例化控制器, 实例化控制器请调用本类中的get()方法 </pre>
oneDimensionalToAssociativeArray()  : array<string|int, mixed>
一维数组按顺序转换为关联数组
stringParamsToAssociativeArray()  : array<string|int, mixed>
字符类型的参数转换为一个关联数组
updateRouterParams()  : void
设置params
callReliesControllerClosure()  : void
调用依赖控制器实例的匿名函数
initController()  : ReflectionClass
初始化控制器
initParams()  : void
初始化参数
initRequestCache()  : bool|FileCacheDriver|Memcache|RedisCache|RequestCacheInterface|object
初始化请求缓存 <pre> request_cache_config 共接受3个参数 1 缓存开关 2 缓存配置数组 3 是否强制开启请求缓存(忽略HTTP请求类型检查)
parseRouter()  : array<string|int, mixed>
解析router <pre> router类型为字符串时, 第二个参数生效 当router类型为数组或字符串时,dispatcher中不再调用initParams() </pre>
setAnnotateConfig()  : void
设置action注释
setResponseConfig()  : void
设置Response

Properties

$actionAnnotate

action 注释

private string $actionAnnotate

Methods

__construct()

实例化Application

public __construct(Delegate $delegate) : mixed
Parameters
$delegate : Delegate
Return values
mixed

combineParamsAnnotateConfig()

合并参数注释配置

public static combineParamsAnnotateConfig([array<string|int, mixed> $params = [] ][, array<string|int, mixed> $annotateParams = [] ][, int $opMode = 1 ]) : array<string|int, mixed>
Parameters
$params : array<string|int, mixed> = []
$annotateParams : array<string|int, mixed> = []
$opMode : int = 1

处理参数的方式

Return values
array<string|int, mixed>

dispatcher()

运行框架

public dispatcher(object|string $router[, array<string|int, mixed>|string $args = [] ][, bool $returnResponseContent = false ]) : array<string|int, mixed>|mixed|string
Parameters
$router : object|string
$args : array<string|int, mixed>|string = []

指定参数

$returnResponseContent : bool = false

是否输出执行结果

Tags
throws
CoreException
Return values
array<string|int, mixed>|mixed|string

getAnnotateConfig()

获取action注释配置

public getAnnotateConfig() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

getControllerNamespace()

获取控制器的命名空间

public getControllerNamespace(string $controllerName) : string
Parameters
$controllerName : string
Return values
string

getViewControllerNameSpace()

默认的视图控制器命名空间

public getViewControllerNameSpace(string $controllerName) : string
Parameters
$controllerName : string
Return values
string

instanceClass()

实例化内部类 <pre> 判断类中是否包含静态成员变量app_delegate并赋值 主要用于实例化Cross\MVC\Module, Cross\MVC\View命名空间下的派生类 不能实例化控制器, 实例化控制器请调用本类中的get()方法 </pre>

public instanceClass(string $class[, array<string|int, mixed> $args = [] ]) : object|bool
Parameters
$class : string

类名或命名空间

$args : array<string|int, mixed> = []
Return values
object|bool

oneDimensionalToAssociativeArray()

一维数组按顺序转换为关联数组

public static oneDimensionalToAssociativeArray(array<string|int, mixed> $oneDimensional) : array<string|int, mixed>
Parameters
$oneDimensional : array<string|int, mixed>
Return values
array<string|int, mixed>

stringParamsToAssociativeArray()

字符类型的参数转换为一个关联数组

public static stringParamsToAssociativeArray(string $stringParams, string $separator) : array<string|int, mixed>
Parameters
$stringParams : string
$separator : string
Return values
array<string|int, mixed>

updateRouterParams()

设置params

public updateRouterParams(array<string|int, mixed>|string $params) : void
Parameters
$params : array<string|int, mixed>|string
Return values
void

callReliesControllerClosure()

调用依赖控制器实例的匿名函数

private callReliesControllerClosure(Closure $closure, object $controller) : void
Parameters
$closure : Closure
$controller : object

当前控制器实例

Return values
void

initController()

初始化控制器

private initController(string $controller[, mixed $action = null ]) : ReflectionClass
Parameters
$controller : string

控制器

$action : mixed = null

动作

Tags
throws
CoreException
Return values
ReflectionClass

initParams()

初始化参数

private initParams(array<string|int, mixed>|string $urlParams[, array<string|int, mixed> $annotateParams = [] ]) : void
Parameters
$urlParams : array<string|int, mixed>|string
$annotateParams : array<string|int, mixed> = []
Return values
void

initRequestCache()

初始化请求缓存 <pre> request_cache_config 共接受3个参数 1 缓存开关 2 缓存配置数组 3 是否强制开启请求缓存(忽略HTTP请求类型检查)

private initRequestCache(array<string|int, mixed> $requestCacheConfig, array<string|int, mixed> $annotateParams) : bool|FileCacheDriver|Memcache|RedisCache|RequestCacheInterface|object

请求类型验证优先级大于缓存开关 注册匿名函数cpCache可以更灵活的控制请求缓存

Parameters
$requestCacheConfig : array<string|int, mixed>
$annotateParams : array<string|int, mixed>
Tags
throws
CoreException
Return values
bool|FileCacheDriver|Memcache|RedisCache|RequestCacheInterface|object

parseRouter()

解析router <pre> router类型为字符串时, 第二个参数生效 当router类型为数组或字符串时,dispatcher中不再调用initParams() </pre>

private parseRouter(RouterInterface|string $router[, array<string|int, mixed> $params = [] ][, bool &$initParams = true ]) : array<string|int, mixed>
Parameters
$router : RouterInterface|string
$params : array<string|int, mixed> = []
$initParams : bool = true
Return values
array<string|int, mixed>

setAnnotateConfig()

设置action注释

private setAnnotateConfig(array<string|int, mixed> $annotate, array<string|int, mixed> $controllerAnnotate) : void
Parameters
$annotate : array<string|int, mixed>
$controllerAnnotate : array<string|int, mixed>
Return values
void

setResponseConfig()

设置Response

private setResponseConfig(array<string|int, mixed> $config) : void
Parameters
$config : array<string|int, mixed>
Return values
void

Search results