• Magento2自定义命令


    命令命名准则

    命名指南概述

    Magento 2引入了一个新的命令行界面(CLI),使组件开发人员能够插入模块提供的命令。

    Command name

    Command name 在命令中,它紧跟在命令的名称之后。

    例如:

    bin/magento setup:upgrade 中: bin/magento  是命令的名称 && setup:upgrade 是命令的名称。

    输入以下内容以显示当前命令列表:

    php <your Magento install dir>/bin/magento --list

    格式 : group:[subject:]action

    group

    group表示一组相关命令。组中的命令显示在列表中,这反过来使用户更容易找到所需的命令。要查找命令的组名,请设想可以使用它的主题区域。主题领域 可以是以下任何一种:

    • 域区域(例如,模块操作模块,提供某些信息的命令信息)
    • 工作流区域(例如,admin可以由管理员使用,dev可供开发人员使用)

    subject

    subject 是可以行动的 subject。主题是可选的,但它可用于定义使用同一对象的命令集。如果主题由复合词表示,请使用短划线或连字符分隔单词。

    action

    action 是命令执行的操作。

    实例:

    ###一般命令:只有一个组和一个动作
    magento setup:install
    magento module:status
    
    ###一组带有主题的命令
     magento setup:config:set
    magento setup:config:delete
    magento setup:db-schema:upgrade
    magento setup:db-data:upgrade
    

      

    如何添加CLI命令

    添加CLI命令的概述

    Magento使您的组件能够向类似Symfony的命令行界面(CLI)添加命令。

    关于Magento CLI

    Magento有一个命令行界面,可以执行安装和配置任务:<your Magento install dir>/bin/magento新界面执行多项任务,包括:

    • 安装Magento(以及相关任务,如创建或更新数据库模式,创建部署配置等)
    • 清除缓存
    • 管理索引,包括重建索引
    • 创建翻译词典和翻译包
    • 为插件生成不存在的类(如工厂和拦截器),为对象管理器生成依赖项注入配置。
    • 部署静态视图文件
    • 从LESS创建CSS

    其他福利:

      • 单个命令(php <your Magento install dir>/bin/magento list)列出了所有可用的安装和配置命令
      • 基于Symfony的一致用户界面
      • CLI是可扩展的,因此第三方开发人员可以“插入”它。
        这具有消除用户学习曲线的额外好处
      • 禁用模块的命令不显示。

    先决条件

    在开始之前,请确保您了解以下内容:

    使用依赖项注入添加CLI命令

    Magento 2示例模块提供了许多编程技术的演示,包括使用依赖注入添加CLI命令 看一下这个sample-module-command例子吧。该模块的README.md讨论了如何安装它。

    以下是该过程的摘要:

    1. 创建一个Command类(建议的位置是<your component root dir>/Console/Command)。

      请参阅app/code/Magento/CommandExample/Console/Command示例。

    2. MagentoFrameworkConsoleCommandListInterface 使用依赖注入(<your component root dir>/etc/di.xml声明您的Command类
    3. 清理 缓存 和已编译的代码目录:

      cd <your Magento install dir>/var
      rm -rf cache/* page_cache/* di/* generation/* 
      

        

      使用Composer自动加载器添加CLI命令

       

  • 相关阅读:
    微信红包实现算法
    Java中Redis简单入门
    Java之英格玛简单实现以及加密验证码的应用
    Java实现二维码
    String,StringBuffer,StringBuilder个人认为较重要的区别
    Java中Comparable和Comparator你知多少?
    Oracle
    maven下载及安装最详解
    破解路由器
    Activiti工作流学习-----基于5.19.0版本(8)
  • 原文地址:https://www.cnblogs.com/q1104460935/p/9326964.html
Copyright © 2020-2023  润新知