本文整理汇总了PHP中plugin::readDir方法的典型用法代码示例。如果您正苦于以下问题:PHP plugin::readDir方法的具体用法?PHP plugin::readDir怎么用?PHP plugin::readDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类plugin
的用法示例。
在下文中一共展示了plugin::readDir方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: readDir
public static function readDir($resource)
{
if (self::$readDir) {
return self::$readDir;
}
$resource = str_replace("\\", "/", $resource);
$dirs = scandir($resource);
unset($dirs[0], $dirs[1]);
$new = array();
$ajax = ajax();
foreach ($dirs as $k => $v) {
$name = preg_replace("/\\..+\$/", '', $v);
if (isset($new[$name])) {
continue;
}
$obj = new ext($v);
$obj->file = "{$v}.js";
$obj->method = $v;
if (is_dir($resource . $v)) {
self::$_dirs[$name] = $resource . $v . '/';
$dir = self::$_dirs[$name];
if (file_exists($f = "{$dir}{$v}.php")) {
require_once $f;
$class = $v;
$parent = get_parent_class($class);
if (!class_exists($class)) {
$class = 'plugin_' . $v;
} else {
if ($parent != 'plugin') {
$class = 'plugin_' . $v;
}
}
if (class_exists($class)) {
$vars = get_class_vars($class);
if (isset($vars['file'])) {
$obj->file = $vars['file'];
$obj->method = preg_replace(array("/\\..+\$/", "/\\.js\$/"), '', $obj->file);
}
self::$_instances_exist[$v] = $class;
if (method_exists($class, 'autoload')) {
call_user_func(array($class, 'autoload'));
}
if (!$ajax->isAjaxRequest()) {
if (method_exists($class, 'PageAutoload')) {
call_user_func(array($class, 'PageAutoload'));
}
} else {
if (method_exists($class, 'AjaxAutoload')) {
call_user_func(array($class, 'AjaxAutoload'));
}
}
}
}
$obj->file = "{$v}/{$obj->file}";
$new[$name] = $obj;
} else {
self::$_dirs[$name] = $resource;
$new[$name] = $obj;
$dir = $resource;
}
}
return self::$readDir = $new;
}