Пример #1
0
 public static function getInstance($path)
 {
     global $plugin;
     $plugin = $path;
     if (!self::$obj instanceof self) {
         self::$obj = new self();
         $dom = new DOMDocument();
         $dom->load(dirname(__FILE__) . "/{$path}/actions.xml");
         if (@$dom->validate()) {
             $packages = $dom->getElementsByTagName("package");
             foreach ($packages as $package) {
                 $actions = $package->getElementsByTagName('action');
                 $action_tem = array();
                 foreach ($actions as $action) {
                     $action_tem['file'] = $action->getAttributeNode('file')->value;
                     unset($action_tem['class']);
                     if ($action->hasAttribute('class')) {
                         $action_tem['class'] = $action->getAttributeNode('class')->value;
                     }
                     $action_tem['method'] = $action->getAttributeNode('method')->value;
                     $returns = $action->getElementsByTagName('return');
                     $return_tem = array();
                     foreach ($returns as $return) {
                         $return_tem[$return->getAttributeNode('name')->value] = $return->nodeValue;
                     }
                     $action_tem['returns'] = $return_tem;
                     self::$action_info[$package->getAttributeNode('name')->value . '_' . $action->getAttributeNode('name')->value] = $action_tem;
                 }
                 //	var_dump( self::$action_info);
             }
         } else {
             echo "此XML文件不符合规范!";
             exit;
         }
     }
     return self::$obj;
 }