netgen / layouts-core
Netgen Layouts 使您能够以更简单的方式和更少的编码来构建和管理复杂的网页。这是 Netgen Layouts 的核心,它的灵魂和精髓。
Requires
- php: ^7.4 || ^8.1
- ext-intl: *
- ext-mbstring: *
- doctrine/collections: ^1.8 || ^2.1
- doctrine/dbal: ^2.13 || ^3.5
- doctrine/doctrine-bundle: ^1.12 || ^2.7
- doctrine/doctrine-migrations-bundle: ^2.2 || ^3.2
- egulias/email-validator: ^2.1.25 || ^3.2
- emodric/twig-package-versions: ^1.1
- ezyang/htmlpurifier: ^4.16
- friendsofsymfony/http-cache-bundle: ^1.3.16 || ^2.11
- jean85/pretty-package-versions: ^1.6 || ^2.0
- knplabs/knp-menu-bundle: ^2.3 || ^3.2
- netgen/content-browser: ^1.4
- netgen/layouts-ui: ~1.4.0
- nikolaposa/version: ^4.1
- pagerfanta/pagerfanta: ^2.7 || ^3.6
- ramsey/uuid: ^3.9 || ^4.2
- sensio/framework-extra-bundle: ^5.4 || ^6.2
- swaggest/json-schema: ^0.12.41
- symfony/asset: ^3.4.47 || ^5.4 || ^6.2
- symfony/config: ^3.4.47 || ^5.4 || ^6.2
- symfony/console: ^3.4.47 || ^5.4 || ^6.2
- symfony/dependency-injection: ^3.4.47 || ^5.4 || ^6.2
- symfony/deprecation-contracts: ^2.5 || ^3.2
- symfony/doctrine-bridge: ^3.4.47 || ^5.4 || ^6.2
- symfony/event-dispatcher: ^3.4.47 || ^5.4 || ^6.2
- symfony/expression-language: ^3.4.47 || ^5.4 || ^6.2
- symfony/form: ^3.4.47 || ^5.4 || ^6.2
- symfony/framework-bundle: ^3.4.47 || ^5.4 || ^6.2
- symfony/http-client: ^5.4 || ^6.2
- symfony/http-foundation: ^3.4.47 || ^5.4 || ^6.2
- symfony/http-kernel: ^3.4.47 || ^5.4 || ^6.2
- symfony/intl: ^3.4.47 || ^5.4 || ^6.2
- symfony/monolog-bundle: ^3.6
- symfony/options-resolver: ^3.4.47 || ^5.4 || ^6.2
- symfony/polyfill-php80: ^1.27
- symfony/property-access: ^3.4.47 || ^5.4 || ^6.2
- symfony/routing: ^3.4.47 || ^5.4 || ^6.2
- symfony/security-bundle: ^3.4.47 || ^5.4 || ^6.2
- symfony/security-core: ^3.4.47 || ^5.4 || ^6.2
- symfony/security-csrf: ^3.4.47 || ^5.4 || ^6.2
- symfony/serializer: ^3.4.47 || ^5.4 || ^6.2
- symfony/string: ^5.4 || ^6.2
- symfony/translation: ^3.4.47 || ^5.4 || ^6.2
- symfony/twig-bridge: ^3.4.47 || ^5.4 || ^6.2
- symfony/twig-bundle: ^3.4.47 || ^5.4 || ^6.2
- symfony/validator: ^3.4.47 || ^5.4 || ^6.2
- symfony/yaml: ^3.4.47 || ^5.4 || ^6.2
- twig/twig: ^2.15 || ^3.9
- xemlock/htmlpurifier-html5: >=0.1.11, <1.0
Requires (Dev)
- behat/behat: ^3.7
- behat/mink: ^1.9
- behat/mink-selenium2-driver: ^1.6
- coduo/php-matcher: ^3.2 || ^6.0
- friends-of-behat/mink-browserkit-driver: ^1.3
- friends-of-behat/mink-extension: ^2.5
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1@beta
- friends-of-behat/variadic-extension: ^1.3
- lchrusciel/api-test-case: ^4.1 || ^5.2
- matthiasnoback/symfony-config-test: ^4.2 || ^5.0
- matthiasnoback/symfony-dependency-injection-test: ^4.2 || ^5.0
- netgen/layouts-coding-standard: ^2.0
- netgen/layouts-standard: ~1.4.0
- phpstan/phpstan: ^1.9
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.4
- phpstan/phpstan-symfony: ^1.2
- phpunit/phpunit: ^8.5 || ^9.6 || ^10.1
- sebastian/diff: ^3.0 || ^4.0 || ^5.0
- symfony/phpunit-bridge: ^6.2
- symfony/runtime: ^5.4 || ^6.2
- symfony/var-dumper: ^3.4.47 || ^5.4 || ^6.2
- vimeo/psalm: ^4.30 || ^5.4
- webmozart/assert: ^1.11
Conflicts
- composer/package-versions-deprecated: <1.11.99
- ocramius/proxy-manager: <2.1
- symfony/proxy-manager-bridge: <3.4.47
- dev-master / 1.4.x-dev
- 1.4.10
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0.4
- 1.3.0.3
- 1.3.0.2
- 1.3.0.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.13.1
- 0.13.0
- 0.12.2
- 0.12.1
- 0.12.0.2
- 0.12.0.1
- 0.12.0
- dev-twig39
This package is auto-updated.
Last update: 2024-09-06 13:55:03 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