扫一扫浏览

tp5框架学习笔记总结一

未结贴
0 358
你是大佬未认证 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
thinkphp5隐藏默认模块的一些问题 1666
【全套视频】thinkphp5视频教程 1555
父元素flex之后,子元素高度自适应问题 1539
教你如果处理高并发数据不同步的问题php篇 1373
关于thinkphp5.0.x getshell漏洞的说明 1277
tpframe新建主题 1269
tpframe安装教程 1268
TPFrame框架robot模块重磅来袭,内附2.1版本 1258
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1217
tpframe应用目录结构 1185
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
爆料早知道:TPFrame v3.2版本已更新我有好想法