-
Request.php有更多可供参考
helper.php中创建函数的方法的值得学习,先判断一下是否存在
tp5用$rquest->param()获取传递过来的参数,如果参数有重复的情况会覆盖,覆盖的规则如下:pathinfo参数会覆盖post中的参数,post中的参数会覆盖get中的参数。
1、input助手函数也是获取对象里面的参数. input('传递方式','参数','对参数过滤')
注意获取请求的参数值,尽可能带上请求的方式,如:input(get.id) ,如果获取的值不存在时,可通过第二个值进行默认值设置,第三个值用来过滤获取的值,例如可将值转换成intval
2、同时也可以通过request对象下的相关方法获取对应的参数或值,来对值进行相关操作
< ?php namespace app\index\controller; use think\Request; class Index { public function index(Request $request) { //dump($request->param());//param方法会返回post,get,pathinfo传递的所有值,即合并 //http://localhost/imooc/public/index/index/index/type/5.html?id=10 //$res = input('get.id');//10 //dump($request->get('id'));//10 //$res = input('post.id','100');//没有则默认100,结果100 //dump($request->post('id','100'));//100 //$res = input('post.id','abc','intval');//没有则默认100,结果100 //dump($request->post('id','100'));//100 #获取类型 //'get', 'post', //'put', 'patch', //'delete', 'param', //'request', 'session', //'cookie', 'server', //'env', 'path', 'file' //通过input助手函数对request中参数进行获取,#建议使用request对象(Request $request)#,避免重复定义相同函数 //$res = input('patch.id'); //session('emial','987@qq.com'); //dump(input('session.emial')); //dump(input('session.emials','imooc@qq.com'));//不存在默认imooc session('ss',' 123 '); $res = $request->session('ss','','trim');//trim过滤前后空格 dump($res); } }
查看全部 -
操作对应:
查看全部 -
隐藏页面类型:
查看全部 -
<?php namespace app\index\controller; use think\request;//引用think下的request类 class Index { public function index(Request $request){ dump($request->domain());//获取域名 dump($request->pathinfo());//获取路径信息,类、控制器、方法、参数,包含自定西页面类型 dump($request->path());//同上一条,不过不包含后缀 dump($request->method());获取请求方式(get/post) dump($request->isGet/isPost/Ajax);//判断请求方式是否为get/post/ajax dump($request->get());//得到一个数组(通过get方式传递的,不包含pathinfo中的传值),键为参数名,值为键值 } }
查看全部 -
获取对象:
查看全部 -
url_route_must:
false:未配置路由则使用默认方式访问,配置了则采用路由方式访问;
true:无论是否配置,必须采用路由方式访问!
url()助手函数,当采用路由时,可将页面上的默认访问URL改为路由访问URL。
查看全部 -
路由:url简化
查看全部 -
使用路由要先在应用配置文件中开启debug:
在config.php中加'app_debug' =>true。
查看全部 -
MVC的变形
查看全部 -
MVC的优势
查看全部 -
生成api接口,给人看到想看到的模块
入口文件绑定
绑定模块一般用于API接口生成等,适用于小型企业网站,一个控制器够用的情况,大型项目不建议使用。
开启thinkphp绑定模块,方法2种:
1. 在public下新建api.php文件
<?php // 定义应用目录 define('APP_PATH', __DIR__ . '/../app/'); define('CONF_PATH', __DIR__ . '/../conf/'); // 加载框架引导文件 require (__DIR__ . '/../thinkphp/start.php');
新建与php文件相同名字的模块api。在public下可创建多个入口文件,可实现不同入口文件访问不同模块。入口文件名与模块文件名相同时,自动访问与之对应的模块。
conf->config.php 配置自动绑定 auto_bind_module" => true 相当于public下api.php文件define("BIND_MODULE","api");
当访问localhost/api.php时只能访问api模块下的内容,不可以访问其他模块
2. 手动绑定:模块->控制器->方法
public\index.php//入口文件指定默认模块 define('BIND_MODULE','admin');//定义此常量,访问public/admin.php入口文件时,则默认绑定admin模块,可以访问控制器->方法 define('BIND_MODULE','admin/index');//绑定admin模块index.php文件(只能传递方法)
查看全部 -
绑定模块:define('BIND_MODULE','模块名[/控制器[/方法]]');
查看全部 -
env
查看全部 -
Env不显示的问题,需要在base.php中 putenv的同时,将数据也写入$_ENV,就可以解决了
打开跟目录下的base.php文件修改。54行左右
putenv("$name=$val");
//写入环境变量,才能在打印$_ENV文件的时候显示出来配置的环境变量
$_ENV[$name]=$val;查看全部 -
获取配置参数【一级】:config('配置参数')
读取二级参数【二级】:config('配置参数.二级参数')
检测配置参数是否存在:config('?配置参数');
设置配置参数:config('配置参数'.'参数值','作用域')。
查看全部
举报