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

ilh*_*han 6 php namespaces autoload composer-php

我是Composer,名称空间和自动加载的新手,我无法弄清楚在哪里编写代码(在vendor?下).

我创建了一个名为目录ilhanvendor,并命名文件People.php.然后在主index.php文件中使用use ilhan\People.php as People;不起作用,因为我认为它必须在autoload_namespaces.php最初编写.

但是,如果我注册ilhan成为供应商,那么我认为Composer会调查它不存在的packagist.org.

pin*_*sia 7

ilhan在项目目录的根目录下创建,而不是在vendor目录中,并在您的composer.json,

   "autoload": {                    
        "psr-4": {
            "Ilhan\\": "ilhan/"
        }               
    },
Run Code Online (Sandbox Code Playgroud)

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

<?php

  namespace Ilhan;

  class People{}
Run Code Online (Sandbox Code Playgroud)

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

现在index.php只是下面require __DIR__.'/vendor/autoload.php';应该工作,

use Ilhan\People;
Run Code Online (Sandbox Code Playgroud)

但是你为什么要使用People课堂index.php