gpt4 book ai didi

php - 我应该在哪里编写代码以便 Composer 可以自动加载我的 PHP 类?

转载 作者:可可西里 更新时间:2023-11-01 13:19:13 26 4
gpt4 key购买 nike

我是 Composer、命名空间和自动加载的新手,我不知道在哪里编写我的代码(在 vendor 下?)。

我在vendor 下创建了一个名为ilhan 的目录,以及一个名为People.php 的文件。然后在主 index.php 文件中使用 use ilhan\People.php as People; 不起作用,因为我认为它一定是用 autoload_namespaces 编写的。 php 最初。

但是,如果我将 ilhan 注册为供应商,那么我认为 Composer 会查看 packagist.org,但它不在那里。

最佳答案

在项目目录的根目录中创建 ilhan,而不是在 vendor 目录中,并将以下内容放入 composer.json

   "autoload": {                    
"psr-4": {
"Ilhan\\": "ilhan/"
}
},

如果您正在使用某种框架,很可能您已经在 composer.json 文件中添加了 psr-4 自动加载配置,在这种情况下只需添加 "Ilhan\\": "ilhan/" 在其中。现在在 ilhan 目录中创建 People.php,内容如下

<?php

namespace Ilhan;

class People{}

确保 require __DIR__.'/vendor/autoload.php'; 包含在 index.php 中,然后运行 ​​composer dump-autoload.

现在在 index.phprequire __DIR__.'/vendor/autoload.php'; 下面应该可以工作,

use Ilhan\People;

但是为什么要在 index.php 中使用 People 类?

关于php - 我应该在哪里编写代码以便 Composer 可以自动加载我的 PHP 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109749/

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