本文整理汇总了PHP中AppContext::servicePoint方法的典型用法代码示例。如果您正苦于以下问题:PHP AppContext::servicePoint方法的具体用法?PHP AppContext::servicePoint怎么用?PHP AppContext::servicePoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppContext
的用法示例。
在下文中一共展示了AppContext::servicePoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: switch
function &_get_typed_value($value)
{
# value is a string
if (is_string($value)) {
# tagged value
if (preg_match('/^!!(autowire|service|property|constant)\\s+(.+)$/', $value, $matches)) {
switch ($matches[1]) {
case 'autowire':
$string = $matches[2];
if (strstr($string, '::')) {
list($filename, $clazz) = explode('::', $string);
if (!class_exists($clazz)) {
if (!is_file($this->base . $filename) || !file_exists($this->base . $filename)) {
show_error('Instantiator Error', "File not found for '{$clazz}': " . $this->base . $filename);
}
include $this->base . $filename;
}
} else {
$clazz = $string;
}
$value =& AppContext::createAutowiredService($clazz);
break;
case 'service':
$service = $matches[2];
$point =& AppContext::servicePoint($service);
if ($point == NULL) {
show_error('Instantiator Error', 'Undefined service-point: ' . $service);
}
$value =& $point->instance();
break;
case 'property':
$value = AppContext::property($matches[2]);
break;
case 'constant':
$value = constant($matches[2]);
break;
}
}
} else {
if (is_array($value)) {
# recurse
$newvalue = array_map(array(&$this, '_get_typed_value'), &$value);
$value =& $newvalue;
}
}
return $value;
}