contao/contao

Contao开源CMS开发包

资助包维护!
其他

安装数: 13,355

依赖项: 2

建议者: 0

安全: 18

星标: 340

关注者: 41

分支: 158

开放性问题: 407

类型:symfony-bundle

5.4.3 2024-09-17 06:22 UTC

This package is auto-updated.

Last update: 2024-09-20 13:51:24 UTC


README

Contao Open Source CMS

关于

Contao是一个强大的开源CMS,允许您创建专业网站和可扩展的Web应用。访问项目网站获取更多信息。

目的

此包的目的是在一个monorepo中开发Contao捆绑包。当您想要创建一个pull请求或报告一个问题时使用它。

monorepo自动分成独立的包

请勿在生产环境中使用 contao/contao!请使用分立的包。

白金合作伙伴

感谢我们的白金合作伙伴帮助我们资助Contao的开发。

开发

要创建一个pull请求并在运行中的Contao应用程序中测试您的更改,最简单的方法是使用Contao Managed Edition。首先在当前目录中安装它

composer create-project --no-install contao/managed-edition <directory> <branch>

<directory> 替换为您想要安装Managed Edition的目录(使用 . 表示当前目录)。如果您想添加新功能,请将 <branch> 替换为 5.x-dev,或者如果您想修复错误,请将其替换为 <lts-version>.x-dev(目前为 4.13.x-dev)。

然后调整您的 composer.json 文件中的 require 部分,以便Composer加载monorepo而不是单个捆绑包

"require": {
    "php": "^8.1",
    "contao/contao": "5.x-dev"
},

如果想要添加新功能,请使用 5.x-dev,如果想要修复错误,请使用 <lts-version>.x-dev

接下来,安装依赖项

composer update

Composer会自动将Git仓库克隆到 vendor/contao/contao 文件夹中。您可以通过在命令行中运行 vendor/bin/contao-setup 来完成设置。

您在 vendor/contao/contao 中所做的任何更改都将通过Git进行跟踪,因此您可以直接从您的应用程序提交pull请求。

运行脚本

首先安装代码质量工具

composer bin all install

然后通过Composer运行代码质量脚本

composer all

您也可以单独运行这些脚本

composer rector
composer ecs
composer service-linter
composer monorepo-tools
composer unit-tests
composer functional-tests
composer phpstan
composer depcheck

使用 -- 参数将额外的标志传递给底层命令

composer unit-tests -- --filter CoreBundle
composer ecs -- --clear-cache

功能测试

要设置功能测试,创建一个名为 contao_test 的数据库

mysql -e "CREATE DATABASE contao_test"

如果您的数据库使用凭证,请将文件 core-bundle/phpunit.xml.dist 复制到 core-bundle/phpunit.xml 并调整以下行

<php>
    <env name="DATABASE_URL" value="mysql://root@localhost:3306/contao_test" />
</php>

然后通过Composer运行功能测试

composer functional-tests

Node.js

要构建资源,您需要一个大于等于18.12的Node.js版本。然后运行以下命令

npm ci
npm run build

端到端测试

Contao端到端测试作为NPM包提供。您可以像这样安装和运行它们

npm install contao-e2e-tests --save-dev
npx contao-e2e-tests

许可

Contao遵循LGPLv3许可协议。

获取支持

访问支持页面了解可用的支持选项。