在我的第一个案例中,我使用的是这样的 Hooks:
require_once APPPATH."config/database.php";
$hook['pre_system'] = array(
'class' => 'Router_Hook',
'function' => 'get_routes',
'filename' => 'Router_Hook.php',
'filepath' => 'hooks',
'params' => array($db['default']['hostname'],$db['default']['username'],$db['default']['password'],$db['default']['database'],$db['default']['dbprefix'],)
);
在我的 router_hook 文件中,我有:
function get_routes($params)
{
global $DB_ROUTES;
mysql_connect($params[0], $params[1], $params[2]);
mysql_select_db($params[3]);
$sql = "SELECT * FROM {$params[4]}routes";
$query = mysql_query($sql);
$routes = array();
while ($route = mysql_fetch_array($query, MYSQL_ASSOC)) {
$routes[$route['route']] = $route['controller'];
}
mysql_free_result($query);
mysql_close();
$DB_ROUTES = $routes;
}
我的路由中包含 config/routes.php 中的全局变量
现在我将它更改为缓存文件夹中的缓存版本 => cache/routes.php 并将其包含在我的 config/routes.php
所以我不再需要我的钩子了 => 性能提升!