在Prestashop模块1.7.6中添加命令(控制台命令)

时间:2020-01-31 16:34:14

标签: composer-php prestashop-1.7 symfony-3.4

我正在开发一个prestashop模块(1.7.6版),我想添加一些可从控制台使用的命令。 问题是,当我配置服务并尝试运行

bin/console mymodule:mycommand

系统返回在“ mymodule”命名空间中没有定义任何命令。

这是我的服务。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": "<???>"
}

有什么建议吗?

谢谢

2 个答案:

答案 0 :(得分:0)

更新

对我自己

下次您搜索此问题时-检查:

  1. 在config / services.yml中定义的命令
  2. 模块已安装
  3. 抛弃了Composer autoloder

旧版本:

确保将自动加载器转储到Composer中,并将protected static $defaultName = 'yourmodule:command';添加到命令类中,并以Symfony文档中提到的其他任何方式设置名称。

几天前我也遇到了同样的问题。

答案 1 :(得分:0)

您在哪里创建Command类? In src/Command/吗?