【2022/1/13】thinkphp源码无差别阅读(十八)


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

framework阅读

think/route/dispatch/Callback.php

  • 执行:exec

think/route/dispatch/Controller.php

  • 属性:controller、actionName
  • 初始化:init
  • 执行:exec
  • 使用反射机制注册控制器中间件:registerControllerMiddleware
  • 实例化访问控制器:controller

think/route/dispatch/Url.php

  • 构造方法:__construct
  • 解析url地址:parseUrl
  • 检查url是否已经定义过路由:hasDefineRoute

think/service/ModelService.php

  • 启动:boot

think/service/PaginatorService.php

  • 注册:register
  • 启动:boot

think/service/ValidateService.php

  • 启动:boot

think/session/Store.php

  • 属性:data、init、name、id、handler、serialize
  • 构造方法:__construct
  • 设置数据:setData
  • 初始化:init
  • 设置name:setName
  • 获取name:getName
  • 设置id:setId
  • 获取id:getId
  • 获取所有数据:all
  • 设置:set
  • 获取:get
  • 获取并删除:pull
  • 添加:push
  • 判断是否有:has
  • 删除:delete
  • 清空:clear
  • 销毁:destroy
  • 重新生成id:regenerate
  • 保存:save
  • session设置,下次有效:flash
  • 将本次闪存推迟到下次请求:reflash
  • 清空当前请求的session:clearFlashData
  • 序列化数据:serialize
  • 反序列化:unserialize

think/session/driver/Cache.php

  • 属性:handler、expire、prefix
  • 构造方法:__construct
  • 读取:read
  • 删除:delete
  • 写入:write

think/session/driver/File.php

  • 属性:config
  • 构造方法:__construct
  • 初始化:init
  • gc垃圾回收
  • 查找文件:findFiles
  • 获取文件名称:getFileName
  • 读取:read
  • 写文件(加锁):writeFile
  • 读文件(加锁):readFile
  • 写入:write
  • 删除:delete
  • 删除文件:unlink

计划阅读

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