function eqphp_autoload($class) { if (isset($_SERVER['REQUEST_URI'])) { $root = current(explode('/', trim($_SERVER['REQUEST_URI'], '/'))); } //optimize: $config save memcache or redis $group = config('group.list'); $path = isset($root) && is_array($group) && in_array($root, $group) ? $root . '/' : ''; $module = array('a' => $path . 'action', 'm' => $path . 'model', 'p' => $path . 'plugin', 's' => 'server'); $prefix = substr($class, 0, strpos($class, '_')); $dir_name = in_array($prefix, array('a', 'm', 's', 'p')) ? $module[$prefix] : 'class'; $execute_file = $dir_name . '/' . $class . '.php'; if (file_exists($execute_file)) { return include PATH_ROOT . $execute_file; } //通用加载 if (config('state.common_load') && in_array($prefix, array('a', 'm'), true)) { $common_option = array('a' => 'action/', 'm' => 'model/'); $execute_file = PATH_ROOT . $common_option[$prefix] . $class . '.php'; if (file_exists($execute_file)) { return include $execute_file; } } //贪婪加载 if (config('state.greedy_load')) { $execute_file = file::search(PATH_ROOT . $dir_name, $class, $file_list, true); if ($execute_file) { return include $execute_file; } } if ($prefix === 'a') { logger::notice('class [' . $class . '] not found'); http::send(404); } }
public function filter($filter) { if (is_array($filter)) { foreach ($filter as $k => $v) { if (!isset($this->schema['columns'][$k])) { logger::notice('存在未知过滤字段:' . $k); unset($filter[$k]); } } } return base_db_tools::filter2sql($filter); }