php6 xml,thinkphp6 常用方法文档
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 常用方法文档相关推荐
- 使用XML创建Excel文档
使用XML创建Excel文档 原例子使用VB.Net写的,以下的用C#改写的代码 原文代码: http://www.gotdotnet.com/Community/UserSam ...
- Java 中的 XML:Java 文档模型的用法
Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...
- [Swift通天遁地]七、数据与安全-(2)对XML和HTML文档的快速解析
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- Caused by: org.xml.sax.SAXParseException: 文档根元素 “component“ 必须匹配 DOCTYPE 根 “null“
切换了dev分支启动时报错:Caused by: org.xml.sax.SAXParseException: 文档根元素 "component" 必须匹配 DOCTYPE 根 & ...
- 火狐浏览器 xml 解析错误:文档元素后存有无效内容_五分钟了解浏览器工作原理...
作者简介: 李中凯 八年多工作经验 前端负责人, 擅长JavaScript/Vue. 掘金文章专栏:KaysonLi 的个人主页 - 专栏 - 掘金 Web 浏览器无疑是用户访问互联网最常见的入口.浏 ...
- xml源文件的文档生成工具--DITA Open Toolkit(DITA-OT)的使用入门
公司的写作软件是oxygen xml editor,但对于文档的生成一直百思不得其解,除了使用公司定制的发布工具,试过oxygen xml editor的transformation功能,生成的文档很 ...
- xml对java通讯录的解析_Dom4j解析xml格式通讯录文档
JDBC连接数据库,进行DOM4j解析的类: AnalyzeXML.Java package xml; import java.io.File; import java.io.FileInputStr ...
- org.xml.sax.SAXParseException: 文档根元素 java-control-panel 必须匹配 DOCT
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35454116/article/ ...
- org.xml.sax.SAXParseException 文档根元素 mapper 必须匹配 DOCTYPE 根 configuration
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFa ...
最新文章
- 2009江民中国大陆地区计算机网络安全报告
- mysql 报错 sql_mode=only_full_group_by 解决方法
- 如何不编程,采集网站评论信息?(视频教程)
- undefined reference to `__errno‘ 解决办法
- 读者问:小公司,但工资高,能去吗?
- oracle数据库安装提示M,Python第13课:oracle数据库的安装
- 计算机专业女生的就业方向参考
- 求1~100以内的素数,最简单的方式
- 腾讯PCG推荐系统应用实践
- 怎样远程访问 MySQL
- oracle 安装的提示ntp,oracle rac 安装 PRVG-13606 ntp 同步报错解决过程
- ImageJ 插入插件和基本教程
- poj3207 2-SAT
- linux服务器运维工程师怎么样,怎样才算合格的运维工程师?linux运维技术
- qq邮箱怎么qq找不到服务器,qq邮箱登录手机版网页 求高手 QQ邮箱登不上去 显示找不到服务器15?请问我咋用不...
- pm2 start 带参数_pm2 start命令进阶详解
- springboot网上投资借贷中介服务毕业设计-附源码221506
- 在网址前加神秘字母,让你打开新世界(z)
- MarkDown首行缩进和换行
- dCAM: Dimension-wise Class Activation Mapfor Explaining Multivariate Data Series Classification(DB)