doctrine/phpcr-odm

PHP Doctrine Content Repository Object Document Mapper (ODM) provides transparent persistence for PHP objects.

2.0.1 2024-05-05 10:06 UTC

README

Build Status Latest Stable Version Total Downloads

Requirements

Documentation

Please refer to doctrine-project.org for the documentation.

Contributing

Pull requests are welcome. Please include tests to prevent regressions whenever possible.

Thanks to everyone who has contributed already.

Running the tests

There are separate test setups for the doctrine-dbal and the jackrabbit PHPCR implementations. Before installing the composer dependencies, you will need to prepare the database for storage and choose a phpcr/phpcr-implementation. Doing so will change the composer.json file - please make sure you do not check in this change into version control.

Setting up to test with Jackrabbit

  1. Make sure you have java and wget installed, then run this script to install and start jackrabbit:
        tests/script_jackrabbit.sh
    
  2. Require the PHPCR implementation:
         composer require jackalope/jackalope-jackrabbit --no-update
    
  3. Now you can install all dependencies with:
        composer install
    
  4. Now you can run the tests:
    vendor/bin/phpunit -c tests/phpunit_jackrabbit.xml.dist
    
    You can also copy the phpunit dist file to ./phpunit.xml to have it selected by default, or if you need to customize any configuration options.

Setting up to test with Doctrine-DBAL

  1. For doctrine-dbal, make sure that MySQL is installed. If the connection parameters in cli-config.doctrine_dbal.php.dist are not correct, manually create cli-config.php and adjust the options as needed. Then run the script to initialize the repository in the database:
        tests/script_doctrine_dbal.sh
    
  2. Require the PHPCR implementation
        composer require jackalope/jackalope-doctrine-dbal --no-update
    
  3. Now you can install all dependencies with:
        composer install
    
  4. Now you can run the tests:
    vendor/bin/phpunit -c tests/phpunit_doctrine_dbal.xml.dist
    
    You can also copy the phpunit dist file to ./phpunit.xml to have it selected by default, or if you need to customize any configuration options.