扫一扫浏览

tp5框架学习笔记总结一

未结贴
0 805
你是大佬未认证 2019-02-12 17:28:32
收藏

ThinkPHP 5.0.7

与TP3并非版本迭代的关系,对小白来说,下面的就是很明显的区别

和TP3区别

  • application中除了应用(框架中,指前后台模块,比如admin文件夹),其他的都是文件了,TP3是自动生成common文件夹
  • 入口文件在public中,样式我们习惯放public/static里面,
  • 单字母方法没了,需要可以自己定义,大部分助手函数可以替代。
  • 控制器名不需要加class。
  • 一些写法

tpframethinkphp5 
3 

目录结构

    1).部署框架 目录结构
tp5
├─application      应用目录
├─extend          扩展类库目录(可定义,全局共用的类)
├─public           网站对外访问目录(入口文件,样式文件就放这个的static中)
├─runtime         运行时目录(可定义)
├─vendor          第三方类库目录(Composer)
├─thinkphp         框架核心目录(helper.php助手函数文件)
├─build.php        自动生成定义文件(参考)
├─composer.json   Composer定义文件
├─LICENSE.txt     授权说明文件
├─README.md    README 文件
└─think            命令行工具入口
!(如果在linux环境下面的话,需要给runtime目录755权限)
~~~
PS. 几个关键的路径:
~~~
目录            说明              常量
tp5             项目根目录        ROOT_PATH
tp5/application   应用目录          APP_PATH
tp5/thinkphp     框架核心目录      THINK_PATH
tp5/exend       应用扩展目录      EXTEND_PATH
tp5/vendor      Composer扩展目录 VENDOR_PATH
-------
2).默认应用 目录结构:
~~~
├─application            应用目录(可设置)
│  ├─index              模块目录(可更改)
│  │  ├─config.php      模块配置文件
│  │  ├─common.php    模块公共函数
│  │  ├─controller       控制器目录
│  │  ├─model          模型目录
│  │  └─view            视图目录
│  │
│  ├─command.php      命令行工具配置文件
│  ├─common.php       应用公共文件
│  ├─config.php         应用配置文件
│  ├─tags.php           应用行为扩展定义文件
│  ├─database.php       数据库配置文件
│  └─route.php          路由配置文件

手册-附录-助手函数

TP3.2中单字母对应TP5的助手函数
M->db() 方法变成了db
D->model() 方法变成 model
U ->url() 生成URL地址
I ->input() 接收视图传过来的数据

三种去视图的方法
namespace app\index\controller;  //app是公共配置文件写好的
class Index 
{
public function index()
{
return $this->fetch('index');  // 第一种去视图
return view('Stu/index', [       // 第二种 助手函数
'title' => '用户列表',
'list' => $list,
]);
redirect  重定向    $this->redirect('User/edit', ['id'=>'4'], 5);  可以带参数跳转第三种
}
}

CURD

查询

use think\Controller;
use think\Db;
public function index()
{

  • 查询一个数据使用:

$list =Db::table('think_user')->where('id',1)->find(); // table方法必须指定完整的数据表名,DB模型类

  • 查询数据集使用,如果设置了数据表前缀参数的话,可以使用name(),没设置则一样

$list =Db::table('think_user')->where('status',1)->select();

  • 原生

$list = Db::query('select * from user');   //原生
$list = db('user')->field(['id', 'name'])->select();     // 助手函数 不用导入BD类

  • 复杂查询

4 

  • 查询某个字段的值

Db::table('think_user')->where('id',1)->value('name');
查询某一列的值
Db::table('think_user')->where('status',1)->column('name');

  • 分批查询

5 6

插入

// $result = Db::execute('insert...'); //原生增删改都是execute
$data = [
'name' => 'k3',
'age' => '55'
];
// $result = Db::table('user')->insert($data);    //使用DB模型类
// $result = Db::table('user')->insertGetId($data);  //使用DB模型类
$result = db('user')->insert($data);   // 助手函数 不用导入BD类
}

删除

    public function delete()
{
// $result = Db::execute('delete....');       //原生
// $result = Db::table('user')->delete(63);   //使用DB模型类
// $result = Db::table('user')->where('name','k3')->delete();
// $result = db('user')->delete(111);        // 助手函数 不用导入BD类
}

更新

    public function update()
{
// $result = Db::execute('update.....');  //原生
// $result = Db::table('user')->where('id',61)->update(['age'=>'99']);  //使用DB模型类
$result = db('user')->where('id',61)->update(['age'=>'100']);      // 助手函数 不用导入BD类
}

最近热帖 HOT TOPIC
父元素flex之后,子元素高度自适应问题 2767
thinkphp5隐藏默认模块的一些问题 2326
关于thinkphp5.0.x getshell漏洞的说明 2033
【全套视频】thinkphp5视频教程 1999
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1925
教你如果处理高并发数据不同步的问题php篇 1904
PHP如何判断字符串是否为json格式 1878
移动web资源整理,你值得收藏的干货 1854
omnicore rpc api中文手册【usdt】 1793
tpframe新建主题 1723
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 5
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
thinkphp5隐藏默认模块的一些问题 2
tpframe-curd操作之添加数据 2