本文整理汇总了PHP中Zend\ServiceManager\ServiceManager::createServiceViaCallback方法的典型用法代码示例。如果您正苦于以下问题:PHP ServiceManager::createServiceViaCallback方法的具体用法?PHP ServiceManager::createServiceViaCallback怎么用?PHP ServiceManager::createServiceViaCallback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\ServiceManager\ServiceManager
的用法示例。
在下文中一共展示了ServiceManager::createServiceViaCallback方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createServiceViaCallback
/**
* Create service via callback
*
* @param callable $callable
* @param string $cName
* @param string $rName
* @throws Exception\ServiceNotCreatedException
* @throws Exception\ServiceNotFoundException
* @throws Exception\CircularDependencyFoundException
* @return object
*/
protected function createServiceViaCallback($callable, $cName, $rName)
{
if (is_object($callable)) {
$factory = $callable;
} elseif (is_array($callable)) {
// reset both rewinds and returns the value of the first array element
$factory = reset($callable);
}
// duck-type MutableCreationOptionsInterface for forward compatibility
if (isset($factory) && method_exists($factory, 'setCreationOptions') && is_array($this->creationOptions) && !empty($this->creationOptions)) {
$factory->setCreationOptions($this->creationOptions);
} elseif ($factory instanceof Factory\InvokableFactory) {
$factory->setCreationOptions([]);
}
return parent::createServiceViaCallback($callable, $cName, $rName);
}
示例2: createServiceViaCallback
/**
* Create service via callback
*
* @param callable $callable
* @param string $cName
* @param string $rName
* @throws Exception\ServiceNotCreatedException
* @throws Exception\ServiceNotFoundException
* @throws Exception\CircularDependencyFoundException
* @return object
*/
protected function createServiceViaCallback($callable, $cName, $rName)
{
if (is_object($callable)) {
$factory = $callable;
} elseif (is_array($callable)) {
// reset both rewinds and returns the value of the first array element
$factory = reset($callable);
}
if (isset($factory) && $factory instanceof MutableCreationOptionsInterface && is_array($this->creationOptions) && !empty($this->creationOptions)) {
$factory->setCreationOptions($this->creationOptions);
}
return parent::createServiceViaCallback($callable, $cName, $rName);
}