} /** * FeiCore * FeiPHP应用框架的系统执行程序 */ // 定义系统路径 if (!defined('Fei_PATH')) { define('Fei_PATH', dirname(__FILE__) . '/FeiPHP'); } if (!defined('APP_PATH')) { define('APP_PATH', dirname(__FILE__) . '/app'); } // 载入核心函数库 require Fei_PATH . "/FeiFunctions.php"; // 载入配置文件 $GLOBALS['G_Fei'] = FeiConfigReady(require Fei_PATH . "/FeiConfig.php", $FeiConfig); // 根据配置文件进行一些全局变量的定义 if ('debug' == $GLOBALS['G_Fei']['mode']) { define("Fei_DEBUG", TRUE); // 当前正在调试模式下 } else { define("Fei_DEBUG", FALSE); // 当前正在部署模式下 } // 如果是调试模式,打开警告输出 if (Fei_DEBUG) { if (substr(PHP_VERSION, 0, 3) == "5.3") { error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED); } else { error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); }
/** * FeiConfigReady 快速将用户配置覆盖到框架默认配置 * @param preconfig 默认配置 * @param useconfig 用户配置 */ function FeiConfigReady($preconfig, $useconfig = NULL) { $nowconfig = $preconfig; if (is_array($useconfig)) { foreach ($useconfig as $key => $val) { if (is_array($useconfig[$key])) { @($nowconfig[$key] = is_array($nowconfig[$key]) ? FeiConfigReady($nowconfig[$key], $useconfig[$key]) : $useconfig[$key]); } else { @($nowconfig[$key] = $val); } } } return $nowconfig; }
/** * 替换数据,根据条件替换存在的记录,如记录不存在,则将条件与替换数据相加并新增一条记录。 * @param conditions 数组形式,查找条件,请注意,仅能使用数组作为该条件! * @param row 数组形式,修改的数据 */ public function replace($conditions, $row) { if ($this->find($conditions)) { return $this->update($conditions, $row); } else { if (!is_array($conditions)) { FeiError('replace方法的条件务必是数组形式!'); } $rows = FeiConfigReady($conditions, $row); return $this->create($rows); } }