PHP Uncaught Error: Class not found using composer autoload(PHP未捕获错误:使用作曲家自动加载找不到类)
问题描述
我正在使用 SymfonyConsole 包编写一个简单的项目,但是我遇到了 class not found 异常:
I'm writing a simple project using SymfonyConsole package, but I got class not found exception:
PHP Fatal error: Uncaught Error: Class 'ProjectExtractLinkCommand' not found in /home/PhpstormProjects/RVLE/RVLE.php:9
Stack trace:
#0 {main}
thrown in /home/PhpstormProjects/RVLE/RVLE.php on line 9
我找不到问题所在,有人说自动加载器不是标准的,您应该自己编写.我还更新了 composer 并运行了 composer dump-autoload
.
I can't find what the problem, somebody says autoloader is not standard and you should write it your own.
I also updated composer and ran composer dump-autoload
.
这是我的文件 ->
RVLE.php:
#!/usr/bin/env php
<?php
require 'vendor/autoload.php';
use ProjectExtractLinkCommand;
use SymfonyComponentConsoleApplication;
$app = new Application('RVLE' , '1.0');
$app->add(new ExtractLinkCommand());
$app->run();
extractCommand.php:
<?php namespace Project;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputArgument;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
class ExtractLinkCommand extends Command
{
public function configure()
{
$this->setName('getLinks')
->setDescription('extract all available video links for given page url')
->addArgument('url', InputArgument::REQUIRED, 'page link');
}
public function execute(InputInterface $input, OutputInterface $output)
{
$url = $input->getArgument('url');
$output->writeln($url);
}
}
composer.json:
{
"require": {
"symfony/console": "^3.3"
},
"autoload": {
"psr-4": {
"Project\": "src/"
}
}
}
这是我的项目结构:
.
├── composer.json
├── composer.lock
├── RVLE.php
├── src
│ └── extractCommand.php
└── vendor
├── autoload.php
├── bin
├── composer
├── psr
└── symfony
推荐答案
我认为你需要将你的文件名与你的类名匹配,所以它应该是 ExtractLinkCommand.php
,否则作曲家自动加载器赢了没找到.
I think you need to match your file name to your class name so it should be ExtractLinkCommand.php
, otherwise the composer autoloader won't find it.
这篇关于PHP未捕获错误:使用作曲家自动加载找不到类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PHP未捕获错误:使用作曲家自动加载找不到类
- Mod使用GET变量将子域重写为PHP 2021-01-01
- Laravel 仓库 2022-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- 没有作曲家的 PSR4 自动加载 2022-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- SoapClient 设置自定义 HTTP Header 2021-01-01
- 带有通配符的 Laravel 验证器 2021-01-01