netgen/layouts-core

Netgen Layouts 使您能够以更简单的方式和更少的编码来构建和管理复杂的网页。这是 Netgen Layouts 的核心,它的灵魂和精髓。

安装数: 72,746

依赖者: 6

建议者: 0

安全性: 0

星标: 36

关注者: 5

分支: 6

公开问题: 2

类型:symfony-bundle

1.4.10 2024-09-06 13:14 UTC

README

这个仓库是 Netgen Layouts 的核心/内核。它不应作为一个独立的包安装。相反,请阅读如何在您的基于 Symfony 的应用程序中安装完整 Netgen Layouts 的安装说明

针对开发者

如果您打算开发 Netgen Layouts、修复错误、发送拉取请求等,请阅读以下部分了解如何运行各种测试套件。

运行测试需要您安装了完整的供应商,因此在运行测试之前,请运行 composer install

单元测试

从仓库根目录调用 composer test 来运行单元测试

$ composer test

这将使用内存中的 SQLite 数据库。

您还可以在真实数据库上运行单元测试。创建一个空的 MySQL 数据库,并使用以下命令运行测试:

$ DATABASE=mysql://root@localhost/nglayouts composer test

其中 mysql://root@localhost/nglayouts 是您 MySQL 数据库的数据源名称(DSN)。

您还可以使用 PostgreSQL

$ DATABASE=pgsql://user:pass@localhost/nglayouts composer test

布局编辑应用程序 REST API 测试

从仓库根目录调用 composer test-api 来运行布局编辑应用程序的 REST API 测试

$ composer test-api

就像单元测试一样,这将使用一个临时 SQLite 数据库。

您还可以使用 DATABASE 环境变量来使用 MySQL 或 PostgreSQL 数据库运行测试

$ DATABASE=mysql://root@localhost/nglayouts composer test-api

Behat 测试

管理界面的某些部分通过 Behat 测试进行覆盖。这些测试使用 Chrome WebDriver 运行。在运行测试之前,您需要安装 Chrome WebDriver 并运行它,以及用于测试的 Symfony CLI。有一个方便的 shell 脚本 tests/prepare_behat.sh,它将下载最新的 Chrome WebDriver 和 Symfony CLI 并启动测试 web 服务器。

要运行测试,只需执行以下操作

$ composer behat

这将带有 Chrome UI 运行测试。

要在没有 Chrome UI 的情况下运行测试并节省一些时间,您可以使用

$ chrome behat-headless

静态分析

所有代码都使用 PHPStan 和 Psalm 进行静态分析。确保在您的更改之后,这两个工具都对整个代码库给出了“OK”。运行以下命令分别运行 PHPStan 和 Psalm 对库/捆绑代码和测试代码:

$ composer phpstan
$ composer phpstan-tests
$ composer psalm

编码标准

此仓库使用 PHP CS Fixer 和 .php-cs-fixer.php 文件中定义的规则来强制执行编码标准。请在提交补丁之前检查代码中的任何 CS 违规。

$ php-cs-fixer fix