[top-think/think]namespace 自动加载请遵循 PSR-4, 在 composer.json autoload 中声明.

2023-12-18 683 views
7

不要在框架自身代码实现, 这会导致很多 ide 无法识别 app\ namespace 下的代码.

回答

3

TP的应用类库命名空间是可定义的

7

嗯,我就是提议从框架上取消应用类的命名空间,而引导开发者用composer.json来配置。

6

毕竟TP5的设计并非依赖composer 目前采用的是环境变量方式定义 不过composer.json里面加上默认的定义也不会影响

0

既然框架提供了composer.json,那么就应该在composer.json中定义psr-4的autoload,毕竟很多工具和IDE都要根据composer.json的autoload声明来分析代码的。

{
    "name": "topthink/think",
    "description": "the new thinkphp framework",
    "type": "project",
    "keywords": [
        "framework",
        "thinkphp",
        "ORM"
    ],
    "homepage": "http://thinkphp.cn/",
    "license": "Apache-2.0",
    "autoload": {
        "psr-4": {
            "app\\": "application/"
        }
    }
}
7

我已经在5.1版本中添加了~

1

底层的composer支持 可能近期还会改进一次