tp5笔记(一)

摘要:
thinkphp作为一种国内框架,在中国得到了广泛的应用。最近,我们公司让我们学习了tp5,接下来,让我们与您分享tp5(文章绝对是手写的)目录结构的简单用法。让我们看看它的目录结构项目应用程序部署目录│ 应用程序应用程序目录(可设置)│ focus-通用模块目录(可更改)│ 焦点-索引模块目录(可更改)│ focus-config.php模块配置文件│ 焦点-common.php

作为一个国产的框架,thinkphp在国内的使用占比非常大,最近我们公司就是让学习tp5,接下来就跟大家一起分享一下tp5的简单使用

(文章绝对是自己手写的)

目录结构

我们先看一下它的目录结构

  1. project 应用部署目录
  2. ├─application 应用目录(可设置)
  3. ├─common 公共模块目录(可更改)
  4. ├─index 模块目录(可更改)
  5. ├─config.php 模块配置文件
  6. ├─common.php 模块函数文件
  7. ├─controller 控制器目录
  8. ├─model 模型目录
  9. ├─view 视图目录
  10. └─...更多类库目录
  11. ├─command.php 命令行工具配置文件
  12. ├─common.php 应用公共(函数)文件
  13. ├─config.php 应用(公共)配置文件
  14. ├─database.php 数据库配置文件
  15. ├─tags.php 应用行为扩展定义文件
  16. └─route.php 路由配置文件
  17. ├─extend 扩展类库目录(可定义)
  18. ├─public WEB 部署目录(对外访问目录)
  19. ├─static静态资源存放目录(css,js,image)
  20. ├─index.php 应用入口文件
  21. ├─router.php 快速测试文件
  22. └─.htaccess 用于 apache 的重写
  23. ├─runtime 应用的运行时目录(可写,可设置)
  24. ├─vendor 第三方类库目录(Composer
  25. ├─thinkphp 框架系统目录
  26. ├─lang 语言包目录
  27. ├─library 框架核心类库目录
  28. ├─think Think类库包目录
  29. └─traits 系统Traits目录
  30. ├─tpl 系统模板目录
  31. ├─.htaccess 用于 apache 的重写
  32. ├─.travis.yml CI 定义文件
  33. ├─base.php 基础定义文件
  34. ├─composer.json composer 定义文件
  35. ├─console.php 控制台入口文件
  36. ├─convention.php 惯例配置文件
  37. ├─helper.php 助手函数文件(可选)
  38. ├─LICENSE.txt 授权说明文件
  39. ├─phpunit.xml 单元测试配置文件
  40. ├─README.md README 文件
  41. └─start.php 框架引导文件
  42. ├─build.php 自动生成定义文件(参考)
  43. ├─composer.json composer 定义文件
  44. ├─LICENSE.txt 授权说明文件
  45. ├─README.md README 文件
  46. ├─think 命令行入口文件
  47. thinkphp5的目录结构相比于上一个版本,有个很大的变化,目录结构很清晰,也是模块化设计
  48. 接下来说一下tp5的CURD(C 增加,U修改,R查询,D删除)
  49. CURD有好几种方式,下面为大家一一道来

  查询构造器

  一般我们在使用的时候要先 use thinkDb类

  查询

  Db::table('表名')->where(查询条件)->select();查询多条

  Db::table('表名')->where(查询条件)->find();查询一条

  其中where()方法支持数组格式和字符串格式,

  Db::name()方法就是在你设置了表前缀后,直接写上表前缀后面的表名,总的来说就是可以忽略表前缀

  而Db::table()则需要完整表名

  增加

  添加一条数据

  $data =['字段'=>'数据','字段'=>'数据',........];

  Db::table('表名')->insert($data);

  添加多条数据

  $data =[

    ['foo'=>'bar','bar'=>'foo'],

    ['foo'=>'bar1','bar'=>'foo1'],

    ['foo'=>'bar2','bar'=>'foo2']

  ];

  Db::name('user')->insertAll($data);

  insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1

  删除

  Db::table('表名')->where(where条件)->delete();

  Db::table('表名')->delete(主键id);

  修改

  Db::table('表名')->where(条件)->update(要修改的数据);

  update 方法返回影响数据的条数,没修改任何数据返回 0

  更新某个字段的值:使用setField()方法

  一般我们在具体使用的话都是链式操作的下面给大家说一下链式操作的一些方法

  alias()  给表起别名 也可以传入数组批量设置数据表以及别名

  bind()        手动参数绑定

  cache()        方法用于查询缓存操作

  comment()  在sql语句中添加注释

  distinct()  用于返回不同的唯一值

  failException()  设置查询数据为空时是否需要抛出异常,如果不传入任何参数,默认为开启,用于selectfind方法

  fetchSql()  直接返回执行的SQL语句

  field()  查询指定字段

  force()  数据集的强制索引操作

  group()  通常用于结合合计函数,根据一个或多个列对结果集进行分组,只有一个参数,并且只能使用字符串

  having()  用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据,也只能有一个参数,并且只能使用字符串

  join()  用于关联查询,具体写法请看手册 https://www.kancloud.cn/manual/thinkphp5/118083

  limit()  指定查询和操作的数量

  lock()  用于数据库的锁机制

  order()  排序

  

 

  

  

  

 

  

 

免责声明:文章转载自《tp5笔记(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Httpclient-(get、post(application/json)、post(application/form-data)、download、upload)在发布ASP.NET网站的时候,出现state server错误下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

服务器环境部署

JDK 本地下载Linux版JavaJdk压缩包。打开Xshell连到服务器。 cd /usr  #切换到usr目录。 mkdir java  #创建一个java目录,并切换到java目录。 rz  #上传javaJDK压缩包到java目录。 tar -zxvf 压缩包的名字  #解压压缩文件(将目录A重命名为B 命令:mv A B);切换到解压...

mac终端下svn常用命令

本文目录 一、SVN概述 二、SVN服务器搭建和使用: 三、使用svn客户端功能 四、使用注意事项 一,SVN概述 * 什么是SVN(Subversion)? 答:简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。通常,我们称用来存放上传档案的地方就做Repositor...

linux proc文件系统学习 (转)

目录: /proc --- 一个虚拟文件系统 加载 proc 文件系统 察看 /proc 的文件 得到有用的系统/内核信息 有关运行中的进程的信息 通过 /proc 与内核交互 结论 参考文献 摘要: Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的 Linux 系...

hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写?概述文件系统 (FS) shell 包括各种类似的命令直接与 Hadoop Distributed File System (HDFS)交互。hadoop也支持其它文件系统,比...

Visual Studio Express 2012 安装缺少头文件、库文件的问题

今天安装好Visual Studio Express 2012之后,新建了一个VC++ Win32 Console Application,输入一个简单的 Hello world 代码,竟然编译不过,提示缺少头文件。 fatal error C1083: 无法打开包含文件: 'stdio.h': No such file or directory 在VS安...

Apache服务器安全配置

用户权限分配 Linux中默认给予apache的是一个www-data账户 可以看到第一行为apache的主进程,以root权限进行,因为apache的web端口是80或者443,而在Linux中开启小于1024的端口需要root权限,所以主进程必须以root权限运行,第二行起为apache子进程,执行用户为www-data,是Ubuntu中运行web服...