public function loadClass($class_name) { $debug = $this->getSandbox()->isDebug(); $class_name = us($class_name); $class_paths = self::$class_paths; // フレームワークのクラスではない場合はFALSEを返却 if (!isset($class_paths[$class_name])) { // log_info( "system,debug,class_loader", "class_loader", "[FrameworkClassLoader] Can not load class: [$class_name]" ); if ($debug) { echo "Class NOT found in framework class loader: {$class_name}" . eol(); } return FALSE; } // クラス名からクラスパスを取得 $file_name = $class_name . '.class.php'; $pos = strpos($file_name, 'Charcoal_'); if ($pos !== FALSE) { $file_name = substr($file_name, $pos + 9); } $class_path = CHARCOAL_HOME . '/src/' . $class_paths[$class_name] . '/' . $file_name; // log_info( "system,debug,class_loader", "class_loader", "[FrameworkClassLoader] class_path=[$class_path] class_name=[$class_name]" ); // ソース読み込み Charcoal_Framework::loadSourceFile($class_path); if ($debug) { echo "Class found in framework class loader: {$class_name}" . eol(); } return TRUE; }
private function loadEvent($obj_path, $path, $task_manager) { // Charcoal_ParamTrait::validateObjectPath( 1, $obj_path ); // Charcoal_ParamTrait::validateString( 2, $path ); // Charcoal_ParamTrait::validateImplements( 3, 'Charcoal_ITaskManager', $task_manager ); // file base name //$base_name = basename( $path ); // retrieve class name from file name //$pos = strpos( $base_name, '.class.php' ); //$class_name = substr( $base_name, 0, $pos ); // include source file Charcoal_Framework::loadSourceFile($path); /* // create new instance $klass = new Charcoal_Class( $class_name ); $event = $klass->newInstance(); log_info( 'system, event, debug', "module", "created event[$event] in module[$obj_path]"); // build object path for the event $obj_name = $event->getObjectName(); $event_path = $obj_name . '@' . $obj_path->getVirtualPath(); // $event_path = new Charcoal_ObjectPath( $event_path ); // log_info( 'system, event, debug', "module", "event[$event] path: [$event_path]"); // set task property $event->setObjectPath( $event_path ); $event->setTypeName( 'event' ); // load object config $config = Charcoal_ConfigLoader::loadConfig( $this->getSandbox(), $event_path, 'event' ); $config = new Charcoal_Config( $this->getSandbox()->getEnvironment(), $config ); // configure event $event->configure( $config ); // log_info( 'system, event, debug', "module", "event[$event] configured."); */ return $obj_path; }