本文整理匯總了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;
}