thinkphp5 new 一个对象是怎么找到的

我先知道这里 new Redis 发生了什么事情 他是怎么找到这个类的 还有这些redis->auth 这些写法是不是通用的 还是有个文档说明什么的 因为我在网上一直找不到答案 求大佬解答 我看过自动加载的源码 好像是跟命名空间结合起来的 但是我这里没use 他怎么找到的
clipboard.png

阅读 2.8k
3 个回答

如果没有定义任何命名空间,所有的类与函数的定义都是在全局空间,与 PHP 引入命名空间概念前一样。

多看文档是不会错的

\Redis 类是扩展提供的。如果是php写的类,一般通过composer生成的autoload代码加载到。

PHP的扩展有两种,一种是静态扩展,一种是外部动态扩展。外部动态扩展有很多,著名的有jsonmysqlgd等,Redis也是一个外部扩展。外部扩展会在模块初始化阶段自动加载coder 直接使用即可,不需要显示地使用命名空间引入$redis->auth()这种操作其实你在网上搜的话一搜一大把,附一个:https://www.php.cn/php-weizij...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题