标签【ThinkPHP】下的文章

关联查找hasOne主表拥有副表的资源在主表模型层使用hasOne('关联模型名','外键名','主键名',['模型别名定义'],'join类型');直接用主表名::get('id值');belongsTo相对关联在副表模型层使用belongsTo('关联模型名','外键名','关联表主键名',['模型别名定义'],'join类型');直接用副表名::...

前言意义:隐藏真实的项目地址(防止非法入侵的人直接获取真实的项目地址)​ 方便用户的记忆,起到见名之意的效果​ 更适合搜索引擎的优化注意:1.使用路由定义时,入口文件依然需要在url中来写,如果需要隐藏入口文件,需要配合Apache或者Nginx这类发布容器来进行隐藏,只需要修改配置文件(重写规则)即可;而路...

控制器输出json数据打印简单的json数据在headers头文件中内容类型还是html格式文件public function zy(){ $arr=Db::table('app_users') ->field('id,username,sex,email') ->find()...

1.根命名空间加载在tp中有三个预定义的根命名空间app应用类库 applicationthink系统核心类库thinkphp/library/thinktraits系统Trait类库thinkphp/library/traits//use的使用方法: use think\Request use think\Session如果需要增加新的根命名空间,有...

用途有效方式防止重复提交,以及跨站伪造请求(anti csrf)特点随机性不可预测原理原理上都是通过session token来实现的。当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发给客户端(一般通过构造hidden表单)。下次客户端提交请求时,Token会随着表单一起提交到服务器端。...

验证器验证器可以利用写好的规则进行快速的验证并且提示出错误信息验证使用独立的think\Validare类//任何时候,都可以使用Validate类进行独立的验证操作 $validate = new Validate([ 'name' => 'require|max:25', 'email' => 'email' ]); ...

模型数据处理模型提供比数据库类更为强大的数据处理功能,处理数据可以更方便,更安全获取器获取器的作用是对模型的数据对象的(原始)数据做出自动处理。定义:受保护的方法,名字格式为:get+FieldName(大驼峰)+Attr,一般数据库的字段都是小写+下划线格式所以需要转换为驼峰法写法://Model $protected function getFie...

CURD更新2讲实现方法1.Db类Db::table('user') ->where('id',1) ->update([ 'name'=>'topThink', 'email'=>'topThink@qq.com' ]);2.模型动态$user=User::get(1);...

CURD的三种写法1.第一种:Db类2.第二种:Model动态3.第三种:Model静态在写项目时,常用写法:创建和更新使用Model动态方法save()查一条和多条使用Model静态方法get(),all()删除使用Model静态方法destroy()模型类与Db类的区别:模型类具有修改器,获取器,自动完成,类型转换等高级操作,而Db类没有;异常Ex...