/** * 禁止单例对象 */ protected final function __construct() { // PUT和DETELE方法支持 if (($putOrDelete = array()) || IS_PUT || IS_DELETE) { parse_str(file_get_contents('php://input'), $putOrDelete); } // 输入数据源 $this->setYafRequest(); $params = array_merge($this->getYafRequest()->getParams(), $putOrDelete, $_REQUEST); // 获取检查规则 $xml = sprintf('%sforms%s%s%s%s.xml', MODULE_PATH, DS, strtolower(CONTROLLER_NAME), DS, strtolower(ACTION_NAME)); if (is_file($xml)) { // 读取xml文件 $simpleXMLElements = @simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA); if (!$simpleXMLElements) { throw new \Exception("{$xml}语法有误"); } // 进行表单检查 $fromTrait = new Form($params, $this->getYafRequest()->getMethod()); $fromTrait->useXmlRule($simpleXMLElements)->filter(); $params = $fromTrait->getSuccess(); } $this->setParams($params); }