本文整理汇总了PHP中KServiceInterface::get方法的典型用法代码示例。如果您正苦于以下问题:PHP KServiceInterface::get方法的具体用法?PHP KServiceInterface::get怎么用?PHP KServiceInterface::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KServiceInterface
的用法示例。
在下文中一共展示了KServiceInterface::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _findActorIdentifiers
/**
* Return an array of actor identifiers
*
* @return array
*/
protected static function _findActorIdentifiers(KServiceInterface $container)
{
$components = $container->get('repos://admin/components.component')->getQuery()->enabled(true)->fetchSet();
$components = array_unique($container->get('repos://admin/components.component')->fetchSet()->component);
$identifiers = array();
foreach ($components as $component) {
$path = JPATH_SITE . '/components/' . $component . '/domains/entities';
if (!file_exists($path)) {
continue;
}
//get all the files
$files = (array) JFolder::files($path);
//convert com_<Component> to ['com','<Name>']
$parts = explode('_', $component);
$identifier = new KServiceIdentifier('com:' . substr($component, strpos($component, '_') + 1));
$identifier->path = array('domain', 'entity');
foreach ($files as $file) {
$identifier->name = substr($file, 0, strpos($file, '.'));
try {
if (is($identifier->classname, 'ComActorsDomainEntityActor')) {
$identifiers[] = clone $identifier;
}
} catch (Exception $e) {
}
}
}
return $identifiers;
}
示例2: 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);
}
示例3: 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);
}
示例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)
{
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);
}
示例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)) {
$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);
}
示例6: 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);
}
示例7: 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);
}
示例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)
{
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);
}
示例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)) {
$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);
}
示例10: 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);
}
示例11: getService
/**
* Get an instance of a class based on a class identifier only creating it
* if it doesn't exist yet.
*
* @param string|object The class identifier or identifier object
* @param array An optional associative array of configuration settings.
* @throws KServiceServiceException
* @return object Return object on success, throws exception on failure
* @see KObjectServiceable
*/
public final function getService($identifier = null, array $config = array())
{
if (!isset($this->__service_container)) {
throw new KObjectException("Failed to call " . get_class($this) . "::getService(). No service_container object defined.");
}
if (!isset($identifier)) {
$result = $this->__service_container;
} else {
$result = $this->__service_container->get($identifier, $config);
}
return $result;
}
示例12: 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);
}
示例13: 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)
{
$strIdentifier = (string) $config->service_identifier;
$registery = $container->get('application.registry', array('key' => $strIdentifier . '_default_class'));
if (!$registery->offsetExists($strIdentifier)) {
try {
$identifier = clone $config->service_identifier;
$identifier->type = 'repos';
$identifier->path = array('domain', 'entity');
$default = array('prefix' => $container->get($identifier)->getClone(), 'fallback' => 'ComBaseControllerDefault');
} catch (Exception $e) {
$default = 'Com' . ucfirst($config->service_identifier->package) . 'ControllerDefault';
$default = array('default' => array($default, 'ComBaseControllerResource'));
}
$default['identifier'] = $config->service_identifier;
register_default($default);
$classname = AnServiceClass::findDefaultClass($config->service_identifier);
$config->service_identifier->classname = $classname;
$registery->offsetSet($strIdentifier, $classname);
}
$classname = $registery->offsetGet($strIdentifier);
$instance = new $classname($config);
return $instance;
}
示例14: 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);
}
示例15: getService
/**
* Get an instance of a class based on a class identifier only creating it
* if it doesn't exist yet.
*
* @param string|object The class identifier or identifier object
* @param array An optional associative array of configuration settings.
* @throws KServiceServiceException
* @return object Return object on success, throws exception on failure
* @see KObjectServiceable
*/
public final function getService($identifier, array $config = array())
{
return $this->__service_container->get($identifier, $config);
}