Php Symfony无法注册捆绑包
我在Php Symfony无法注册捆绑包,php,symfony,symfony-3.4,Php,Symfony,Symfony 3.4,我在symproject/src/MyAppBundle/src/bundle 此文件夹包含MyAppBundle.php: <?php namespace MyCompany\Action\Provider\MyAppBundle\Bundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class MyAppBundle extends Bundle { } public f
symproject/src/MyAppBundle/src/bundle
此文件夹包含MyAppBundle.php
:
<?php
namespace MyCompany\Action\Provider\MyAppBundle\Bundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class MyAppBundle extends Bundle
{
}
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 MyCompany\Action\Provider\MyAppBundle\Bundle\MyAppbundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
if ('dev' === $this->getEnvironment()) {
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
}
return $bundles;
}
这样做之后,该网站将根本无法工作。日志上写着:
PHP致命错误:未捕获错误:类
“MyCompany\Action\Provider\MyAppProvider\Bundle\MyAppBundle”不是
可在/var/www/html/symproject/app/AppKernel.php中找到:20\n堆栈
跟踪:\n#0
/var/www/html/symproject/vendor/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php(494):
AppKernel->registerBundles()\n#1
/var/www/html/symproject/vendor/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php(134):
Symfony\Component\HttpKernel\Kernel->initializeBundles()\n#2
/var/www/html/symproject/vendor/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php(197):
Symfony\Component\HttpKernel\Kernel->boot()\n#3
/var/www/html/symproject/web/app.php(19):
Symfony\Component\HttpKernel\Kernel->handle(对象(Symfony\Component\HttpFoundation\Request))\n#4
{main}\n在第行的/var/www/html/symproject/app/AppKernel.php中抛出
二十
您已将bundle类放置到 symproject/src/MyAppBundle/src/Bundle 文件夹,但名称空间无效 MyCompany\Action\Provider\MyAppBundle\Bundle 它应该类似于名称空间 App\MyAppBundle\Bundle 并移动到文件夹中 symproject/src/MyAppBundle/Bundle 或者您应该更改composer.json文件的autoload部分以使用不同的类加载
似乎找不到捆绑包
MyCompany\ACtion\Provider\MyAppProvider\bundle\MyAppBundle
,您是否已经拥有该类?您是否为bundle配置了自动加载?可能是因为C是大写的,而且它很小,因此您在路径/名称空间方面存在问题symproject/src/MyAppBundle/src/Bundle/MyAppBundle.php
应该是symproject/src/MyAppBundle/MyAppBundle.php
,然后调整名称空间。或者您必须在作曲家中定义psr-4。我想你把事情搞糟了。大写字母C是一个拼写错误,它是为了堆栈溢出而重写的。