\PhalApiDependenceInjection

DependenceInjection 依赖注入类

Dependency Injection 依赖注入容器

  • 调用的方式有:set/get函数、魔法方法setX/getX、类变量$fdi->X、数组$fdi['X]
  • 初始化的途径:直接赋值、类名、匿名函数


使用示例:

      $di = new DependenceInjection();

      // 用的方式有:set/get函数  魔法方法setX/getX、类属性$di->X、数组$di['X']
      $di->key = 'value';
      $di['key'] = 'value';
      $di->set('key', 'value');
      $di->setKey('value');

      echo $di->key;
      echo $di['key'];
      echo $di->get('key');
      echo $di->getKey();

      // 初始化的途径:直接赋值、类名(会回调onInitialize函数)、匿名函数
      $di->simpleKey = array('value');
      $di->classKey = 'DependenceInjection';
      $di->closureKey = function () {
           return 'sth heavy ...';
      };

Summary

Methods
Properties
Constants
__construct()
one()
onConstruct()
onInitialize()
set()
get()
__call()
__set()
__get()
offsetSet()
offsetGet()
offsetUnset()
offsetExists()
$request
$response
$cache
$crypt
$config
$logger
$notorm
$loader
$tracer
No constants found
initService()
$instance
$hitTimes
$data
N/A
No private methods found
No private properties found
N/A

Properties

$request

$request : \PhalApi\Request

请求

Type

\PhalApi\Request

$response

$response : \PhalApi\Response_Json

结果响应

Type

\PhalApi\Response_Json

$cache

$cache : \PhalApi\Cache

缓存

Type

\PhalApi\Cache

$crypt

$crypt : \PhalApi\Crypt

加密

Type

\PhalApi\Crypt

$config

$config : \PhalApi\Config

配置

Type

\PhalApi\Config

$logger

$logger : \PhalApi\Logger

日记

Type

\PhalApi\Logger

$notorm

$notorm : \PhalApi\DB\NotORM

数据库

Type

\PhalApi\DB\NotORM

$loader

$loader : \PhalApi\Loader

自动加载

Type

\PhalApi\Loader

$tracer

$tracer : \PhalApi\Helper\Tracer

全球追踪器

Type

\PhalApi\Helper\Tracer

$hitTimes

$hitTimes : array

Type

array — 服务命中的次数

$data

$data : array

Type

array — 注册的服务池

Methods

__construct()

__construct() 

one()

one() 

获取DI单体实例

  • 1、将进行service级的构造与初始化
  • 2、也可以通过new创建,但不能实现service的共享

onConstruct()

onConstruct() 

service级的构造函数

  • 1、可实现一些自定义业务的操作,如内置默认service
  • 2、首次创建时将会调用

onInitialize()

onInitialize() 

set()

set(string  $key,   $value) 

统一setter

  • 1、设置保存service的构造原型,延时创建

Parameters

string $key

service注册名称,要求唯一,区分大小写

$value

get()

get(string  $key, mixed  $default = NULL) : mixed

统一getter

  • 1、获取指定service的值,并根据其原型分不同情况创建
  • 2、首次创建时,如果service级的构造函数可调用,则调用
  • 3、每次获取时,如果非共享且service级的初始化函数可调用,则调用

Parameters

string $key

service注册名称,要求唯一,区分大小写

mixed $default

service不存在时的默认值

Returns

mixed —

没有此服务时返回NULL

__call()

__call(  $name,   $arguments) 

------------------ 魔法方法 ------------------ *

Parameters

$name
$arguments

__set()

__set(  $name,   $value) 

Parameters

$name
$value

__get()

__get(  $name) 

Parameters

$name

offsetSet()

offsetSet(  $offset,   $value) 

------------------ ArrayAccess(数组式访问)接口 ------------------ *

Parameters

$offset
$value

offsetGet()

offsetGet(  $offset) 

Parameters

$offset

offsetUnset()

offsetUnset(  $offset) 

Parameters

$offset

offsetExists()

offsetExists(  $offset) 

Parameters

$offset

initService()

initService(  $config) 

------------------ 内部方法 ------------------ *

Parameters

$config