• tp5笔记(一)


    作为一个国产的框架,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()  排序

      

     

      

      

      

     

      

     

  • 相关阅读:
    ASP.NET程序中常用的三十三种代码[低]
    IIS 6.0 优化
    JS判断数字字母中文
    javascript函数
    ASPJpeg和ASPUpload组件的一些属性和方法
    DOMDocument 的属性及一些javascript操作方法
    HTML/JS代码集合
    SEO常用工具站
    C#操作Word/excel文档
    高效的Session读写.
  • 原文地址:https://www.cnblogs.com/phpzlq/p/8889474.html
Copyright © 2020-2023  润新知