我正在开发一个预prestashop模块(v.1.7.6),我想添加一些来自控制台的命令。问题是,当我配置服务并尝试运行
bin/console mymodule:mycommand
系统返回,在"mymodule“命名空间中没有定义任何命令.
我的services.yml
services:
mycommand_command:
class: Mymodule\MycommandCommand
tags:
- { name: 'console.command' }我的composer.json
{
"autoload": {
"psr-4": {
"Mymodule\\": "src/"
},
"classmap": [
"src/Command/"
]
},
"config": {
"preferred-install": "dist",
"prepend-autoloader": false
},
"type": "prestashop-module",
"author": "<???>",
"license": "<???>"
}有什么建议吗?
谢谢
发布于 2020-01-31 19:27:08
更新:
对自己说:
当你下一次搜索这个问题时-检查:
config/services.yml
旧版本:
确保您将autoloader转储到Composer中,并将protected static $defaultName = 'yourmodule:command';添加到命令类中,并设置Symfony文档中提到的任何其他方式的名称。
几天前我也遇到了同样的问题。
发布于 2020-02-03 18:33:31
您在哪里创建了命令类?In src/Command/?
发布于 2021-11-08 09:25:47
对任何人来说都是这样的:
按照下面这个链接上的步骤:模块根目录中的https://devdocs.prestashop.com/1.7/modules/concepts/commands/
{
"autoload": {
"psr-4": {
"<YOUR-MODULE>\\": "src/"
},
"classmap": [
"src/Command/"
]
},
"config": {
"preferred-install": "dist",
"prepend-autoloader": false
},
"type": "prestashop-module",
"author": "<AUTHOR>",
"license": "<LICENSE>"
}通过ssh和cd通过ssh连接到模块根composer dump-autoload -o --no-dev
<ps-root>/bin/console your-module:command运行
https://stackoverflow.com/questions/60007839
复制相似问题