Awesome
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 configurationscache_driver
array with Doctrine cache configurationstype
string representing cache type,apc
,xcache
,memcache
,redis
orarray
host
string representing caching daemon host, needed formemcache
andredis
, defaults to '127.0.0.1'port
string representing caching daemon port, optionally available formemcache
(defaults to 11211) andredis
(defaults to 6379)
proxy_path
path were Doctrine creates its proxy classes, defaults to /tmpannotation_files
array of Doctrine annotations filesannotation_namespaces
array of Doctrine annotations namespacesannotation_autoloaders
array of Doctrine annotations autoloader callablesannotation_paths
array of paths where to find annotated entity filesxml_paths
array of paths where to find XML entity mapping filesyaml_paths
array of paths where to find YAML entity mapping filesauto_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