北部/教条

Doctrine 配置助手。

1.0.0 2014-10-16 04:33 UTC

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