欢迎各位兄弟 发布技术文章
这里的技术是共享的
'URL_ROUTER_ON' => true, //开启路由
复制代码
'URL_ROUTE_RULES'=>array(
'news/:year/:month/:day' => array('News/archive', 'status=1'),
'news/:id' => 'News/read',
'news/read/:id' => '/news/:1',
),
复制代码
'路由表达式'=>'路由地址和额外参数'
复制代码
表达式 | 示例 |
---|---|
正则表达式 | /^blog\/(\d+)$/ |
规则表达式 | blog/:id |
'#^blog\/(\d+)$#'
复制代码
'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1&month=:2',
复制代码
'my'=>'Member/myinfo', // 静态地址路由 类似于之前版本的简单路由
'blog/:id'=>'Blog/read', // 静态地址和动态地址结合
'new/:year/:month/:day'=>'News/read', // 静态地址和动态地址结合
':user/:blog_id'=>'Blog/read',// 全动态地址
复制代码
'blog/:id\d'=>'Blog/read',
复制代码
'news/:cate^add|edit|delete'=>'News/category'
复制代码
'new/:cate'=>'News/category'
复制代码
'new/:cate$'=> 'News/category',
复制代码
http://serverName/index.php/new/info
复制代码
http://serverName/index.php/new/info/2
复制代码
'new/:cate'=> 'News/category',
复制代码
定义方式 | 定义格式 |
---|---|
方式1:路由到内部地址(字符串) | '[分组/模块/操作]?额外参数1=值1&额外参数2=值2...' |
方式2:路由到内部地址(数组)参数采用字符串方式 | array('[分组/模块/操作]','额外参数1=值1&额外参数2=值2...') |
方式3:路由到内部地址(数组)参数采用数组方式 | array('[分组/模块/操作]',array('额外参数1'=>'值1','额外参数2'=>'值2'...)) |
方式4:路由到外部地址(字符串)301重定向 | '外部地址' |
方式5:路由到外部地址(数组)可以指定重定向代码 | array('外部地址','重定向代码') |
'blog/:id'=>'/blog/read/id/:1'
复制代码
'blog/:id'=>'blog/read/'
复制代码
'avatar/:id'=>'/member/avatar/id/:1_small'
复制代码
'blog/:id'=>'http://blog.thinkphp.cn/read/:1'
复制代码
'blog/:id'=>'blog/read/?status=1&app_id=5',
'blog/:id'=>array('blog/read/?status=1&app_id=5'),
'blog/:id'=>array('blog/read/','status=1&app_id=5'),
'blog/:id'=>array('blog/read/',array('status'=>1,'app_id'=>5)),
复制代码
class NewsAction extends Action{
public function read(){
$New = M('New');
if(isset($_GET['id'])) {
// 根据id查询结果
$data = $New->find($_GET['id']);
}elseif(isset($_GET['name'])){
// 根据name查询结果
$data = $New->getByName($_GET['name']);
}
$this->data = $data;
$this->display();
}
public function archive(){
$New = M('New');
$year = $_GET['year'];
$month = $_GET['month'];
$begin_time = strtotime($year . $month . "01");
$end_time = strtotime("+1 month", $begin_time);
$map['create_time'] = array(array('gt',$begin_time),array('lt',$end_time));
$map['status'] = 1;
$list = $New->where($map)->select();
$this->list = $list;
$this->display();
}
}
复制代码
'URL_ROUTE_RULES' => array( //定义路由规则
'new/:id\d' => 'News/read',
'new/:name' => 'News/read',
'new/:year\d/:month\d' => 'News/archive',
),
复制代码
http://serverName/index.php/new/8
复制代码
http://serverName/index.php/News/read/id/8
复制代码
http://serverName/index.php/new/hello
复制代码
http://serverName/index.php/News/read/name/hello
复制代码
http://serverName/index.php/new/2012/03
复制代码
http://serverName/index.php/News/archive/year/2012/month/03
复制代码
'URL_ROUTE_RULES' => array( //定义路由规则
'new/:year\d/:month\d' => 'News/archive',
'new/:id\d' => 'News/read',
'new/:name' => 'News/read',
),
复制代码
http://serverName/index.php/new/2012/03
复制代码
'URL_ROUTE_RULES' => array( //定义路由规则
'new/:id\d$' => 'News/read',
'new/:name$' => 'News/read',
'new/:year\d/:month\d$' => 'News/archive',
),
复制代码
http://serverName/index.php/new/2012/03/01
复制代码
'URL_ROUTE_RULES' => array( //定义路由规则
'/^new\/(\d+)$/' => 'News/read?id=:1',
'/^new\/(\w+)$/' => 'News/read?name=:1',
'/^new\/(\d{4})\/(\d{2})$/' => 'News/achive?year=:1&month=:2',
),
复制代码
public function read($id=15){
$Form = M("Form");
$data = $Form->where('id=17')->select();
$this->data = $data;
$this->display();
}
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
<table>
<tr>
<td>id:</td>
<td>{$data.id}</td>
</tr>
<tr>
<td>标题:</td>
<td>{$data.title}</td>
</tr>
<tr>
<td>内容:</td>
<td>{$data.content}</td>
</tr>
</table>
复制代码
复制代码
复制代码
复制代码
复制代码
复制代码