今天下载了最新的 thinkphp5.0.9看来来!之前一直都是用thinkphp3.2.3!而且tp5都是0.9了 应该没有多大的改动了!!来试试水......
一试就来问题了! 设置空控制器 不能直接访问了! 因为官方手册上面说!
少说废话,多思考.....下面来说根据官方手册+路由手册 整理出口 隐藏模块 直接访问控制方法
TP5.0的路由是针对【应用】而不是【模块】的,所以在模块中配置路由是无效的!现在配置文件配置:[以下配置可以根据个人爱好]
'empty_controller' => 'Empty', //默认是Error
'controller_suffix' => true, //默认是false,开启控制器就是IndexController
'route_config_file' => ['home'], // 默认是route 设置为home 因为我的模块是home1.新建一个空控制器 EmptyControllernamespace app\home\controller;
class EmptyController extends BaseController {
public function _empty(){
echo request()->url()."
"; //当前地址
echo request()->module()."-".request()->controller()."-".request()->action(); //模型、控制器、方法
}2.在/app/home.phpreturn [
'' => 'home/index/index', //首页
':controller'=>'home/:controller/:action', //控制器方法
];现在你可要访问任何地址:[前提你设置了 伪静态] 那请看官方手册上面说的很Good的
到这里 是可以访问控制器了!但是 我访问后台的时候!如图......还是路由设置
来看看路由手册:
所有只要在 /public/usezan.php [usezan 是模块目录名称] 新建usezan.php// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../app/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/base.php';
// 绑定当前入口文件到admin模块
\think\Route::bind('usezan');
// 关闭admin模块的路由
\think\App::route(false);
// 执行应用
\think\App::run()->send();现在再来 访问后台地址: 访问请记得带上.php 后缀....不然默认还是走路由路线(ˇˍˇ) !
到这里 配置就完成了!如果你们需求更加强大的!!!手册上面应该都能满足的。
现在测试 访问随机的字符 就可以看到
是可以正常分页的!但是对于参数 过多的情况感觉 不是很满意 例如:
所以根据TP5分页 直接写了一个分页类 ,来看看地址变化:
个人比较喜欢这种分页 无论多复杂的 页面都能根据自己定义!就像Ajax 那就更简单了!!!哈哈哈哈。
还有一点大家要注意的地方就是 图片问题了!如果你操作还是想TP3.2.+ 将图片放在跟目录
那么 你页面输出图片的时候 就会看到!!!图片不显示了!
我们用控制台的方式打开来看看是什么问题呢:
会报错了!而且是找不到模板了....
我们来分析一下 我们设置的路由规则是:
那么相对 路径 /uploads/20160214/1455459632137430.png 它也在路由规则匹配中~~~
解决这种问题 官方已经有了 那就是将静态文件以及图片之类什么的 放在/static/ 目录中:
我们在static目录下新建 uploads文件夹、如果你的linux[注意记得给文件权限 777]
现在我们再次访问图片可以正常显示了!!!
个人观点:在学习新的东西要多看 官方文档之类的!毕竟是设计者......多多少少会让我们少跳坑!更快的掌握TP5的特性、功能!!