/** * * @param array $data 需要进入数据的值 * @param array $validateVal 需要验证的自动以及验证的方法 */ public static function run($data, $validateVal, $attribute, $modelAction, $model) { self::$data = $data; self::$attribute = $attribute; self::$validateVal = $validateVal; self::$modelAction = $modelAction; self::$model = $model; if (count($validateVal) < 2) { debug::pause('模型验证规则填写有误'); } $field = explode(',', $validateVal[0]); $validate = $validateVal[1]; foreach ($field as $val) { self::$validate($val); } }
public function init($config) { if (!extension_loaded('Memcache')) { debug::pause('memcache扩展没有安装'); } if (!empty($config['server'])) { $this->obj = new Memcache(); if ($config['pconnect']) { $connect = @$this->obj->pconnect($config['server'], $config['port']); } else { $connect = @$this->obj->connect($config['server'], $config['port']); } if (!$connect) { debug::pause('memcache 无法连接'); } } }
/** * 返回核心类对象 */ function fpClass($name) { static $libArray = array(); if (isset($libArray[$name])) { return $libArray[$name]; } else { if (file_exists(APP_PATH . 'extlib/' . $name . '.class.php')) { include_once APP_PATH . 'extlib/' . $name . '.class.php'; } else { if (file_exists(FIREZP_PATH . 'lib/' . $name . '.class.php')) { include_once FIREZP_PATH . 'lib/' . $name . '.class.php'; } else { debug::pause($name . '.class.php 文件不存在'); } } $class = new $name(); $libArray[$name] = $class; return $class; } }
/** * 定义系统常量 */ private static function define($config) { if (!isset($config['app'])) { debug::pause('项目没有定义,请在引用文件添加代码如 $appHomeConf=array("app"=>"/app");firezp::run($appHomeConf);'); } if (isset($config['debug']) && $config['debug'] == 1) { define('DEBUG', 1); } else { define('DEBUG', 0); } define('FIREZP_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR); //框架应用路径 define("APP_PATH", dirname($_SERVER['SCRIPT_FILENAME']) . DIRECTORY_SEPARATOR . ltrim($config['app'], '/') . DIRECTORY_SEPARATOR); //用户项目的应用路径 define("ROOT_PATH", dirname(FIREZP_PATH) . DIRECTORY_SEPARATOR); //项目的根路径,也就是框架所在的目录 }
public function halt($message = '', $sql = '') { if (DEBUG == 1) { debug::add($message . ": <font color='green'>" . $sql . '</font>'); } else { debug::pause($message . ": <font color='green'>" . $sql . '</font>'); } }
/** * 项目结构化 */ public static function make() { //runtime在所有项目的公共地方 self::mkdir(array(APP_PATH, APP_PATH . 'runtime/', APP_PATH, APP_PATH . 'extlib/', APP_PATH . 'runtime/cache/', APP_PATH . 'runtime/cache/tpl', APP_PATH . 'runtime/temp/', APP_PATH . 'statics/', APP_PATH . 'statics/js/', APP_PATH . 'statics/images/', APP_PATH . 'statics/css/')); $flagFile = APP_PATH . "runtime/flag.php"; if (!file_exists($flagFile)) { $uuid = uniqid(); //生成目录 self::mkdir(array(APP_PATH . 'conf/', APP_PATH . 'controller/', APP_PATH . 'model/', APP_PATH . 'view/', APP_PATH . 'view/default', APP_PATH . 'common/')); $funcStr = <<<MARK <?php //你可以在该文件定义自己的函数 \t\t\t \t\t\t\t \t\t\t\t\t ?> MARK; if (!file_exists(APP_PATH . 'common/function.inc.php')) { file_put_contents(APP_PATH . 'common/function.inc.php', $funcStr); } $confStr = <<<conf <?php return array( \t\t\t\t\t \t\t\t//你可以在这里进行配置\t\t \t\t\t'autokey' => '{$uuid}',//不能删除全站唯一识别id\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t); \t\t\t \t\t ?> conf; if (!file_exists(APP_PATH . 'conf/confing.inc.php')) { file_put_contents(APP_PATH . 'conf/confing.inc.php', $confStr); } $controllerfStr = <<<action <?php /** * index控制器 */ class indexController extends controller { \t\t \tpublic function indexAction(){ \t\techo '欢迎使用firezp框架!'; \t} \t\t } \t\t \t\t\t ?> action; if (!file_exists(APP_PATH . 'controller/indexController.php')) { file_put_contents(APP_PATH . 'controller/indexController.php', $controllerfStr); } file_put_contents($flagFile, ''); } else { //uuid存在判断 if (!C('autokey')) { debug::pause("请在配置文件配置全站uuid,格式如 'autokey'=>'这里可以随便你填'"); } } }