public function __call($name, $args) { if (in_array($name, $GLOBALS['G_DY']["auto_load_controller"])) { return syClass($name)->__input($args); } elseif (!method_exists($this, $name)) { syError("方法 {$name}未定义!<br />请检查是否控制器类(" . get_class($this) . ")与数据模型类重名?"); } }
public function display($tplname) { try { $this->addfuncs(); $this->displayed = TRUE; if ($GLOBALS['G_DY']['view']['debugging'] && SP_DEBUG) { $this->engine->debugging = TRUE; } $this->engine->display($tplname); } catch (Exception $e) { syError($GLOBALS['G_DY']['view']['engine_name'] . ' Error: ' . $e->getMessage()); } }
public function exec($sql) { $this->arrSql[] = $sql; if ($result = mysql_query($sql, $this->conn)) { return $result; } else { if (mysql_error() != '') { syError("{$sql}<br />执行错误: " . mysql_error()); } else { return TRUE; } } }
function syClass($class_name, $args = null, $sdir = null, $force_inst = FALSE) { if (preg_match("/^[a-zA-Z0-9_\\-]*\$/", $class_name) == 0) { syError("类定义不存在,请检查。"); } if (TRUE != $force_inst) { if (isset($GLOBALS['G_DY']["inst_class"][$class_name])) { return $GLOBALS['G_DY']["inst_class"][$class_name]; } } if (null != $sdir && !import($sdir) && !import($sdir . '/' . $class_name . '.php')) { return FALSE; } $has_define = FALSE; if (class_exists($class_name, false) || interface_exists($class_name, false)) { $has_define = TRUE; } else { if (TRUE == import($class_name . '.php')) { $has_define = TRUE; } } if (FALSE != $has_define) { $argString = ''; $comma = ''; if (null != $args) { for ($i = 0; $i < count($args); $i++) { $argString .= $comma . "\$args[{$i}]"; $comma = ', '; } } eval("\$GLOBALS['G_DY']['inst_class'][\$class_name]= new \$class_name({$argString});"); return $GLOBALS['G_DY']["inst_class"][$class_name]; } syError($class_name . "类定义不存在,请检查。"); }
private function checkrules($values) { $this->checkvalues = $values; foreach ($this->verifier["rules"] as $rkey => $rval) { $inputval = isset($values[$rkey]) ? $values[$rkey] : ''; foreach ($rval as $rule => $rightval) { if (method_exists($this, $rule)) { if (TRUE == $this->{$rule}($inputval, $rightval)) { continue; } } elseif (null != $this->add_rules && isset($this->add_rules[$rule])) { if (function_exists($this->add_rules[$rule])) { if (TRUE == $this->add_rules[$rule]($inputval, $rightval, $values)) { continue; } } elseif (is_array($this->add_rules[$rule])) { if (TRUE == syClass($this->add_rules[$rule][0])->{$this->add_rules[$rule][1]}($inputval, $rightval, $values)) { continue; } } } else { syError("未知规则:{$rule}"); } $this->messages[$rkey][] = isset($this->verifier["messages"][$rkey][$rule]) ? $this->verifier["messages"][$rkey][$rule] : "{$rule}"; } } return null == $this->messages ? FALSE : $this->messages; }