new 变量类型的类的时候参考: $class = '\app\common\services\\'.$className; self::$services [$className] = new $class();
命名空间的一些疑惑,可以看这里:https://www.cnblogs.com/drunkhero/p/namespace.html
自动加载官方文档: https://www.php.net/autoload
自动加载这部分可以看看
spl_autoload_register这个函数,实现了自动加载
psr4规范,以及composer里面的autoload_psr4.php里面,其实是有命名空间前缀对应的路径的的数组存在的,这样就不难理解,tp5内部也有一个spl_autoload_register注册的加载机制来要用的时候才自动加载类,而不是手动的去include或者require
反射官方文档:https://www.php.net/manual/zh/book.reflection.php
php反射机制的简单理解,以及作用: https://blog.csdn.net/luyaran/article/details/84339363
PHP反射机制实现自动依赖注入:https://blog.csdn.net/qq_20678155/article/details/70158374