首页
学习
活动
专区
圈层
工具
发布

thinkphp6.0 底层源码分析 - 类的自动加载、配置文件初始化

概述因为工作的需要,深入研究了一下thinkphp的源码,也算是对php知识的一个回归,工作这么多年,我一直坚信php是最好的Web编程语言,它可以做到成本和效率的一个平衡,知其然,更要知其所以然才是高手修炼之道类的自动加载不管是...thinkphp6使用了composer去加载类库,整个composer的实现原理是:首先将各个使用了不同psr规范的类或映射类,以某种形式存储,然后当类找不到的时候,通过与存储的数据匹配,找到类所在的路径...ComposerStaticInit1283bda52466502421173f3a3bffb31b::$classMap; }, null, ClassLoader::class);}框架初始化执行流程thinkphp6.0...应用的初始化做了大量的操作,其主要的操作有:加载环境变量、加载配置文件,加载语言包、监听 AppInit、initializers 数组包含的类的初始化。...;}protected $initializers = [ Error::class, RegisterService::class, BootService::class,];结尾thinkphp6.0

1.3K146
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Thinkphp命名规范

    类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php ; 类的命名空间地址和所在的路径地址一致...类所在的路径应该是 Application/Home/Controller/UserController.class.php ; 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP...UserController 类的文件命名是UserController.class.php , InfoModel类的文件名是 InfoModel.class.php , 并且不同的类库的类命名有一定的规范; 函数、配置文件等其他类库文件之外的一般是以...语言变量以大写字母和下划线命名,例如 MY_LANG ,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_ ; 对变量的命名没有强制的规范,可以根据团队规范来进行; ThinkPHP

    2K30
    领券