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

ORM阅读

model/concern/Attribute.php

  • 属性:pk、schema、field、type、disuse、readonly、data、origin、json、jsonType、jsonAssoc、strict、get、withAttr
  • 获取主键:getPk
  • 判断是否主键:isPk
  • 获取主键:getKey
  • 设置允许写入字段:allowField
  • 设置只读字段:readOnly
  • 获取实际字段名:getRealFieldName
  • 设置数据对象值:data
  • 批量追加数据对象值:appendData
  • 获取原始数据:getOrigin
  • 获取当前对象数据:getData
  • 获取变化的数据:getChangedData
  • 设置数据对象值:set
  • 通过修改器批量修改对象值:setAttrs
  • 设置对象值:setAttr
  • 数据写入,类型转换:writeTransform
  • 获取器:getAttr
  • 获取器:getValue
  • 获取json字段值:getJsonValue
  • 获取关联属性值:getRelationValue
  • 数据读取,类型转换:readTransform
  • 设置获取器:withAttribute

model/concern/Conversion.php

  • 属性:visible、hidden、append、scene、mapping、resultSetType、convertNameToCamel
  • 是否自动驼峰:convertNameToCamel
  • 设置需要附加的输出属性:append
  • 设置输出层场景:scene
  • 设置附加关联对象属性:appendRelationAttr
  • 设置隐藏属性:hidden
  • 设置输出属性:visible
  • 设置属性的映射输出:mapping
  • 模型对象转数组:toArray
  • 追加值到数组:appendAttrToArray
  • 获取绑定属性值:getBindAttrValue
  • 模型转json:toJson
  • 转json:__toString
  • 转数组:JsonSerialize
  • 转换为数据集对象:toCollection

计划阅读

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

【2022/01/27】thinkphp源码无差别阅读(三十)相关推荐

  1. 【2022/1/14】thinkphp源码无差别阅读(十九)

    thinkphp源码无差别阅读(十九) framework阅读 think/validate/ValidateRule.php 属性:title.rule.message 添加验证因子:addItem ...

  2. 【2022/01/21】thinkphp源码无差别阅读(二十五)

    thinkphp源码无差别阅读(二十五) ORM阅读 db/CacheItem.php 属性:key.value.expire.tag.isHit 构造方法:__construct 为此缓存项设置键: ...

  3. 【2022/1/11】thinkphp源码无差别阅读(十七)

    thinkphp源码无差别阅读(十七) framework阅读 think/route/RuleGroup.php 属性:rules.rule.miss.fullName.alias 构造方法:__c ...

  4. 【2022/1/16】thinkphp源码无差别阅读(二十一)

    thinkphp源码无差别阅读(二十一) Helper阅读 contract/Arrayable.php 转换为数组:toArray contract/Jsonable.php 转换为数组:toJso ...

  5. 【2021/12/25】 thinkphp源码无差别阅读(三)

    thinkphp源码无差别阅读(三) framework阅读 Http.php 属性:app.name.path.routePath.isBild 构造方法:__construct 设置应用名称:na ...

  6. thinkphp源码无差别阅读(一)

    thinkphp源码无差别阅读(一) thinkphp的framework源码大概165个文件,我们不按照逻辑分析阅读源码,我们一个文件一个文件阅读,阅读完以后有个大概了解,然后在运行逻辑下进行阅读 ...

  7. 【2021/12/29】thinkphp源码无差别阅读(七)

    thinkphp源码无差别阅读(七) framework阅读 View.php 属性:namespace.data.filter. 获取模板引擎:engine 模板变量赋值:assign 试图过滤:f ...

  8. 【2021/12/24】 thinkphp源码无差别阅读(二)

    thinkphp源码无差别阅读(二) framework阅读 Cookie.php 属性:config.cookie.request. 构造方法:__construct 自定义实例化:__make 获 ...

  9. 【2021/12/28】thinkphp源码无差别阅读(六)

    thinkphp源码无差别阅读(六) framework阅读 Service.php 属性:app 构造方法:__construct 加载路由:loadRoutesFrom 注册路由:register ...

最新文章

  1. JedisConnectionException: java.net.SocketException: Broken pipe
  2. 6大最流行、最有用的自然语言处理库对比
  3. UA OPTI501 电磁波3 SI单位制与电磁学常用单位
  4. 显卡、显卡驱动、cuda 之间的关系是什么?
  5. redis sds的申请扩容源码
  6. 【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office?
  7. 【图像直线拟合】基于matlab最小二乘法图像直线拟合【含Matlab源码 100期】
  8. 模糊综合评价模型详解
  9. webpack搭建vue项目步骤详解
  10. Android 打包AAB+PAD(Unity篇)
  11. 自己服务器搭建免费的进销存系统,云进销存服务器搭建
  12. win10系统盘分多大合适?
  13. systemverilog:always_comb、always_latch、always_ff区别
  14. matlab算非齐次方程,matlab-线性代数 非齐次方程组 判断是否有唯一解
  15. 什么是 PCIe 卡?您需要了解的有关PCI Express卡的所有信息
  16. 《缠中说禅108课》41:没有节奏,只有死
  17. Nature Microbiology:植物根系分泌物影响菌群结构
  18. 如何调试Excel VBA代码
  19. Cuboid之key-value
  20. 嵌入式LinuxC--指针与数组

热门文章

  1. ASEMI超快恢复二极管与肖特基二极管可以互换吗
  2. 如何解决Android机(主要是华为手机)上人民币符号¥只显示一横
  3. 大二男生跳楼身亡留遗书称沉迷网游压力大
  4. SANGFOR WOC初级认证——加速技术详解
  5. 运动、路径与轨迹三种规划的区别
  6. 王者荣耀之父姚晓光“奇葩”的工作理念
  7. 解决lazarus 多线程报错问题
  8. 麒麟v10官方apt源、rpm包下载地址
  9. NSString详解
  10. 程序员面试基本分为两大步骤