use think\facade\Request;Request::param('name');Request::param();全部请求变量 返回数组

Request::param(['name', 'email']); 多个变量

Request::param('a','1') $a不存在使用默认值1Request::param('username','','strip_tags'); 参数过滤 去掉html标签 htmlspecialchars转换成实体入库 strtolower小写

Request::header(); 请求头数组,支持单个 cookieinput("name");Request::session();获取 $_SESSION 变量

Request::cookie();获取 $_COOKIE 变量

Request::server();获取 $_SERVER 变量

Request::env();返回env数组

Request::file();获取 $_FILES 变量Request::baseUrl(); /index/index

Request::host(true); 域名:www.baidu.com,默认无参数包含端口:80Request::url(1); 完整域名和地址 http://tp6.api.shanliwawa.top:80/index/index

Request::domain(1)   http://tp6.api.shanliwawa.top

Request::time()  请求时间戳

Request::app() 应用名 index

Request::controller() 控制器 Index 参数true小写

Request::action() 操作 index 参数true 小写

Request::method(true); 请求类型获取  GET

isGet isPost isPut isDelete isAjax isMobile isHead 判断是否某种类型

Request::has('id','get'); 检测变量id是否存在url('index/hello', ['id'=>5,'name'=>'李白'],'do');  http://tp6.api.shanliwawa.top/index/hello/李白.do?id=5url('index/hello#aa'); 锚点

Cache::set('name', $value, 3600); 1小时后过期

Cache::get('name'); 获取缓存

多缓存类型配置return [

// 缓存类型为File

'type'  =>  'redis',

// 全局缓存有效期(0为永久有效),开发下一定要设置-1 否在刷新后 还在    'expire'=>  -1,

// 缓存前缀

'prefix'=>  'think',

// 缓存目录

'host'       => '127.0.0.1',];return [

// 使用复合缓存类型

'type'  =>  'complex',

// 默认使用的缓存

'default'   =>  [

// 驱动方式

'type'   => 'file',

// 缓存保存目录

'path'   => '../runtime/default',

],

// 文件缓存

'file'   =>  [

// 驱动方式

'type'   => 'file',

// 设置不同的缓存保存目录

'path'   => '../runtime/file/',

],

// redis缓存

'redis'   =>  [

// 驱动方式

'type'   => 'redis',

// 服务器地址

'host'       => '127.0.0.1',

],];use think\facade\Cache;Cache::store('file')->set('name','123',0);$v =   Cache::store('redis')->get('name');

Cache::store('default')->get('name');文件缓存

Cache::delete('name');Cache::clear();Cache::set('name', [1,2,3]);Cache::push('name', 4);Cache::remember('start_time', time()); 不存在则创建

Cache::inc('name',1); 自增1Cache::dec('name',1); 自减1$redis = Cache::handler(); redis对象

配置redis sessionreturn [

'type'       => 'redis',

'prefix'     => 'think',

'auto_start' => true,

// redis主机

'host'       => '127.0.0.1',

// redis端口

'port'       => 6379,

// 密码

'password'   => '',]session('name', ['thinkphp']); 设置支持字符串 数组session('name');获取session('name', null);删除session(null);清空cookie('name', 'value', 3600);

设置不支持数组,序列化后存储cookie('name');cookie('name', null);cookie('think_lang','en-us');//设置语言类型lang('add user error');//翻译config('cache.type') 读取配置Route::get('new/','News/read'); // 定义GET请求路由规则

Route::post('new/','News/update'); // 定义POST请求路由规则

Route::put('new/:id','News/update'); // 定义PUT请求路由规则

Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则

Route::any('new/:id','News/read'); // 所有请求都支持的路由规则->allowCrossDomain();跨域$data=['code'=>200,'msg'=>'信息提示','list'=>['中国']];

json($data);

jsonp($data);

xml($data);

redirect('

redirect('/index/hello/name'); //站内跳转

download('./static/2.xlsx'); 下载

:token_field() 模板中输出令牌

:token_meta() ajax提交

$.ajaxSetup({

headers: {

'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

}});

Route::post('blog/save','blog/save')->token(); 路由中使用验证

think\facade\Validate

$rule = [

'name'  => 'require|max:25',

'age'   => 'number|between:1,120',

'email' => 'email',];$msg = [

'name.require' => '名称必须',

'name.max'     => '名称最多不能超过25个字符',

'age.number'   => '年龄必须是数字',

'age.between'  => '年龄只能在1-120之间',

'email'        => '邮箱格式错误',];$data = [

'name'  => 'thinkphp',

'age'   => 10,

'email' => 'thinkphp@qq.com',];

$validate   = Validate::rule($rule)->message($msg);

$result = $validate->check($data);if(!$result) {

dump($validate->getError());}

路由Route::get('new/','News/read'); // 定义GET请求路由规则Route::post('new/','News/update'); // 定义POST请求路由规则Route::put('new/:id','News/update'); // 定义PUT请求路由规则Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则Route::any('new/:id','News/read'); // 所有请求都支持的路由规则->allowCrossDomain();跨域

输出响应$data=['code'=>200,'msg'=>'信息提示','list'=>['中国']];json($data);jsonp($data);xml($data);redirect('http://www.thinkphp.cn');redirect('/index/hello/name'); //站内跳转download('./static/2.xlsx'); 下载

数据库use think\facade\Db;$rs =Db::name('user')->where('id',1)->find();  查询一条记录 name不含前缀

$rs =Db::table('ims_user')->where('sex', 2)->select(); 多条数据 table含前缀

$rs1 =Db::name('user')->where('id', 1)->value('name'); 查询某个字段值

$rs =Db::table('ims_user')->where('sex', 2)->column('name,id','id'); 返回name,id列,后面是key

$userId = Db::name('user')->insertGetId($data);//插入数据返回idDb::name('user')->limit(100)->insertAll($data); 插入多条数据,分每次100Db::name('user')->where('id', 1)->update(['name' => 'thinkphp']); 更新

Db::table('think_user')->delete(1);Db::table('think_user')->delete([1,2,3]);Db::table('think_user')->where('id',1)->delete();Db::name('user')->delete(true);//清空数据where('id','<>',1)  不等于1  >  >=   like

where("id=:id and username=:name", ['id' => 1 , 'name' => 'thinkphp'])field('id,title,content') 指定字段limit(10,25) 第十条开始25条  单数字返回数据条数page(1,10) 第一页十条order(['id'=>'desc','sex'=>'desc']) 排序group('user_id,test_time') 分组count() max('id') min() avg() sum() 聚合函数whereTime('birthday', '>=', '1970-10-1')  支持

Db::query("select * from think_user where status=1"); 原生查询

Db::execute("update think_user set name='thinkphp' where status=1");//更新插入删除Db::query("select * from think_user where id=? AND status=?", [8, 1]);//绑定$list = Db::name('user')->where('status',1)->paginate(10); 分页每页10条

模型

定义全局常量define('__URL__',\think\facade\Request::domain(1)); http://tp6.api.shanliwawa.topdefine('__ROOT__',\think\facade\app::getRootPath());  系统根目录 C:\www\tp6\define("PRE",config('database.prefix')); 表前缀

绝对路径获取\think\facade\app::getRootPath() 根目录C:\www\tp6\

\think\facade\app::getAppPath()  应用路径  C:\www\tp6\app\index\

\think\facade\app::getConfigPath() 配置路径C:\www\tp6\config\

\think\facade\app::version() 核心版本

记录日志log.php 可添加  'json'=>1 表示json格式trace("日志信息")app.php中 'app_trace'             => true,trace.php改为默认html'type' => 'Console',

上传$file = request()->file('image');

移动到框架应用根目录/uploads/ 目录下

$info = $file->move( '../uploads');

if($info){

成功上传后 获取上传信息

输出 jpg

echo $info->getExtension();

输出 20160820/42a79759f284b767dfcb2a0197904287.jpg

echo $info->getSaveName();

输出 42a79759f284b767dfcb2a0197904287.jpg

echo $info->getFilename();

}else{

上传失败获取错误信息

echo $file->getError();

}

多文件xphr     foreach($files as $file){}

验证,生成带md5文件名

$info = $file->rule('md5')->validate(['size'=>15678,'ext'=>'jpg,png,gif'])->move( '../uploads');

php6 xml,thinkphp6 常用方法文档相关推荐

  1. 使用XML创建Excel文档

    使用XML创建Excel文档            原例子使用VB.Net写的,以下的用C#改写的代码 原文代码: http://www.gotdotnet.com/Community/UserSam ...

  2. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

  3. [Swift通天遁地]七、数据与安全-(2)对XML和HTML文档的快速解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. Caused by: org.xml.sax.SAXParseException: 文档根元素 “component“ 必须匹配 DOCTYPE 根 “null“

    切换了dev分支启动时报错:Caused by: org.xml.sax.SAXParseException: 文档根元素 "component" 必须匹配 DOCTYPE 根 & ...

  5. 火狐浏览器 xml 解析错误:文档元素后存有无效内容_五分钟了解浏览器工作原理...

    作者简介: 李中凯 八年多工作经验 前端负责人, 擅长JavaScript/Vue. 掘金文章专栏:KaysonLi 的个人主页 - 专栏 - 掘金 Web 浏览器无疑是用户访问互联网最常见的入口.浏 ...

  6. xml源文件的文档生成工具--DITA Open Toolkit(DITA-OT)的使用入门

    公司的写作软件是oxygen xml editor,但对于文档的生成一直百思不得其解,除了使用公司定制的发布工具,试过oxygen xml editor的transformation功能,生成的文档很 ...

  7. xml对java通讯录的解析_Dom4j解析xml格式通讯录文档

    JDBC连接数据库,进行DOM4j解析的类: AnalyzeXML.Java package xml; import java.io.File; import java.io.FileInputStr ...

  8. org.xml.sax.SAXParseException: 文档根元素 java-control-panel 必须匹配 DOCT

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35454116/article/ ...

  9. org.xml.sax.SAXParseException 文档根元素 mapper 必须匹配 DOCTYPE 根 configuration

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFa ...

最新文章

  1. 2009江民中国大陆地区计算机网络安全报告
  2. mysql 报错 sql_mode=only_full_group_by 解决方法
  3. 如何不编程,采集网站评论信息?(视频教程)
  4. undefined reference to `__errno‘ 解决办法
  5. 读者问:小公司,但工资高,能去吗?
  6. oracle数据库安装提示M,Python第13课:oracle数据库的安装
  7. 计算机专业女生的就业方向参考
  8. 求1~100以内的素数,最简单的方式
  9. 腾讯PCG推荐系统应用实践
  10. 怎样远程访问 MySQL
  11. oracle 安装的提示ntp,oracle rac 安装 PRVG-13606 ntp 同步报错解决过程
  12. ImageJ 插入插件和基本教程
  13. poj3207 2-SAT
  14. linux服务器运维工程师怎么样,怎样才算合格的运维工程师?linux运维技术
  15. qq邮箱怎么qq找不到服务器,qq邮箱登录手机版网页 求高手 QQ邮箱登不上去 显示找不到服务器15?请问我咋用不...
  16. pm2 start 带参数_pm2 start命令进阶详解
  17. springboot网上投资借贷中介服务毕业设计-附源码221506
  18. 在网址前加神秘字母,让你打开新世界(z)
  19. MarkDown首行缩进和换行
  20. dCAM: Dimension-wise Class Activation Mapfor Explaining Multivariate Data Series Classification(DB)

热门文章

  1. 作为技术人为什么想创业
  2. spring 如何决定使用jdk动态代理和cglib(转)
  3. MIT 2018 自动驾驶课程
  4. Windows python3.6 安装 gevent库
  5. 201521123004 《Java程序设计》第2周学习总结
  6. Keil如何生成bin文件【Keil生成Bin文件的方法】
  7. hibernate 联合主键
  8. 设计模式 抽象工厂(Abstract Factory Pattern)
  9. 通过 Telnet 在 Linux 终端中观看ASCII 星球大战
  10. WebRTC之RFC协议下载(八)