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. 09JavaScript中的作用域
  2. 注意!出口货物木质包装IPPC标识规定!
  3. mysql数据库系统配置文件_跟我学虚拟机系统平台相关技术及应用——在CentOS系统中的MySql数据库系统配置文件中进行配置定义...
  4. php 3des 兼容java,PHP版3DES加解密类,可与java的3DES(DESede)加密方式兼容
  5. mysql表主键类型_mysql表结构主键类型
  6. 基本汇编语言学习结构
  7. SpringBoot与任务
  8. 根据varchar排列是怎么比大小的_骨架大小怎么看?肩宽、胸腔宽、胯宽是关键,加码大骨架穿搭技巧...
  9. 美团外卖回应佣金争议;苹果回应戴口罩解锁 iPhone;新 Edge 浏览器明年将不再支持 Win7 | 极客头条...
  10. NUC1077 Humble Numbers【数学计算+打表+水题】
  11. Call for Presentations!Flink Forward Global 2021 议题征集ing
  12. ExeScope辅助测试工具简介
  13. Java、储物柜难题
  14. vagrant Linux虚拟机与win共享目录时的大小写及共享失败问题(vagrant share folder/synced_folder case sensitivity)
  15. Hamming Distance (汉明距离)
  16. 差动直流放大电路仿真 -- 单端输入,双端输入,共模,差模(附Multisim)
  17. 读稻盛先生的《活法和干法》的十点灵感
  18. Web前端工程师必备的PS技能之切图
  19. 2019 年全球云计算市场份额出炉
  20. 上传加载loading

热门文章

  1. android span字体修改,Android TextView使用SpannableString设置复合文本的方法详解
  2. 洞悉数据分析之驾驶领导舱
  3. toefl阅读写作口语评分解读
  4. 本地连接dns服务器没响应,dns服务器未响应,教您dns服务器未响应怎么解决
  5. 计算机为什么检测不到u盘启动项,bios设置u盘为第一启动项后检测不到怎么办
  6. Go并发编程实战 - 部分导图
  7. 11.29 android入门开发
  8. 永恒之蓝(ms17-010)简介与复现
  9. Django框架之入门介绍
  10. Xmind 8 快捷键