本文整理汇总了PHP中PluginManager::plugins方法的典型用法代码示例。如果您正苦于以下问题:PHP PluginManager::plugins方法的具体用法?PHP PluginManager::plugins怎么用?PHP PluginManager::plugins使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PluginManager
的用法示例。
在下文中一共展示了PluginManager::plugins方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInstalledPlugins
/**
* Gather installed plugins
*
* @return array of Plugin child classes instances
*/
public static function getInstalledPlugins()
{
if (is_null(self::$plugins)) {
self::$plugins = array();
$file = self::getPath(self::INSTALLED_PLUGINS_FILE);
if (!file_exists($file)) {
return array();
}
$metadata = json_decode(file_get_contents($file));
foreach ($metadata as $name => $data) {
$path = self::getPath($name . '/');
if (!is_dir($path)) {
throw new PluginNotFoundException($name);
}
$class = $name . 'Plugin';
if (!class_exists($class)) {
continue;
}
self::$plugins[$name] = array('class' => $class, 'path' => $path, 'enabled' => call_user_func($class . '::getConfig', 'enabled'), 'meta' => (array) $data);
}
}
return self::$plugins;
}