Php 使用SensioGeneratorBundle生成bundle时出现错误symfony 3.4
使用sensio/generator捆绑包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
> 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
或从此处下载
希望能有所帮助在我建议重新制作一个新项目并执行以下步骤之前,您可能已经更改了一些内容