palma/doctrineormserviceprovider

Silex DoctrineORM 服务提供者

1.0 2017-10-07 09:29 UTC

This package is not auto-updated.

Last update: 2024-09-20 14:21:01 UTC


README

此库为您提供了一个 Silex DoctrineORM 服务提供者。

此服务提供者需要 PHP 5.3+、Silex 和 DoctrineORM。

DoctrineORM 包含在 composer.json 中。

参数

  • doctrine_orm.entities_path: 实体路径。
  • doctrine_orm.proxies_path: 代理路径。
  • doctrine_orm.proxies_namespace: 代理命名空间。
  • doctrine_orm.connection_parameters: Doctrine DBAL 连接参数数组。有关 DBAL 配置的说明,请参阅 DBAL 配置
  • doctrine_orm.metadata_cache: 可选。此参数设置用于缓存元数据信息的缓存实现。默认值为 Doctrine\Common\Cache\ArrayCache。不要在生产环境中使用它。
  • doctrine_orm.query_cache: 可选。此参数设置用于缓存 DQL 查询的缓存实现。默认值为 Doctrine\Common\Cache\ArrayCache。不要在生产环境中使用它。
  • doctrine_orm.result_cache: 可选。此参数设置用于缓存查询结果信息的缓存实现。
  • doctrine_orm.autogenerate_proxy_classes: 设置是否由 Doctrine 在运行时自动生成代理类。如果设置为 FALSE,则必须通过 doctrine 命令行任务 generate-proxies 手动生成代理类。对于生产环境,强烈推荐设置为 FALSE。默认值为 TRUE。
  • doctrine_orm.simple_annotation_reader: 可选。此注解读取器旨在用于所有可用的注解都完全受您控制的项目中。

注册

<?php
...

$app->register(new Palma\Silex\Provider\DoctrineORMServiceProvider(), array(
    'doctrine_orm.entities_path'     => __DIR__.'/Entities/',
    'doctrine_orm.proxies_path'      => __DIR__.'/Proxies',
    'doctrine_orm.proxies_namespace' => 'MyProject\Proxies',
    'doctrine_orm.connection_parameters' => array(
    			'driver'        => 'pdo_mysql',
                'dbname'        => 'dbname',
                'user'          => 'usename',
                'password'      => '******',
                'host'          => 'localhost',
                'charset'       => 'utf8',
    		)
));

使用

<?php

$app->get('/blog/show/{id}', function ($id) use ($app) {
    
    $post = $['doctrine_orm.em']->find('Post', $id);
	
	return  "<h1>{$post->getTitle()}</h1>".
            "<p>{$post->getBody()}</p>";
});

Total Downloads Build Status