Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用SensioGeneratorBundle生成bundle时出现错误symfony 3.4_Php_Symfony_Symfony 3.4 - Fatal编程技术网

Php 使用SensioGeneratorBundle生成bundle时出现错误symfony 3.4

Php 使用SensioGeneratorBundle生成bundle时出现错误symfony 3.4,php,symfony,symfony-3.4,Php,Symfony,Symfony 3.4,使用sensio/generator捆绑包symfony^3.4生成新捆绑包时遇到问题,我要做的是: > symfony new calendar --version=^3.4 > cd calendar > composer require sensio/generator-bundle > php bin/console generate:bundle: > planning on sharing this bundle: yes > Bundle

使用sensio/generator捆绑包symfony^3.4生成新捆绑包时遇到问题,我要做的是:

> symfony new calendar --version=^3.4
> cd calendar
>  composer require sensio/generator-bundle

> php bin/console generate:bundle:
> planning on sharing this bundle: yes
>  Bundle namespace: Nmateo/CalBundle
> Bundle name"NmateoCalBundle": [enter]
> Target Directory"src/": [enter]
> Configuration format"xml": [enter]

> symfony new calendar --version=^3.4
> cd calendar
> composer require sensio/generator-bundle

> php bin/console generate:bundle:
> planning on sharing this bundle: yes
> Bundle namespace: Nmateo/CalBundle
> Bundle name"NmateoCalBundle": [enter]
> Target Directory"src/": [enter]
> Configuration format"xml": [enter]
然后我得到这个信息:

该命令无法自动配置所有内容。
您需要手动进行以下更改。
-编辑composer.json文件并注册捆绑包 “自动加载”部分中的命名空间:

-编辑/home/nmateo/Documents/calendar/src/Kernel.php 并在AppKernel::registerBundles()方法中添加以下捆绑包:
新建Nmateo\CalBundle\NmateoCalBundle()

所以我在autoloader中注册了它:

   "autoload": {
   "psr-4": {
        "App\\": "src/",
        "Nmateo\\CalBundle\\": "src/Nmateo/CalBundle/"
    }
},
"autoload-dev": {
    "psr-4": {
        "App\\Tests\\": "tests/",
        "Nmateo\\CalBundle\\": "src/Nmateo/CalBundle/"
    }
},
并在Kernel.php中的registerBundles末尾添加了新的Nmateo CalBundle NmateoCalBundle:

    public function registerBundles()
{
    $contents = require $this->getProjectDir().'/config/bundles.php';
    foreach ($contents as $class => $envs) {
        if ($envs[$this->environment] ?? $envs['all'] ?? false) {
            yield new $class();
        }
    }
    new Nmateo\CalBundle\NmateoCalBundle();
}
并执行编写器转储自动加载:

生成的自动加载文件包含0个类

然后我启动我的服务器,并得到了这个错误,我尝试了很多次


编辑:很抱歉代码引用中的文本,但是stackoverflow让我很头疼,因为它不想发布我的问题。它说:请将您的代码放在代码引用中。我的所有代码都已经放在代码引用中了。

在使用任何捆绑包之前阅读GitHub存储库。此捆绑包无法与Symfony 4.0配合使用

Symfony 3.4等于LTS Symfony 4.0

Sensiolabs使用*.4th版本作为功能冻结版本



“警告:此捆绑包不支持Symfony 4。它也不支持Symfony Flex创建的新的无捆绑包目录结构。请改用Maker捆绑包。”

Symfony 3.4在生成新捆绑包时遇到问题,这是一个已知问题, 要修复此问题,请按如下所示更改代码

"autoload": {
"psr-4": {
    "": "src/"
}
我们所做的是在composer中指定每个新生成的bundle都将从
/src

要完成此过程,您需要运行

composer dump-autoload
确保您有文件
composer.phar
或从此处下载


希望能有所帮助

在我建议重新制作一个新项目并执行以下步骤之前,您可能已经更改了一些内容