PHP 클래스 phprs\util\IoCFactory

저자: caoym
파일 보기 프로젝트 열기: caoym/phprs-restful 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$conf
$conf_file
$dict
$metas
$singletons

공개 메소드들

메소드 설명
__construct ( string | array $conf = null, array $dict = null, array $metas = null )
clearAnnotation ( unknown $text ) 去掉注解
create ( string $id, array $construct_args = null, array $properties = null, callable $injector = null, callable $init = null ) : object 根据id得到对象实例 TODO 单实例间互相引用会是问题
getClassName ( string $id = null )
getConf ( string $id = null ) : array | null 获取配置的属性
getConfFile ( ) : string | null 取配置文件路径, 如果是通过数组创建的, 则返回null
getDictKeys ( string $value ) : array 从字符串中获取模板变量
getMetaInfo ( string $class ) : array 获取元信息 会缓存
getPropertyValue ( $refl, object $ins, string $name ) : mixed 取属性值
hasClass ( string $id ) : boolean 配置中是否有指定id的类
injectDependent ( $refl, unknown $ins, unknown $meta, unknown $properties, $injector = null ) : void 注入依赖
setPropertyValue ( $refl, $ins, string $name, mixed $value ) 设置属性值, 允许设置private/protected属性

비공개 메소드들

메소드 설명
buildConstructArgs ( ReflectionClass $class, array $properties ) : array 根据属性组合构造参数
getProperty ( string $value ) : object | string 获取属性 替换属性中的{}和@标记
replaceByDict ( string | array $value, $dict ) : void 替换字典

메소드 상세

__construct() 공개 메소드

public __construct ( string | array $conf = null, array $dict = null, array $metas = null )
$conf string | array 文件或者配置数组 配置数组格式如下: [ id=>[ "class"=>类名, "singleton"=>false, 是否是单例, 如果是, 则只会创建一份(同一个工厂内) "pass_by_construct"=false, 属性是否通过构造函数传递, 如果不是, 则通过访问属性的方式传递 "properties"=>{ 属性名=>属性值 }
$dict array 设置字典 配置文件中, 属性值可以使用{key}的方式指定模板变量, 注入属性到实例是这些模板变 量会被替换成setDict方法设置的值
$metas array 类元信息, 如果不指定, 则自动从类文件中导出 ]

clearAnnotation() 공개 정적인 메소드

去掉注解
public static clearAnnotation ( unknown $text )
$text unknown

create() 공개 메소드

根据id得到对象实例 TODO 单实例间互相引用会是问题
public create ( string $id, array $construct_args = null, array $properties = null, callable $injector = null, callable $init = null ) : object
$id string
$construct_args array 构造函数的参数
$properties array 类属性, 覆盖配置文件中的属性
$injector callable fun($src), 获取注入值的方法
$init callable fun($inst, &$got) 初始化实例, 在创建后, 调用构造函数前
리턴 object

getClassName() 공개 메소드

public getClassName ( string $id = null )
$id string

getConf() 공개 메소드

获取配置的属性
public getConf ( string $id = null ) : array | null
$id string
리턴 array | null

getConfFile() 공개 메소드

取配置文件路径, 如果是通过数组创建的, 则返回null
public getConfFile ( ) : string | null
리턴 string | null

getDictKeys() 정적인 공개 메소드

从字符串中获取模板变量
static public getDictKeys ( string $value ) : array
$value string
리턴 array

getMetaInfo() 공개 메소드

获取元信息 会缓存
public getMetaInfo ( string $class ) : array
$class string
리턴 array

getPropertyValue() 정적인 공개 메소드

取属性值
static public getPropertyValue ( $refl, object $ins, string $name ) : mixed
$refl
$ins object
$name string
리턴 mixed

hasClass() 공개 메소드

配置中是否有指定id的类
public hasClass ( string $id ) : boolean
$id string
리턴 boolean

injectDependent() 공개 메소드

注入依赖
public injectDependent ( $refl, unknown $ins, unknown $meta, unknown $properties, $injector = null ) : void
$ins unknown
$meta unknown
$properties unknown
리턴 void

setPropertyValue() 정적인 공개 메소드

设置属性值, 允许设置private/protected属性
static public setPropertyValue ( $refl, $ins, string $name, mixed $value )
$refl
$name string 属性名
$value mixed 属性值

프로퍼티 상세

$conf 보호되어 있는 프로퍼티

protected $conf

$conf_file 보호되어 있는 프로퍼티

protected $conf_file

$dict 보호되어 있는 프로퍼티

protected $dict

$metas 보호되어 있는 프로퍼티

protected $metas

$singletons 보호되어 있는 프로퍼티

protected $singletons