我正在尝试构建自己的作曲家项目,并且我正在尝试测试代码以确保它在我开始构建时起作用。我已经阅读了几十个教程和堆栈溢出问题,而且似乎都指出我正在做正确的事情,虽然因为它不起作用,我想我不是。
我的文件结构为:
index.php
composer.json
composer.lock
vendor/
src
\Frankenstein
\DB
|FrankensteinDB.php
并使composer.json看起来如下:
{
"autoload": {
"psr-4" : {"Frankenstein\\":"src/Frankenstein"}
},
"require": {
"enrise/frisbee": "0.1.0"
}
}
FrankensteinDB.php看起来像:
<?php
namespace Frankenstein\DB;
use Frisbee\Exception\Flingable;
class FrankensteinDB extends Flingable
{
public function __construct($name)
{
parent::__construct($name, 1337);
}
public function run()
{
}
public function next()
{
}
}
当然最后,index.php如下:
<?php
require_once 'vendor/autoload.php';
use Frankenstein\DB\FrankensteinDB;
try {
throw new FrankensteinDB('frankenstein');
} catch (Error $e){
$e->getCode();
}
每次我运行代码时,我都会Class 'Frankenstein\DB\FrankensteinDB' not found
而我无法找出原因。我已经尝试了命名空间,使用和composer psr-4部分中的每个文件夹组合,似乎没有任何工作。我还在每次更改后运行composer update,以确保重新生成自动加载文件。