magento2命令命名规则

7天成为Magento系统架构师,现在开始学习Magento全栈开发!

《Magento2.X企业级开发实战》

命名指南概述

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

作为扩展开发人员,您现在可以为Magento应用程序创建和分发自己的命令。但是对于任何实现来说,遵循一些常规也很重要,以使您的命令与其他开发人员的命令保持一致。以这种方式保持一致会减少用户的学习曲线。

本主题讨论我们推荐的命名约定。

命令名

命令名是命令的一部分,它在非常高的级别上定义命令的行为。在命令中,它紧跟在命令名之后。例如,在bin/magento setup:upgrade中,bin/magento是命令的名称,setup:upgrade是命令的名称。

如果手头有Magento安装,请输入以下内容以显示当前命令列表:

箱子/货物清单

格式:组:[主题:]操作

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

域区域(例如,包含模块的操作的模块,提供某些信息的命令的信息)

工作流区域(例如,管理员可以使用的命令为admin,开发人员可以使用dev)

主题

主体是行动的主体。主题是可选的,但它对于定义使用同一对象的命令集非常有用。如果主题由复合词表示,请使用破折号或连字符分隔这些词。

行动

动作是命令执行的动作。

例子

//一般命令:只是一个组和一个动作

bin/magento安装程序:安装

bin/magento模块:状态

//带有主题的命令集

bin/magento设置:配置:设置

bin/magento设置:配置:删除

bin/magento安装程序:数据库架构:升级

bin/magento设置:数据库数据:升级

db模式和db数据是复合词的示例。

命令选项和参数

选项和参数跟随命令名并修改命令的行为。

例如,在bin/magento module:disable–force magento_Catalog中,–force选项和magento_Catalog参数绕过限制并指定要禁用的特定模块;在这种情况下,不管依赖于其他模块。

选项和参数创建不同的用户体验。作为开发人员,您可以选择哪种类型的输入更适合您的特定情况。

命令参数

参数是用户按指定顺序传递的值。参数名称对用户不可见。

格式:单字或复合字,用破折号或连字符分隔

例子:

bin/magento-dev:主题:创建前端供应商主题名

哪里:

前端是一个主题领域的论点

vendor是一个vendor参数

themename是一个主题名参数

当需要用户提供所需数据时,请使用参数。我们建议尽可能少的参数(不超过三个),这样用户就不会混淆它们的顺序。

为方便用户,我们建议如下:

多次运行CLI以提供多个类似值,而不是使用20个值运行一次

在可能的情况下,对所需参数使用默认值。

然后可以使用选项而不是参数来最小化用户必须输入的所需数据量。

将参数替换为选项:选项已命名,因此用户可以按任意顺序提供它们。这需要额外的数据验证(默认情况下,所有选项都是可选的)。

命令选项

选项是名称-值对。输入值的顺序无关紧要。

选项可以有值,也可以没有值。不需要值的选项表示一个标志(是或否)。

选项也可以有一个单字母的快捷方式作为其全名的替代。为常用选项启用快捷方式,或者如果很容易确定快捷方式的含义。通常,为选项启用快捷方式是有意义的,这些选项与广泛使用的命令中使用的选项类似(例如,-f代表–force,-v代表–verbose,-h代表–help)。

格式:单字或复合字,用破折号或连字符分隔。

例如

bin/magento-dev:theme:create–parent=magento/luma前端arg1 arg2

bin/magento-dev:theme:create-p=magento/luma前端供应商themename

bin/magento-dev:theme:create–extend-from=magento/luma前端供应商themename

bin/magento模块:禁用-f magento\U Cms

哪里:

–parent是指定父主题的选项

-p是–parent的快捷方式

-f是非值选项的快捷方式–强制

arg1、arg2、frontend、vendor和themename是参数(请参见命令选项和参数)。

如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。