本文整理汇总了PHP中KalturaPluginManager::pluginInstances方法的典型用法代码示例。如果您正苦于以下问题:PHP KalturaPluginManager::pluginInstances方法的具体用法?PHP KalturaPluginManager::pluginInstances怎么用?PHP KalturaPluginManager::pluginInstances使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KalturaPluginManager
的用法示例。
在下文中一共展示了KalturaPluginManager::pluginInstances方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPluginInstances
/**
* Returns all instances that implement the requested interface or all of them in not supplied
* @param string $interface
* @return array<KalturaPlugin>
*/
public static function getPluginInstances($interface = null)
{
if (!count(self::$pluginInstances)) {
self::$pluginInstances = array();
$plugins = self::getPlugins();
foreach ($plugins as $pluginName => $pluginClass) {
if (!$pluginClass || !class_exists($pluginClass)) {
continue;
}
if (!self::isValid($pluginClass, array_keys(self::$pluginInstances))) {
continue;
}
self::$pluginInstances[$pluginName] = new $pluginClass();
}
}
if (is_null($interface)) {
return self::$pluginInstances;
}
$instances = array();
foreach (self::$pluginInstances as $pluginInstance) {
if ($pluginInstance instanceof IKalturaPlugin) {
$instance = $pluginInstance->getInstance($interface);
if ($instance) {
$instances[strtolower($pluginInstance->getPluginName())] = $instance;
}
}
}
return $instances;
}