gpt4 book ai didi

php - Psr-4 composer 自动加载自己的类 - 未找到

转载 作者:行者123 更新时间:2023-12-04 16:52:12 25 4
gpt4 key购买 nike

我有结构目录

enter image description here

自动加载 Composer :

"autoload": {
"psr-4": {
"model\\": "src/"
}
},

我的课
namespace model;


class ClientAgent
{
private $pdo;

public function __construct(\PDO $pdo)
{
$this->pdo = $pdo;
}

public function sentAgent()
{

}
}

index.php我试过添加
use model\ClientAgent;但它抛出错误,找不到类?为什么?

回答后编辑
     "autoload": {
"psr-4": {
"model\\": "src/model/"
}

},

我的 index.php
use model\ClientAgent;

$loader=require_once __DIR__ . '/../vendor/autoload.php';

$clientAgent =new ClientAgent($pdo);

错误
Uncaught Error :在 C:\xampp\htdocs\Wieloagenty\index.php:15 中找不到类 'model\ClientAgent'

最佳答案

我的建议是引入供应商前缀。这可能是您的开发人员名称、公司名称或应用程序名称。
composer.json

"autoload": {
"psr-4": {
"YourApplication\\": "src/"
}
},

现在, src 里面的每个类(class)文件夹及以下在其命名空间上需要此供应商前缀。

我们拿 src\model\ClientAgent.php例如:
namespace YourApplication\Model;

class ClientAgent
{

现在,FQCN(完全限定的类名)是 YourApplication\Model\ClientAgent您可以将它用作 use 的一部分声明。
// first require the Composer autoloader
require_once __DIR__ . '/../vendor/autoload.php';

// declare which other classes you are using
use YourApplication\Model\ClientAgent;

$clientAgent = new ClientAgent($pdo);

重要的!

修改后(对类和 composer.json 文件)请使用 php composer.phar dumpautoload -o 重新生成 Composer 自动加载器.

Composer 将扫描完整的 src文件夹包括类的子文件夹(因此您将准备好来自 src\models\src\views 的所有类)。

关于php - Psr-4 composer 自动加载自己的类 - 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37962596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com