juliangut/slim-doctrine-middleware

Slim Framework Doctrine middleware

0.3.2 2015-09-04 17:39 UTC

This package is auto-updated.

Last update: 2021-01-15 04:00:14 UTC


README

Latest Version License

Build status Code Quality Code Coverage Total Downloads

Juliangut Slim Framework Doctrine handler middleware

Doctrine handler middleware for Slim Framework.

Slim3 version

Doctrine integration service for Slim3 can be found in its own repository juliangut/slim-doctrine

Installation

Best way to install is using Composer:

php composer.phar require juliangut/slim-doctrine-middleware

Then require_once the autoload file:

require_once './vendor/autoload.php';

Usage

Just add as any other middleware.

use Slim\Slim;
use Jgut\Slim\Middleware\DoctrineMiddleware;

$app = new Slim();

...

$app->add(new DoctrineMiddleware());

Configuration

There are two ways to configure Doctrine Middleware

First by using doctrine key in Slim application configuration

// Minimun configuration
$config = [
    'doctrine' => [
        'connection' => [
            'driver' => 'pdo_sqlite',
            'memory' => true,
        ],
        'annotation_paths' => ['path_to_entities_files'],
    ],
];

$app = new Slim($config);
$app->add(new DoctrineMiddleware());

Second way is assigning options directly to Doctrine Middleware

$app = new Slim();

$doctrineMiddleware = new DoctrineMiddleware();
$doctrineMiddleware->setOption(
    'connection',
    ['driver' => 'pdo_sqlite', 'memory' => true]
);
$doctrineMiddleware->setOption('annotation_paths', ['path_to_entities_files']);
$app->add($doctrineMiddleware);

Available configurations

  • connection array of PDO configurations
  • cache_driver array with Doctrine cache configurations
    • type string representing cache type, apc, xcache, memcache, redis or array
    • host string representing caching daemon host, needed for memcache and redis, defaults to '127.0.0.1'
    • port string representing caching daemon port, optionally available for memcache (defaults to 11211) and redis (defaults to 6379)
  • proxy_path path were Doctrine creates its proxy classes, defaults to /tmp
  • annotation_files array of Doctrine annotations files
  • annotation_namespaces array of Doctrine annotations namespaces
  • annotation_autoloaders array of Doctrine annotations autoloader callables
  • annotation_paths array of paths where to find annotated entity files
  • xml_paths array of paths where to find XML entity mapping files
  • yaml_paths array of paths where to find YAML entity mapping files
  • auto_generate_proxies bool indicating whether Doctrine should auto-generate missing proxies (default: true)

Note:

annotation_paths, xml_paths or yaml_paths is needed by Doctrine to include a Metadata Driver

Contributing

Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before

See file CONTRIBUTING.md

Contributors

License

Release under BSD-3-Clause License.

See file LICENSE included with the source code for a copy of the license terms