【Symfony2官方文档翻译】Book04:Doctrine02-数据库抽象层(DBAL)
2014-11-27 00:00
716 查看
原文出处:http://symfony.com/doc/current/book/doctrine.html
原文作者:Symfony.com
翻译人员:FireHare
校对人员:FireHare
适用版本:Symfony 2
文章状态:已校对
Doctrine数据库抽象层(DBAL)是一个构建在PDO之上的抽象层,它为大多数流行的关系性数据库提供直接灵活的API。
你可以从官方文档中读到更多关于Doctrine DBAL 的内容。
首先,配置数据库连接参数:
DoctrineBundle支持缺省Doctrine驱动所接受的全部参数,Symfony2可以强制转换为XML或YAML的命名标准。更多细节请参见Doctrine DBAL 文档。
你可以通过database_connection服务来访问Doctrine DBAL连接。
配置
除了缺省的Doctrine选项外,你还可以配置一些Symfony相关的选项。下面显示所有可能的配置关键词:
如果你想在YAML中配置多个连接,请将它们放置在connections关键词下并赋予它们唯一的名字:
database_connection服务总是指向缺省连接的,该连接被第一个定义或使用default_connection参数的那个配置。
每个连接也可以通过doctrine.dbal.[name]_connection服务来访问,其中[name]是连接名。
注册自定义映射类型
你可以通过配置注册自定义的映射类型,它们将被添加到所有的配置连接中。
原文作者:Symfony.com
翻译人员:FireHare
校对人员:FireHare
适用版本:Symfony 2
文章状态:已校对
Doctrine数据库抽象层(DBAL)是一个构建在PDO之上的抽象层,它为大多数流行的关系性数据库提供直接灵活的API。
你可以从官方文档中读到更多关于Doctrine DBAL 的内容。
首先,配置数据库连接参数:
# app/config/config.yml doctrine: dbal: driver: pdo_mysql dbname: Symfony2 user: root password: null
DoctrineBundle支持缺省Doctrine驱动所接受的全部参数,Symfony2可以强制转换为XML或YAML的命名标准。更多细节请参见Doctrine DBAL 文档。
你可以通过database_connection服务来访问Doctrine DBAL连接。
class UserController extends Controller { public function indexAction() { $conn = $this->get('database_connection'); $users = $conn->fetchAll('SELECT * FROM users'); // ... } }
配置
除了缺省的Doctrine选项外,你还可以配置一些Symfony相关的选项。下面显示所有可能的配置关键词:
doctrine: dbal: dbname: database host: localhost port: 1234 user: user password: secret driver: pdo_mysql driver_class: MyNamespace\MyDriverImpl options: foo: bar path: %kernel.data_dir%/data.sqlite memory: true unix_socket: /tmp/mysql.sock wrapper_class: MyDoctrineDbalConnectionWrapper charset: UTF8 logging: %kernel.debug% platform_service: MyOwnDatabasePlatformService
如果你想在YAML中配置多个连接,请将它们放置在connections关键词下并赋予它们唯一的名字:
doctrine: dbal: default_connection: default connections: default: dbname: Symfony2 user: root password: null host: localhost customer: dbname: customer user: root password: null host: localhost
database_connection服务总是指向缺省连接的,该连接被第一个定义或使用default_connection参数的那个配置。
每个连接也可以通过doctrine.dbal.[name]_connection服务来访问,其中[name]是连接名。
注册自定义映射类型
你可以通过配置注册自定义的映射类型,它们将被添加到所有的配置连接中。
# app/config/config.yml doctrine: dbal: types: custom_first: Acme\HelloBundle\Type\CustomFirst custom_second: Acme\HelloBundle\Type\CustomSecond
相关文章推荐
- Symfony2Book04:Doctrine02-数据库抽象层(DBAL)
- 【Symfony2官方文档翻译】Book02:当纯PHP遭遇Symfony2
- 【Symfony2官方文档翻译】Book10:表单
- 【Symfony2官方文档翻译】Book09:验证
- symfony2 教程之数据库和Doctrine--翻译(官方文档)
- 【Symfony2官方文档翻译】Book06:路由
- 【Symfony2官方文档翻译】Book05:控制器
- 【Symfony2官方文档翻译】Book03:使用Symfony2创建页
- 【Symfony2官方文档翻译】Book16:Symfony2内部
- 【Symfony2官方文档翻译】Book15:服务容器
- 【Symfony2官方文档翻译】Book14:Bundle
- 【Symfony2官方文档翻译】Book13:翻译
- 【Symfony2官方文档翻译】Book12:HTTP 缓存
- 【Symfony2官方文档翻译】Book11:安全
- 苹果官方Swift文档翻译02
- 【Symfony2官方文档翻译】Book08:测试
- 【Symfony2官方文档翻译】Book07:创建和使用模板
- pandas官方文档cookbook(4)中Arithmetic&Slicing&Sorting翻译
- 【Symfony2官方文档翻译】 phpunit