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; }