sebsept/ps_dev_base

用于高质量 Prestashop 模块开发的工具。

资助包维护!
Ko Fi

安装: 354

依赖: 0

建议者: 0

安全: 0

星标: 9

关注者: 3

分支: 0

开放问题: 12

类型:composer-plugin

3.2.0 2022-11-04 15:59 UTC

This package is auto-updated.

Last update: 2024-09-04 20:11:24 UTC


README

本包提供用于 Prestashop 模块开发 的工具。
它旨在 减轻安装和配置基本开发工具的负担

code quality

快速开始

composer require --dev sebsept/ps_dev_base
composer list psdt

要求

  • 已安装 composer 2(不是 composer 1.x)。如果您没有 composer,是时候 开始学习它 了。
  • 您的模块必须要求 php >= 7.2.5

为了便于使用,我强烈建议使用 composer 的命令行自动完成。
有几个选项可供选择,这个选项 由 composer 推荐

特色工具

  • 代码格式化:使用 prestashop 标准配置的 php-cs-fixer,开箱即用。
  • 代码分析:phpstan 自动检测 PrestaShop 根目录或询问(无需做更多操作)。
  • fill-indexes 命令,用于添加所需的 index.php 文件。(下面有详细说明)
  • git 预提交钩子安装程序(下面有详细说明)

更多工具将陆续推出...

它是如何工作的?

此包是 composer 插件,它向 composer 命令行工具添加新命令。
这些命令位于 psdt(PrestaShop 开发工具)命名空间下。

第一次运行命令时,也会添加一个 composer 脚本。例如,可以使用 composer psdt:php-cs-fixer 调用 php-cs-fixer。
您甚至可以通过 定义别名 来进行额外操作。

提供的命令

php-cs-fixer

composer psdt:php-cs-fixer [--reconfigure]

格式化 php 文件以符合 Prestashop 标准。这允许代码库保持一致。

PrestaShop/php-dev-tools/ 提供。
本包提供自动安装。

允许符合 Prestashop 标准

第一次运行(或使用 --reconfigure 选项时)

  • 如果需要,将安装 PrestaShop/php-dev-tools 包。
  • .php_cs 文件将(重新)创建为 Prestashop 标准样式。(破坏性操作,请在版本控制下获取您的文件!)
  • 将添加 composer 脚本 php-cs-fixer。因此,您可以使用 composer php-cs-fixer 调用此命令。

下一次运行将运行修复器。所有文件都将根据 Prestashop 标准进行格式化。

phpstan

composer psdt:phpstan [--reconfigure]

使用 Prestashop 标准 对 PrestaShop 安装进行 phpstan。

PrestaShop/php-dev-tools/ 提供。
本包提供自动安装。

第一次运行或 composer psdt:phpstan --reconfigure 将执行以下操作

  • 将安装(如果需要)包 prestashop/prestashop-dev-tools
  • 创建/覆盖 phpstan.neon 配置文件,使用 Prestashop 标准。
  • 猜测 _PS_ROOT_DIR_ 并请求确认(或者你可以提供另一个路径)(此路径用于分析)
  • 安装 composer 脚本 phpstan

接下来的运行将触发 composer psdt:phpstan

fill-indexes

composer psdt:fill-indexes [--check-only]

在每个文件夹中添加缺失的 index.php 文件。现有的 index.php 文件不会被覆盖。

--check-only 选项仅列出缺失的 index.php 文件,而不会添加它们。
此选项在 git 的 pre-commit 钩子中运行时非常有用。

这是 Prestashop 的一个安全要求,以避免列出内容。

更多信息请参阅官方文档:此处

我不能包含 prestashop/autoindex,因为它 针对 php 5.6 并且有其他问题。
我的替代方案更简单,不需要额外的依赖。

Git Pre-commit 钩子安装程序

composer psdt:pre-commit [--reconfigure]

  • 添加了 precommit.sh 文件
  • 创建到 .git/hooks/pre-commit 的符号链接
  • 符号链接被设置为可执行
  • 添加了 composer 脚本 pre-commit

在执行提交之前,将触发 composer 脚本 pre-commit,并且必须成功(返回 0),否则提交将被中止。

composer pre-commit 脚本钩子中的命令由实现 PreCommitRegistrableCommand 接口命令提供。
目前是 phpstanphp-cs-fixerfill-indexes

您可以通过编辑 composer 脚本来调整脚本。
您可以通过运行 composer psdt:pre-commit(或 composer run-script pre-commit)来预测提交是否将失败。

安装

composer require --dev sebsept/ps_dev_base

内部原理 / 致谢

php-cs-fixerphpstan 的配置和启动由 PrestaShop/php-dev-tools/ 提供。
存储库操作由 github workflows 实现。

下一步是什么?

查看此 GitHub 存储库中的问题。

开发说明(针对此包)

使用 ln -s $(pwd)/precommit.sh .git/hooks/pre-commit 安装 precommit 钩子(在 Linux 上有效)。请确保还将文件设置为可执行 chmod +x precommit.sh