thinkphp源码无差别阅读(二十三)

ORM阅读

Paginator.php

  • 属性:simple、items、currentPage、lastPage、total、listRows、hasMore、options、currentPageResolver、currentPathResolver、maker
  • 构造方法:__construct
  • 生成分页:make
  • 获取maker:maker
  • 设置当前页码:setCurrentPage
  • 获取页码对应的链接:url
  • 获取当前页面:getCurrentPage
  • 设置当前页码闭包:currentPageResolver
  • 获取path:getCurrentPath
  • 获取路径闭包:currentPathResolver
  • 获取总条数:total
  • 获取每页数量:listRows
  • 获取当前页码:currentPage
  • 获取最后一页页码:lastPage
  • 判断是否足够分页:hasPages
  • 创建一组分页:getUrlRange
  • 设置锚点:fragment
  • 添加url数据:appends
  • 构造锚点字符串:buildFragment
  • 渲染分页html:render
  • 获取数据:items
  • 获取数据集:getCollection
  • 判断是否为空:isEmpty
  • 遍历:each
  • 数组式访问和递归:
  • 获取总条数:count
  • 获取html字符串:__toString
  • 转换为数组:toArray
  • 转换为数组:jsonSerialize
  • 动态调用:__call

db/BaseQuery.php

  • 属性:connection、name、pk、autoinc、prefix、options
  • 构造方法:__construct
  • 动态调用:__call
  • 创建一个新的查询对相关:newQuery
  • 获取数据库连接:getConnection
  • 指定当前数据库表名:name
  • 获取当前数据库表名:getName
  • 获取数据库配置参数:getConfig
  • 获取表名称:getTable
  • 设置字段类型信息:setFieldType
  • 获取最近一次的sql查询语句:getLastSql
  • 获取返回或者影响的记录条数:getNumRows
  • 获取最近插入的id:getLastID
  • 获取某个字段的值:value
  • 获取某列的值:column
  • union:union
  • unionAll:unionAll
  • 指定查询字段:field
  • 排除查询字段:withoutField
  • 指定其它表的查询字段:tableField
  • 设置数据:data
  • 去除查询参数:removeOption
  • 指定查询数量:limit
  • 指定分页:page
  • 指定数据库表:table
  • 指定排序:order
  • 分页查询:paginate
  • 分页查询:paginateX
  • 查询更多:more
  • 查询缓存:cache
  • 指定查询lock:lock
  • 指定数据库表别名:alias
  • 设置主服务器读取数据:master
  • 设置严格检查字段:strict
  • 设置自增序列值:sequence
  • 设置json字段:json
  • 指定数据表主键:pk
  • 设置查询参数:options
  • 获取查询参数:getOptions
  • 设置查询参数:setOption
  • 设置表别名:via
  • 保存记录:save
  • 插入记录:insert
  • 插入记录并获取自增ID:insertGetID
  • 批量插入:insertAll
  • 通过select方式插入记录:selectInsert
  • 更新记录:update
  • 删除记录:delete
  • 查询记录:select
  • 查找单条记录:find
  • 分析查询参数:parseOptions
  • 分析更新条件:parseUpdateData
  • 把主键转为查询条件:parsePkWhere
  • 获取模型更新条件:getModelUpdateCondition

计划阅读

[ ] framework源码
[ ] orm源码
[ ] helper源码

03-05 23:27