layout: default permalink: /adapter/phpcr/
This adapter works with any PHPCR implementation.
Choose the one that fits your needs and add it to your project, or composer
will complain that you miss phpcr/phpcr-implementation
. See
this article
for more on choosing your implementation.
Assuming you go with jackalope-doctrine-dbal, do:
composer require jackalope/jackalope-doctrine-dbal league/flysystem-phpcr
Bootstrap your PHPCR implementation. If you chose jackalope-doctrine-dbal with sqlite, this will look like this for example:
use League\Flysystem\Filesystem;
use League\Flysystem\Phpcr\PhpcrAdapter;
use Jackalope\RepositoryFactoryDoctrineDBAL;
use Doctrine\DBAL\Driver\Connection;
use Doctrine\DBAL\DriverManager;
$connection = DriverManager::getConnection([
'driver' => 'pdo_sqlite',
'path' => '/path/to/sqlite.db',
]);
$factory = new RepositoryFactoryDoctrineDBAL();
$repository = $factory->getRepository([
'jackalope.doctrine_dbal_connection' => $connection,
]);
$session = $repository->login(new SimpleCredentials('', ''));
// this part looks the same regardless of your phpcr implementation.
$root = '/flysystem_tests';
$filesystem = new Filesystem(new PhpcrAdapter($session, $root));