02-21-2012, 09:23 AM
[eluser]Unknown[/eluser]
Dear ALL,
Do not know the two kinds of ways to see the CI route is how to play my impression
1.config/routes.php manually add
2.Gocart type
Tonight, I suddenly found that, routing can be set up
1.Modify CI_Route
2.congif hook
3.add file bootstrap.php location APPPATH.'bootstrap.php'
Any time you want to modify the routing to direct calls
Dear ALL,
Do not know the two kinds of ways to see the CI route is how to play my impression
1.config/routes.php manually add
2.Gocart type
Code:
include('database.php');
if($db[$active_group]['pconnect'])
{
mysql_pconnect($db[$active_group]['hostname'],$db[$active_group]['username'],$db[$active_group]['password']);
}
else
{
mysql_connect($db[$active_group]['hostname'],$db[$active_group]['username'],$db[$active_group]['password']);
}
mysql_select_db($db[$active_group]['database']) or die("Unable to select database");
$routes = mysql_query('SELECT * FROM '.$db[$active_group]['dbprefix'].'routes');
while($row = mysql_fetch_array($routes))
{
//if "category" is in the route, then add some stuff for pagination
if(strpos($row['route'], 'category'))
{
$route[$row['slug']] = $row['route'];
$row['slug'] .= '/(:num)';
$row['route'] .= '/$1';
}
$route[$row['slug']] = $row['route'];
}
1.Modify CI_Route
Code:
/*add set*/
public function set($key, $value)
{
if ( ! isset($this->routes[$key]))
{
$this->routes[$key] = $value;
}
}
/*_set_routing assign value use self::set function*/
$routes = ( ! isset($route) OR ! is_array($route)) ? array() : $route;
if (count($routes) > 0)
{
foreach ($routes as $key => $value)
{
self::set($key, $value);
}
}
Code:
$hook['pre_system'] = array(
'class' => 'bootstrap',
'function' => 'route_setup',
'filename' => 'bootstrap.php',
'filepath' => '.');
Code:
class bootstrap
{
public function __construct()
{
}
/*config route */
public function route_setup()
{
/*add route*/
$RTX = & load_class('Router', 'core');
$RTX->set($key,$value);
}
}