本文整理汇总了PHP中KServiceInterface类的典型用法代码示例。如果您正苦于以下问题:PHP KServiceInterface类的具体用法?PHP KServiceInterface怎么用?PHP KServiceInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了KServiceInterface类的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)) {
$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);
}
示例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
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
// Singleton behavior.
$identifier = $config->service_identifier;
$classname = $identifier->classname;
$instance = new $classname($config);
$container->set($identifier, $instance);
return $instance;
}
示例5: 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);
}
示例6: 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);
}
示例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)) {
$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);
}
示例8: 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);
}
示例9: 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);
}
示例10: getInstance
/**
* Check for overrides of the helper
*
* @param object An optional KConfig object with configuration options
* @param object A KServiceInterface object
* @return ComActivitiesTemplateHelperActivity
*/
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
$identifier = clone $config->service_identifier;
$identifier->package = $config->row->package;
$identifier = $container->getIdentifier($identifier);
if (file_exists($identifier->filepath)) {
$classname = $identifier->classname;
} else {
$classname = $config->service_identifier->classname;
}
$instance = new $classname($config);
return $instance;
}
示例11: getInstance
public static function getInstance(KConfigInterface $config, KServiceInterface $container)
{
$identifier = clone $config->service_identifier;
if ($config->data && $config->data->identifier) {
$id = new KServiceIdentifier($config->data->identifier);
if ($id->type === 'com') {
$identifier->package = $id->package;
}
}
$identifier = $container->getIdentifier($identifier);
if ($identifier->classname != 'KDatabaseRowDefault' && class_exists($identifier->classname)) {
$classname = $identifier->classname;
} else {
$classname = 'ComExtmanDatabaseRowExtension';
}
$instance = new $classname($config);
return $instance;
}
示例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)
{
$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;
}
示例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)
{
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);
}
示例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)) {
$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);
}
示例15: 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);
}