env(); $sgbds = array(); $impls_dir = $env->app_file("data/impl"); if(!file_exists($impls_dir) || !is_dir($impls_dir)){ return false; } if($dh = opendir($impls_dir)){ $OK = true; while($OK && ($impl_file = readdir($dh)) !== false){ if(substr($impl_file, 0 ,1) !== "." && substr($impl_file, -4) == ".php"){ require_once $impls_dir."/".$impl_file; if(class_exists($class_name = substr($impl_file, 0, -4))){ if( method_exists($class_name, "name") && method_exists($class_name, "extention_ok") ){ $impl = new $class_name($env); if($impl->extention_ok($env)) $sgbds[$class_name] = $impl; } } } } } else{ return false; } return $sgbds; } }