本文整理汇总了PHP中KServiceInterface::has方法的典型用法代码示例。如果您正苦于以下问题:PHP KServiceInterface::has方法的具体用法?PHP KServiceInterface::has怎么用?PHP KServiceInterface::has使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KServiceInterface
的用法示例。
在下文中一共展示了KServiceInterface::has方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInstance
/**
* Force creation of a singleton
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$query = $container->get('repos://site/components.component')->getQuery();
$registry = $container->get('application.registry');
$cached = $registry->offsetExists('assignable-components');
if ($cached) {
$query->component($registry->offsetGet('assignable-components'));
}
//check the cache
$container->get('repos://site/components.component')->getCommandChain()->disable();
$components = $container->get('repos://site/components.component')->fetch($query, AnDomain::FETCH_ENTITY_LIST);
$container->get('repos://site/components.component')->getCommandChain()->enable();
if (!$cached) {
$assignables = array();
$names = array();
foreach ($components as $component) {
if ($component->isAssignable()) {
$names[] = $component->component;
$assignables[] = $component;
}
}
$components = $assignables;
$registry['assignable-components'] = $names;
}
$instance = $container->get('anahita:domain.entityset', array('data' => $components, 'repository' => 'repos://site/components.component'));
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例2: getInstance
/**
* Force creation of a singleton
*
* @param object An optional KConfig object with configuration options
* @param object A KServiceInterface object
* @return ComDebugProfilerEvents
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$instance = new self($config);
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例3: getInstance
/**
* Return.
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$identifier = self::_identifier($config->service_identifier);
$instance = AnDomain::getRepository($identifier, $config->toArray());
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例4: getInstance
/**
* Force creation of a singleton.
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
JPluginHelper::importPlugin('storage');
if (!$container->has($config->service_identifier)) {
$classname = $config->service_identifier->classname;
$instance = new PlgStorageLocal($config);
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例5: getInstance
/**
* Force creation of a singleton.
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$classname = $config->service_identifier->classname;
$instance = new $classname($config);
$container->set($config->service_identifier, $instance);
$container->setAlias('application.dispatcher', $config->service_identifier);
}
return $container->get($config->service_identifier);
}
示例6: getInstance
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
//Create the singleton
$classname = $config->service_identifier->classname;
$instance = new $classname($config);
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例7: getInstance
/**
* Force creation of a singleton
*
* @param object An optional KConfig object with configuration options
* @param object A KServiceInterface object
* @return KDispatcherDefault
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
// Check if an instance with this identifier already exists or not
if (!$container->has($config->service_identifier)) {
//Create the singleton
$classname = $config->service_identifier->classname;
$instance = new $classname($config);
$container->set($config->service_identifier, $instance);
//Add the factory map to allow easy access to the singleton
$container->setAlias('dispatcher', $config->service_identifier);
}
return $container->get($config->service_identifier);
}
示例8: getInstance
/**
* Force creation of a singleton
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
//check the cache
$registry = $container->get('application.registry');
if (!$registry->offsetExists('actor-identifiers')) {
$registry['actor-identifiers'] = self::_findActorIdentifiers($container);
}
$identifiers = $registry['actor-identifiers'];
$instance = $container->get('koowa:object.array', array('data' => $identifiers));
$container->set($config->service_identifier, $instance);
}
return $container->get($config->service_identifier);
}
示例9: getInstance
/**
* Force creation of a singleton.
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$id = JFactory::getUser()->id;
if (!$id) {
$viewer = $container->get('repos://site/people.person')->getEntity()->setData(array('userType' => ComPeopleDomainEntityPerson::USERTYPE_GUEST), AnDomain::ACCESS_PROTECTED);
$viewer->set('id', 0);
$viewer->getRepository()->extract($viewer);
} else {
$viewer = $container->get('repos://site/people.person')->find(array('userId' => $id));
}
$container->set($config->service_identifier, $viewer);
}
return $container->get($config->service_identifier);
}
示例10: getInstance
/**
* Force creation of a singleton
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$registry = $container->get('application.registry', array('key' => $config->service_identifier));
if (!$registry->offsetExists('aggregations')) {
$components = $container->get('repos://site/components.component')->fetchSet();
$dispatcher = $container->get('koowa:event.dispatcher');
$components->registerEventDispatcher($dispatcher);
$aggregations = new KConfig();
$event = new KEvent(array('aggregations' => $aggregations));
$dispatcher->dispatchEvent('onStoryAggregation', $event);
$registry->offsetSet('aggregations', $aggregations);
}
$container->set($config->service_identifier, $registry->offsetGet('aggregations'));
}
return $container->get($config->service_identifier);
}
示例11: getInstance
/**
* Force creation of a singleton
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$id = JFactory::getUser()->id;
if (!$id) {
$viewer = $container->get('repos://site/people.person')->getEntity()->setData(array('userType' => 'Guest'), AnDomain::ACCESS_PROTECTED);
$viewer->set('id', 0);
$viewer->getRepository()->extract($viewer);
} else {
$viewer = $container->get('repos://site/people.person')->find(array('userId' => $id));
if (!$viewer) {
$viewer = $container->get('com://site/people.helper.person')->createFromUser(JFactory::getUser());
$viewer->save();
}
}
$container->set($config->service_identifier, $viewer);
}
return $container->get($config->service_identifier);
}
示例12: getInstance
/**
* Force creation of a singleton
*
* @param KConfigInterface $config An optional KConfig object with configuration options
* @param KServiceInterface $container A KServiceInterface object
*
* @return KServiceInstantiatable
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
if (!$container->has($config->service_identifier)) {
$registry = $container->get('application.registry', array('key' => $config->service_identifier));
if (!$registry->offsetExists('scopes')) {
$components = $container->get('repos://site/components.component')->fetchSet();
$dispatcher = $container->get('koowa:event.dispatcher');
$components->registerEventDispatcher($dispatcher);
$event = new KEvent(array('scope' => array()));
$dispatcher->dispatchEvent('onBeforeFetch', $event);
$scopes = new self();
foreach ($event->scope as $scope) {
$scope = KConfig::unbox($scope);
if (is_array($scope)) {
$scope = $container->get('com://site/components.domain.entity.scope', $scope);
}
$scopes[$scope->getKey()] = $scope;
}
$registry->offsetSet('scopes', $scopes);
}
$container->set($config->service_identifier, $registry->offsetGet('scopes'));
}
return $container->get($config->service_identifier);
}