首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silex命令失败

Silex命令失败
EN

Stack Overflow用户
提问于 2017-02-28 18:35:49
回答 1查看 287关注 0票数 1

当我尝试使用Silex运行控制台命令时,出现此错误。

代码语言:javascript
复制
PHP Error:  Class 'Testing\Command\TestingCommand' not found in /var/www/testCmd/app/console on line 9
PHP Stack trace:
PHP   1. {main}() /var/www/testCmd/app/console:0
PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "TestingCommand" from namespace "Testing\Command".
Did you forget a "use" statement for another namespace? in /var/www/testCmd/app/console:9
Stack trace:
#0 {main}
  thrown in /var/www/testCmd/app/console on line 9

我有app/console.php和app/bootstrap.php文件。控制台正在加载bootstrap,在控制台文件中我有一些类似的东西:

代码语言:javascript
复制
#!/usr/bin/env php
<?php

set_time_limit(0);

$app = require_once __DIR__ . '/bootstrap.php';

$application = $app['console'];
$app['console']->add(new \Testing\Command\TestingCommand());
$application->run();

编写器文件

代码语言:javascript
复制
{
    "name": "testing/Command",
    "require": {
        "knplabs/console-service-provider": "^2.0",
        "silex/silex": "^2.0",
        "symfony/monolog-bridge": "^3.1",
        "doctrine/common": "^2.6",
        "doctrine/dbal": "^2.5"
    },
    "autoload": {
        "psr-4": {
            "\\": "src/"
        }
    }
}

该命令位于src/ command /TestingCommand.php中

我是Silex的新手,我不知道是什么导致了这个问题。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 18:54:23

Autoloader无法加载命令类。根据composer.json的自动加载部分和类名,包含此类的文件应位于src/Testing/Command/TestingCommand.php中。因此,您可以在此位置移动此文件或在composer.json中设置另一个搜索目录

代码语言:javascript
复制
"autoload": {
    "psr-4": {
        "Testing\\Command\\": "src/Command/"
        "\\": "src/"
    }
}

更改composer.json后,运行composer dump-autoload

https://getcomposer.org/doc/01-basic-usage.md#autoloading

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42506386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档