This package is part of Ibexa DXP.
To use this package, install Ibexa DXP.
This package contains an advanced Content Model, allowing to structure any kind of content or content-like data in a future-proof Content Repository. Ibexa Kernel also aims to provide additional features for the MVC layer (Symfony) to increase your productivity Ibexa DXP.
MVC layer:
- src/bundle - the bundles that are important to expose the functionality of the Backend and MVC layer to Symfony.
- src/lib/MVC - the parts that make up the different components extending Symfony.
- src/lib/Pagination - a component extending PagerFanta for pagination of Ibexa search queries.
Backend:
- src/contracts - the definition of stable interfaces for the PHP Public API, mainly Content Repository API.
- src/contracts/Persistence - a layer which is not frozen yet, meaning it might change in between releases. Those are persistence interfaces for Storage Engine.
- src/lib - implementations of API Contracts; the naming aims to map to name of the interface they implement. For example,
Ibexa\Core\Persistence\Legacy
being implementation ofIbexa\Contracts\Core\Persistence
.
This kernel contains a comprehensive set of unit, functional, and integration tests. At the time of writing, 9k unit tests, 8k integration tests, and several functional tests.
Dependencies
- PHP 7 Modules: php7_intl php7_xsl php7_gd php7_sqlite (aka
pdo\_sqlite
) - Database: sqlite3, optionally: mysql/postgres if so make sure to have relevant pdo modules installed
For Contributing to this Bundle, you should make sure to run both unit and integration tests.
-
Set up this repository locally:
# 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
-
Run unit tests:
At this point you should be able to run unit tests:
composer unit
-
Run integration tests:
# 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
To run integration tests against Solr, see Solr Search Engine Bundle for Ibexa DXP.
Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.
This source code is available separately under the following licenses:
A - Ibexa Business Use License Agreement (Ibexa BUL), version 2.4 or later versions (as license terms may be updated from time to time) Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, as described at: https://www.ibexa.co/product For the full Ibexa BUL license text, please see: https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies)
AND
B - GNU General Public License, version 2 Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html