tp5总结(二)
1.简化路由【一方面可以更好的让搜索引擎抓取;另一方面简化路由,利于记忆】
1-1.在【public/】下面创建admin.php 复制index.php 然后绑定前后台模块define('BIND_MODEL','admin')和define('BIND_MODEL',index')
eg:http://ww:7070/tp5-2/public/admin和http://ww:7070/tp5-2/public/index
1-2. 隐藏入口文件
开启Apache的配置文件,将LoadModule rewrite_module modules/mod_rewrite.so前面的注释去掉
eg:http://ww:7070/tp5-2/public/index/index
1-3.隐藏public,将index.php入口文件放在根目录下,并且修改相对路径
2.路由
2-1.关闭后台模块的路由:public/admin后面写 【\think\app:route(false)】
2-2.路由模式,修改config.php [url_route_on和url_route_must]
2-3.修改route.php来修改路由
2-3-1.静态路由 eg:http://ww:7070/tp5-2/
use \think\Route;
Route::rule('/','admin/index/index');
2-3-2.动态静态组合
2-3-3.所有路由
<?php
//配置文件注册方式
//return [
// '__pattern__' => [
// 'name' => '\w+',
// ],
// '[hello]' => [
// ':id' => ['Index/hello', ['method' => 'get'], ['id' => '\d+']],
// ':name' => ['Index/hello', ['method' => 'post']],
// ],
//
//];
use think\Route;
Route::rule('/','Index/Index/index1');
Route::rule('canshu/:id','Index/Index/canshu');//带一个参数
Route::rule('time/:year/:month','Index/Index/time');//带两个个参数
Route::rule('kexuan/:year/[:month]','Index/Index/kexuan');//带两可选参数
Route::rule(':a/:b','Index/Index/dongtai');//全动态路由[不建议用]
Route::rule('wanquan$','Index/Index/wanquan');//全动态路由[不建议用] //设定路由类型
// Route::rule('type','Index/Index/type','post|get');//即支持get又2支持post //支持所有 //Route::rule('type','Index/Index/type','*');//支持所有
//Route::any('type','Index/Index/type');//支持所有 //put请求
//Route::rule('type','Index/Index/type','put'); //批量注册
//Route::rule([
// 'd1'=>'admin/index/test1',
// 'd2'=>'admin/index/test2'
//],'','get');
Route::get([
'd1'=>'admin/index/test1',
'd2'=>'admin/index/test2'
]); //路由规则
Route::rule('d3/:id','admin/index/test3','get',[],['id'=>'\s+']);//参数必须是数字
//Route::rule('d3/:id','admin/index/test3',[],['id'=>'\d{1,3}']);//参数必须是数字1-3位 //资源路由 会默认注册七个路由规则 index
Route::resource('myblog','index/myblog'); //快捷路由
//Route::controller('myblog','index/myblog');
3.路由地址生成 eg:http://ww:7070/tp5-2/public/myblog
tp5总结(二)的更多相关文章
- php(tp5) 生成二维码
phpqrcode类库官网下载地址:https://sourceforge.net/projects/phpqrcode/ 1.我们先看看php是怎么生成二维码的 1.首先我们先下载一下 phpqr ...
- TP5 生成二维码
首先下载这个类:http://phpqrcode.sourceforge.net/ 把下载的文件放到vendor下面 public function getWchatQrcode($users_id= ...
- tp3.x和tp 5的区别
由于TP5.0是一个全新的颠覆重构版本,所以现在面试很多面试官喜欢问TP3.2和TP5之间的区别,那他们之间到底有哪些区别呢?一.目录 TP5目录 二.需要摒弃的 3.X 旧思想 模型的变动 ...
- TP5学习基础二:目录结构、URL路由、数据操作
一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)-&g ...
- 百度编辑器前后端二开图片上传Js Thinkphp tp5 ueditor
百度编辑器图片上传Jsueditor.all.min.js 下载链接 链接:https://pan.baidu.com/s/1VNgw9ELgRRHKeCQheFkQTw 提取码:fnfi 使用方法: ...
- tp5生成小程序推广二维码
//获取用户经销商信息 及生成推广二维码 public function qrcode() { //拿到openid 查找用户表内是否有该用户 没有则拒绝生成二维码 有则查看是否已生成二维码 有生成则 ...
- tp5 thinkphp 使用phpqrcode生成带Logo的二维码
1 下载生成二维码类库 composer require aferrandini/phpqrcode 2 点击按钮下载 //二维码下载 public function down_qrcode() { ...
- TP5.0源生Excel导出
PHPExcel类在TP5里边并不能很好的兼容,使用起来很麻烦. 不像是tp3.2那样直接import()加进来就能new,因为它里边的命名空间找不到.总是说undefined class. 如果是使 ...
- tp5框架的获取器
tp5的获取器功能很强大,一下子就喜欢上了,你可以在模块里任意定义表里不存在的字段,在前台调用很方便.话不多说直接上demo: 1.命名规则 get + 属性名的驼峰命名+ Attr 直接就能在m ...
随机推荐
- IOS使用mkdir创建目录
在IOS真机上可以创建目录的位置只有两个Documents和Caches,如果直接在NSHomeDirectory()上创建目录,会失败,返回的errno含义为操作被禁止. 获取Caches中的一个目 ...
- bootstrap-switch与angularjs结合使用
bootstrap-switch和angularjs结合使用 由于angularjs的dom操作总是先执行,导致$(input[name="switch"])找不到元素,所以使用d ...
- 2017 清北济南考前刷题Day 1 afternoon
期望得分:80+30+70=180 实际得分:10+30+70=110 T1 水题(water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水 ...
- GitHub更新已经fork的项目
clone 自己的 fork 分支到本地 可以直接使用 GitHub 客户端,clone 到本地,如果使用命令行,命令为: $ git clone git@github.com:morethink/g ...
- soj1046. Plane Spotting
1046. Plane Spotting Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Craig is fond o ...
- 用Emacs看电影
大多数人用emacs听歌,我却喜欢用emacs看电影.用 EMMS 和 mplayer 结合,看电影真是太方便了. 不要从源里安装EMMS,它可能给你安装别的播放器,没必要,我们有 mplayer 足 ...
- laravel 和 thinkphp 条件查询的区别
laravel:以二维数组形式where查询,可以为空,即,该条where不运行: thinkphp:以字符串形式查询,不能为空.
- STL-pair
每个pair 可以存储两个值.这两种值无限制. 定义 pair<int,char> p; pair<string,int> p; pair<int,int> p; ...
- python类和对象-扩展
1.为类或对象动态创建属性或方法 2.__slots__ = ('name','age'),[实例]只能创建指定的属性属性或方法 ---新式类 3.执行父类的构造函数的不同Father.__init_ ...
- jquery 根据后台传过来的值动态设置下拉框、单选框选中
更多内容推荐微信公众号,欢迎关注: jquery 根据后台传过来的值动态设置下拉框.单选框选中 $(function(){ var sex=$("#sex").val(); va ...