北部 / 教条
Doctrine 配置助手。
Requires
- php: >=5.3
- northern/common: ~1
- psr/log: ~1.0
- symfony/yaml: ~2.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-20 21:57:46 UTC
README
北部教条是一个小型库,它使得在不需要依赖像 Symfony 2 这样的框架的情况下,轻松地将 Doctrine 配置添加到普通的 PHP 应用程序中。
安装
只需将其添加到您的 Composer.json
"northern/doctrine": "1.0.0"
DoctrineConfig
要使用 DoctrineConfig
类,只需实例化它并传递 YAML 配置文件所在文件系统路径
use Northern\Doctrine\DoctrineConfig; $doctrine = new DoctrineConfig( "./config", 'dev' );
DoctrineConfig
类会尝试从指定位置加载 2 个配置文件。第一个配置文件名为 config.yml
,包含基本配置。以下为 config.yml
的部分内容:
doctrine: database: driver: pdo_mysql dbname: dbname user: username password: password charset: utf8 entity: paths: - "src/Acme/Entity" proxy: path: "cache/doctrine" namespace: Acme\Entites\Proxies isDevMode: true
database
部分应该比较简单,只需提供数据库详细信息。
entity
部分指定实体类文件所在的文件系统位置。注意,paths
是一个数组,您可以在其中添加多个位置。
proxy
部分指定 Doctrine 生成的代理类存储的位置。还需要指定代理类的 namespace
。通常这仅仅是您实体的常规命名空间,后面加上 Proxies
。
isDevMode
参数默认为 true
,但对于生产应用程序,可以将其设置为 false
。
除了需要上述的 config.yml
文件外,还需要有特定环境的配置。在上面的例子中,我们在实例化 DoctrineConfig
类时也指定了环境,在这个例子中是 dev
。因此,DoctrineConfig
在加载 config.yml
后会尝试加载 config_dev.yml
文件。特定环境的配置包含该特定环境的设置。通常这仅仅是数据库连接设置,如下所示:
doctrine: database dbname: mydb user: myuser password: secret
确保您的环境配置存在。
实例化 DoctrineConfig
后,很容易获取到实体管理器的访问权限
$em = $doctrine->getEntityManager();