juliangut/slim-doctrine-middleware

Slim 框架 Doctrine 中间件

0.3.2 2015-09-04 17:39 UTC

This package is auto-updated.

Last update: 2024-09-15 11:36:43 UTC


README

Latest Version License

Build status Code Quality Code Coverage Total Downloads

Juliangut Slim 框架 Doctrine 处理器中间件

为 Slim 框架提供 Doctrine 处理器中间件。

Slim3 版本

Slim3 的 Doctrine 集成服务可以在其自己的仓库 juliangut/slim-doctrine 中找到

安装

最佳安装方式是使用 Composer

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

然后包含自动加载文件

require_once './vendor/autoload.php';

使用方法

只需将其添加为任何其他中间件即可。

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

$app = new Slim();

...

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

配置

配置 Doctrine 中间件有两种方式

首先是通过 Slim 应用程序配置中的 doctrine

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

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

第二种方式是将选项直接分配给 Doctrine 中间件

$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);

可用的配置

  • connection PDO 配置数组
  • cache_driver Doctrine 缓存配置数组
    • type 表示缓存类型的字符串,apcxcachememcacheredisarray
    • host 表示缓存守护进程主机,对于 memcacheredis 需要,默认为 '127.0.0.1'
    • port 表示缓存守护进程端口,对于 memcache(默认为 11211)和 redis(默认为 6379)是可选的
  • proxy_path Doctrine 创建其代理类所在的路径,默认为 /tmp
  • annotation_files Doctrine 注释文件数组
  • annotation_namespaces Doctrine 注释命名空间数组
  • annotation_autoloaders Doctrine 注释自动加载调用数组
  • annotation_paths 找到注释实体文件的路径数组
  • xml_paths 找到 XML 实体映射文件的路径数组
  • yaml_paths 找到 YAML 实体映射文件的路径数组
  • auto_generate_proxies 布尔值,表示 Doctrine 是否应自动生成缺少的代理(默认:true

注意

annotation_pathsxml_pathsyaml_paths 是 Doctrine 所需的,以包含元数据驱动程序

贡献

发现了错误或功能请求? 请创建一个新问题。在创建问题之前先查看现有问题

请参阅 CONTRIBUTING.md 文件

贡献者

许可证

在 BSD-3-Clause 许可证下发布。

请参阅包含在源代码中的 LICENSE 文件,以获取许可证条款的副本