ibexa/core

Ibexa DXP 和开源核心。提供内容仓库、其 API 以及应用的 Symfony 框架集成。

维护者

详细信息

github.com/ibexa/core

主页

源代码

安装数量: 557,382

依赖者: 67

建议者: 0

安全: 5

星标: 5

关注者: 13

分支: 13

v4.6.11 2024-09-16 12:34 UTC

This package is auto-updated.

Last update: 2024-09-20 13:54:10 UTC


README

此包是 Ibexa DXP 的一部分。

要使用此包,请 安装 Ibexa DXP

此包包含一个高级内容模型,允许在未来的内容仓库中结构化任何类型的内容或类似内容的数据。Ibexa 内核还旨在为 MVC 层(Symfony)提供附加功能,以提高您的生产力 Ibexa DXP

当前组织

MVC 层

  • src/bundle - 这些捆绑包对于将后端和 MVC 层的功能暴露给 Symfony 至关重要。
  • src/lib/MVC - 构成扩展 Symfony 的不同组件的部分。
  • src/lib/Pagination - 扩展 PagerFanta 以对 Ibexa 搜索查询进行分页的组件。

后端

  • src/contracts - PHP 公共 API 的稳定接口定义,主要是内容 仓库 API
  • src/contracts/Persistence - 还未冻结的一层,意味着它可能会在版本之间发生变化。这些是存储引擎的持久化接口。
  • src/lib - API 合同的实现;命名旨在映射到它们实现的接口名称。例如,Ibexa\Core\Persistence\LegacyIbexa\Contracts\Core\Persistence 的实现。

本地测试

此内核包含一套全面的单元、功能和集成测试。截至编写时,有 9k 个单元测试、8k 个集成测试和一些功能测试。

依赖项

  • PHP 7 模块:php7_intl php7_xsl php7_gd php7_sqlite (即 pdo\_sqlite
  • 数据库:sqlite3,可选:mysql/postgres 如果使用,请确保安装了相关的 pdo 模块

要为此捆绑包做出贡献,您应该确保运行单元测试和集成测试。

  1. 在本地设置此仓库

    # Note: Change the line below to the ssh format of your fork to create topic branches to propose as pull requests
    git clone https://github.com/ibexa/core.git
    cd core
    composer install
  2. 运行单元测试

    此时,您应该能够运行单元测试

    composer unit
  3. 运行集成测试

    # If you want to test against mysql or postgres instead of sqlite, define one of these with reference to an empty test db:
    # export DATABASE="mysql://root@localhost/$DB_NAME"
    # export DATABASE="pgsql://postgres@localhost/$DB_NAME"
    composer integration

    要运行针对 Solr 的集成测试,请参阅 Ibexa DXP 的 Solr 搜索引擎捆绑包

版权

版权所有 (C) 1999-2021 Ibexa AS(原 eZ Systems AS)。保留所有权利。

许可证

此源代码可在以下许可证下单独使用

A - Ibexa 商业用途许可协议(Ibexa BUL),版本 2.4 或更高版本(许可证条款可能会不时更新)Ibexa BUL 通过拥有有效的 Ibexa DXP(原 eZ Platform Enterprise)订阅获得,如 https://www.ibexa.co/product 中所述。有关完整的 Ibexa BUL 许可协议文本,请参阅 https://www.ibexa.co/software-information/licenses-and-agreements(适用最新版本)

并且

B - GNU通用公共许可证,版本2授予完全无任何保证的copyleft开源许可证。有关完整的GPL许可证文本,请参阅:https://www.gnu.org/licenses/old-licenses/gpl-2.0.html