DoctrineBundle配置(“doctrine”)

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.5,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

DoctrineBundle配置(“doctrine”)

全默认配置

  • YAML
  • XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152153 154 155 156 157 158 159 160
原则:dbal:default_connection:默认的类型:#自定义类型的集合#例子some_custom_type:类:Acme \ HelloBundle \ MyCustomType评论道:真正的#如果启用,所有没有sf2_前缀的表将被模式忽略#工具。这适用于不应该自动更改的自定义表。# schema_filter: ^ sf2_连接:#一个不同命名连接的集合(例如default, conn2等)默认值:dbname:主持人:本地主机端口:用户:密码:字符集:路径:记忆:#用于MySQL的unix套接字unix_socket:# True用于ibm_db2驱动程序的持久连接持久性:ibm_db2驱动程序使用的协议(如果省略,默认为TCPIP)协议:#为Oracle使用dbname作为服务名而不是SID为True服务:oci8驱动使用的会话模式sessionMode:# True表示使用oci8驱动程序的池服务器池:#配置pdo_sqlsrv驱动的MultipleActiveResultSetsMultipleActiveResultSets:司机:pdo_mysqlplatform_service:#当为真时,查询将被记录到“教条”独白频道日志:“% kernel.debug %”分析:“% kernel.debug %”driver_class:wrapper_class:选项:#一个选项数组关键:[]mapping_types:#映射类型的数组名称:[]奴隶:#命名从连接的集合(例如:slave1, slave2)slave1:dbname:主持人:本地主机端口:用户:密码:字符集:路径:记忆:#用于MySQL的unix套接字unix_socket:# True用于ibm_db2驱动程序的持久连接持久性:ibm_db2驱动程序使用的协议(如果省略,默认为TCPIP)协议:#为Oracle使用dbname作为服务名而不是SID为True服务:oci8驱动使用的会话模式sessionMode:# True表示使用oci8驱动程序的池服务器池:#配置pdo_sqlsrv驱动的MultipleActiveResultSetsMultipleActiveResultSets:orm:default_entity_manager:auto_generate_proxy_classes:proxy_dir:“% kernel.cache_dir % /理论/ orm /代理”proxy_namespace:代理#搜索“ResolveTargetEntityListener”类,获取相关的烹饪书resolve_target_entities:[]entity_managers:#不同命名实体管理器的集合(例如some_em, another_em)some_em:query_cache_driver:类型:数组#需要主持人:端口:instance_class:类:metadata_cache_driver:类型:数组#需要主持人:端口:instance_class:类:result_cache_driver:类型:数组#需要主持人:端口:instance_class:类:连接:class_metadata_factory_name:学说\ ORM \ \ ClassMetadataFactory映射default_repository_class:学说\ ORM \ EntityRepositoryauto_mapping:加湿器:水螅器名称的数组hydrator_name:[]映射:#映射数组,可以是包名或其他东西mapping_name:映射:真正的类型:dir:别名:前缀:is_bundle:dql:#字符串函数的集合string_functions:#例子# test_string: Acme\HelloBundle\DQL\StringFunction#数值函数的集合numeric_functions:#例子# test_numeric: Acme\HelloBundle\DQL\NumericFunction# datetime函数的集合datetime_functions:#例子# test_datetime: Acme\HelloBundle\DQL\DatetimeFunction#在实体管理器中注册SQL过滤器过滤器:#一个过滤器数组some_filter:类:#需要启用:

配置概述

下面的配置示例显示了ORM解析为的所有默认配置:

1 2 3 4 5 6 7 8 9 10 11
原则:orm:auto_mapping:真正的#标准发行版在调试中将此重写为真,否则为假auto_generate_proxy_classes:proxy_namespace:代理proxy_dir:“% kernel.cache_dir % /理论/ orm /代理”default_entity_manager:默认的metadata_cache_driver:数组query_cache_driver:数组result_cache_driver:数组

您可以使用许多其他配置选项来覆盖某些类,但这些选项仅适用于非常高级的用例。

缓存的司机

对于缓存驱动程序,您可以指定值"array", "apc", "memcache", "memcached", "xcache"或"service"。

下面的示例显示了缓存配置的概述:

12 3 4 5 6 7 8 9 10 11 12
原则:orm:auto_mapping:真正的metadata_cache_driver:apcquery_cache_driver:类型:服务id:my_doctrine_common_cache_serviceresult_cache_driver:类型:memcache主持人:本地主机端口:11211instance_class:Memcache

映射配置

所有映射实体的显式定义是ORM惟一必要的配置,您可以控制几个配置选项。映射存在以下配置选项:

类型

之一注释xmlymlphpstaticphp.这指定映射使用哪种类型的元数据类型。

dir

映射文件或实体文件的路径(取决于驱动程序)。如果这个路径是相对的,则假定它是相对于bundle根的。只有当映射的名称是一个包名称时,这才有效。如果希望使用此选项指定绝对路径,则应该在路径前面加上DIC中存在的内核参数(例如% kernel.root_dir %).

前缀

此映射的所有实体共享的公共名称空间前缀。此前缀不应与其他已定义映射的前缀冲突,否则Doctrine无法找到您的某些实体。该选项默认为包名称空间+实体例如,对于一个名为AcmeHelloBundle的应用程序包,前缀为Acme \ HelloBundle \实体

别名

Doctrine提供了一种方法,可以将实体名称空间别名为更简单、更短的名称,以便在DQL查询或存储库访问中使用。使用包时,别名默认为包名。

is_bundle

的派生值dir默认设置为真正的如果dir是相对的,由a证明file_exists ()检查返回.它是如果存在检查返回真正的.在这种情况下,指定了一个绝对路径,元数据文件很可能位于包之外的目录中。

DBAL配置

DoctrineBundle支持默认Doctrine驱动程序接受的所有参数,转换为Symfony强制执行的XML或YAML命名标准。ob娱乐下载参见教义DBAL文欧宝官网下载app档获取更多信息。下面的块显示了所有可能的配置键:

  • YAML
  • XML
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
原则:dbal:dbname:数据库主持人:本地主机端口:1234用户:用户密码:秘密司机:pdo_mysql# DBAL驱动类选项driver_class:MyNamespace \ MyDriverImpl# DBAL驱动选项选项:foo:酒吧路径:“% kernel.data_dir % / data.sqlite”记忆:真正的unix_socket:/ tmp / mysql.sock# DBAL包装类选项wrapper_class:MyDoctrineDbalConnectionWrapper字符集:use UTF8日志:“% kernel.debug %”platform_service:MyOwnDatabasePlatformServicemapping_types:枚举:字符串类型:自定义:Acme \ HelloBundle \ MyCustomType# DBAL keepSlave选项keep_slave:

如果您想在YAML中配置多个连接,请将它们放在连接键并给它们一个唯一的名称:

12 3 4 5 6 7 8 9 10 11 12 13 14
原则:dbal:default_connection:默认的连接:默认值:dbname:ob娱乐下载用户:密码:主持人:本地主机顾客:dbname:客户用户:密码:主持人:本地主机

database_connection服务总是指的默认的连接,该连接是定义的第一个连接或通过default_connection参数。

每个连接也可以通过doctrine.dbal。[名字]_connection服务,(名字)连接的名称。

简化配置语法

当您只使用一个实体管理器时,所有可用的配置选项都可以直接放在下面doctrine.orm配置水平。

12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21
原则:orm:#……query_cache_driver:#……metadata_cache_driver:#……result_cache_driver:#……连接:class_metadata_factory_name:学说\ ORM \ \ ClassMetadataFactory映射default_repository_class:学说\ ORM \ EntityRepositoryauto_mapping:加湿器:#……映射:#……dql:#……过滤器:#……

这个缩短的版本通常用于其他文档部分。欧宝官网下载app请记住,不能同时使用这两种语法。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。