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:
- eZ/Bundle - the bundles that are important to expose the functionality of the Backend and MVC layer to Symfony.
- eZ/Publish/Core/MVC - the parts that make up the different components extending Symfony.
- eZ/Publish/Core/Pagination - a component extending PagerFanta for pagination of eZ Platform search queries.
Backend:
- eZ/Publish/API - the definition of stable interfaces for the PHP Public API, mainly Content Repository API.
- eZ/Publish/SPI/Persistence - a layer which is not frozen yet, meaning it might change in between releases. Those are persistence interfaces for Storage Engine.
- eZ/Publish/SPI - (anything other than Persistence) is frozen and has a Backward Compatibility promise of Service Provider Interface, meaning no breaking changes both from consumption and implementation POV.
- eZ/Publish/Core - implementations of both APIs and SPIs; the naming aims to map to name of the interface they implement. For example,
Core\Persistence\Legacybeing implementation ofSPI\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/ezsystems/ezplatform-kernel.git cd ezplatform-kernel composer install
Run unit tests:
At this point you should be able to run unit tests:
php -d memory_limit=-1 vendor/bin/phpunit
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" php -d memory_limit=-1 vendor/bin/phpunit -c phpunit-integration-legacy.xml
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