PSR 4自动加载没有找到类



我不知道为什么我的PSR-4自动加载器不工作。

我的作曲家。Json文件就是

{
  "require" : {
     "abraham/twitteroauth" : "*"
  },
  "autoload" : {
    "psr-4" : {"Filters\" : "src"}
  }
}

我的PHP文件,位于src/Filters

namespace Filters;
class BlogFilter {
  public function __construct()
  {
    return 'hello from the constructor';
  }
}

在我的主文件中,位于根目录下,我有以下

require 'vendor/autoload.php';
use FiltersBlogFilter;
$foo = new BlogFilter();
echo $foo;

但是当我试着运行代码时,我得到

致命错误:类'FiltersBlogFilter'没有找到/var/www/html/dev/foo.php第7行

我不知道为什么它不工作,我试着运行composer update, composer installcomposer dumpautoload,但错误仍然出现。

我的完整工作结构如下

.
├── composer.json
├── composer.lock
├── foo.php
├── src
│   ├── Filters
│   │   └── BlogFilter.php
│   └── TestDir
└── vendor
    ├── abraham
    │   └── twitteroauth
    │       ├── autoload.php
    │       ├── composer.json
    │       ├── LICENSE.md
    │       ├── phpunit.xml
    │       ├── README.md
    │       ├── src
    │       │   ├── Util
    │       │   │   └── JsonDecoder.php
    │       │   └── Util.php
    │       └── tests
    ├── autoload.php
    └── composer
        ├── autoload_classmap.php
        ├── autoload_namespaces.php
        ├── autoload_psr4.php
        ├── autoload_real.php
        ├── ClassLoader.php
        └── installed.json

自动加载部分应该是

  "autoload" : {
    "psr-4" : {"Filters\" : "src/Filters"}
  }

相关内容

  • 没有找到相关文章

最新更新