oxid-esales/coding-standards

OXID eShop 编码标准

v3.0.5 2018-06-06 13:05 UTC

README

此存储库包含OXID eShop编码标准定义,用于PHP Codesniffer,以及PHPStorm自动格式配置文件。PHP_CodeSniffer标准可能永远无法达到100%准确,但应将其视为在贡献OXID eShop时的一套强大指南。

请参阅OXID eShop编码标准文档:https://oxidforge.org/en/coding-standards.html

要求

  • 最新Composer版本

安装

编码标准设置使用composer获取所需软件包,请确保已安装并可以访问composer。您可以在此处找到composer安装指南。

选择安装编码标准的目录

编码标准可以直接在商店中安装或安装到任何其他目录。然而,安装方式会根据所选位置略有不同。我们建议使用商店目录安装。

选项1:选择商店目录进行安装(首选方式)

要将编码标准安装到商店目录中,请更新/创建composer.json,并包含以下值

{
    "name": "oxid-esales/eshop",
    "description": "OXID eShop",
    "type": "project",
    "keywords": ["oxid", "modules", "eShop"],
    "homepage": "https://www.oxid-esales.com/en/home.html",
    "license": [
        "GPL-3.0",
        "proprietary"
    ],
    "repositories": {
        "oxid-esales/coding-standards": {
            "type": "vcs",
            "url": "https://github.com/OXID-eSales/coding_standards.git"
        },
        "squizlabs/php_codesniffer": {
            "type": "vcs",
            "url": "https://github.com/OXID-eSales/PHP_CodeSniffer.git"
        }
    },
    "require-dev": {
        "oxid-esales/coding-standards": "^2.0.0"
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

以这种方式安装,您可以使用phpcsoxid二进制文件通过shop/path/vendor/bin/phpcsoxid检查您的商店目录中的标准错误。最新的开发商店版本已经在其源代码中包含了composer.json文件,因此不需要进行任何更改。

选项2:选择任何目录进行安装(替代方式)

要将编码标准安装到任何目录,您需要从Github检出编码标准到所需的目录(git clone https://github.com/OXID-eSales/coding_standards.git)。以这种方式安装,二进制文件将可通过coding_standards/bin访问。您必须手动设置要检查编码标准错误的目录,通过为oxid phpcs二进制文件提供目录路径作为参数,例如:phpcsoxid /path/to/my/shop/

安装编码标准

您选择了安装编码标准的目录后,请按照以下步骤操作

  1. 导航到您选择的安装目录。
  2. 使用composer设置编码标准组件(composer install)。确保您从包含composer.json的目录中执行此操作。

运行编码标准检查

要运行编码标准检查,请使用phpcsoxid二进制文件
phpcsoxid - 使用预配置的Oxid标准运行phpcs,并显示错误列表。
phpcsoxid /some/other/path - 使用预配置的Oxid标准在特定目录上运行phpcs
(如果您没有使用“选项1”安装方法安装编码标准,则必须始终提供要检查的目录。)

您还可以使用标准codesniffer(phpcs)选项,例如
phpcsoxid --report=summary

或者,您也可以使用原始phpcs,但您必须自行配置它。例如
phpcs --standard=/path/to/Standard/directory/Oxid/ /path/to/directory/for/checking/standards