嗨,我一直在学习symfony,每次我使用"php bin/console generate:bundle"命令创建一个包,即使我默认保留所有内容,我仍然会收到此错误:
该命令无法自动配置所有内容.您需要手动进行以下更改.编辑composer.json文件并在"autoload"部分中注册bundle命名空间:
我在stackoverflow中看到,当你试图将软件包放在一个不同于src的文件中时,会出现这个问题,但事实并非如此,因为我告诉你我默认保留所有内容; 我的意思是我只需输入包名称然后继续按Enter键直到进程结束.谁能告诉我我做错了什么?是什么原因?谢谢
我正在尝试将 Symfony 3.4 应用程序更新到 Symfony 4。在我当前的应用程序中,我总是AdminBundle在src. 我知道 Symfony 4 现在建议“无捆绑”。但这个 AdminBundle 是我大多数项目的基础,有时我会对它进行一些更新,这些更新可以部署到我的所有项目中,只需推送到存储库即可。
我尝试通过 AdminBundle 移动内部src,但显然这是行不通的。任何人都可以详细说明使此捆绑包以通用方式在 Symfony 4 下工作所需的配方或配置吗?
如果这是不可能的,那么在 symfony 4 中创建可重用代码的最佳方法是什么?
所以,我正在尝试创建一个新项目,但内核正在发生一些事情,我并不理解.每次当我生成新的Bundle并尝试创建控制器或任何东西时,会出现此错误:
PHP致命错误:未捕获的Symfony\Component\Debug\Exception\ClassNotFoundException:尝试从命名空间"ContactBoxBundle"加载类"ContactBoxBundle".您是否忘记了另一个命名空间的"use"语句?在/var/www/ContactBox/app/AppKernel.php:19堆栈跟踪:
0 /var/www/ContactBox/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(450):
AppKernel-> registerBundles()
1 /var/www/ContactBox/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(116):
的Symfony \组件\ HttpKernel \内核级> initializeBundles()
2 /var/www/ContactBox/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(137):
Symfony的\分量\ HttpKernel \内核级>启动()
3 /var/www/ContactBox/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(124):
的Symfony \捆绑\ FrameworkBundle \控制台\应用 - > registerCommands()
4 /var/www/ContactBox/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(90):
第19行的/var/www/ContactBox/app/AppKernel.php中的Symfony\Bundle\FrameworkBundle\Console\Application-> ad
我以前在Symfony做过项目,它从未发生在我身上.有任何想法吗?我使用控制台命令"bin/console generate:bundle"生成了Bundle.它生成它应该的一切,默认控制器,模板和类,但由于这个错误,我无法进一步做这件事.有任何想法吗?
AppKernel.php
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new ContactBoxBundle\ContactBoxBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); …Run Code Online (Sandbox Code Playgroud)