Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/northern/doctrine
Doctrine helpers.
https://github.com/northern/doctrine
Last synced: about 16 hours ago
JSON representation
Doctrine helpers.
- Host: GitHub
- URL: https://github.com/northern/doctrine
- Owner: northern
- License: mit
- Created: 2014-04-21T01:42:28.000Z (over 10 years ago)
- Default Branch: dev-master
- Last Pushed: 2020-03-09T02:54:18.000Z (over 4 years ago)
- Last Synced: 2024-04-03T20:23:06.824Z (8 months ago)
- Language: PHP
- Size: 15.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Doctrine
Northern Doctrine is a small library that makes it easy to add Doctrine configuration to plain PHP applications without having to rely on frameworks such as Symfony 2.
## Installation
Simply add it to your Composer.json:
"northern/doctrine": "1.0.0"
## DoctrineConfig
To use the `DoctrineConfig` class simply instantiate it and pass the path to the location in the file system when the YAML configuration files are located:
````php
use Northern\Doctrine\DoctrineConfig;$doctrine = new DoctrineConfig( "./config", 'dev' );
````The `DoctrineConfig` class tries to load 2 configuation files from the specified location. The first configuration file is called `config.yml` and contains the basic configuration. The `config.yml` has the following sections:
````yaml
doctrine:
database:
driver: pdo_mysql
dbname: dbname
user: username
password: password
charset: utf8entity:
paths:
- "src/Acme/Entity"proxy:
path: "cache/doctrine"
namespace: Acme\Entites\ProxiesisDevMode: true
````
The `database` section should be pretty straight, simply supply the database details.The `entity` section specifies the file system location of where your entity class files are located. Notice that `paths` is an array and you can add multiple locations here.
The `proxy` section specifies where the proxy classes Doctine generates will be stored. It's also required to specify the `namespace` of your proxies. Usually this is just the regulat namespace of your entites followed by `Proxies`.
The `isDevMode` parameter is `true` by default but for production applications can be set to `false` instead.
Besides needing the `config.yml` described above, it's also required to have an environment specific configurations. In the example above where we instantiate the `DoctrineConfig` class we also specify the enviroment which in this case is `dev`. Because of this, `DoctrineConfig` will after loading the `config.yml` try to load the `config_dev.yml` file. The environment specific configuration contains the settings for that specific enviroment. Usually this are just the database connection settings, such as:
````yaml
doctrine:
database
dbname: mydb
user: myuser
password: secret
````
Make sure your enviroment config exists.After instantiating the `DoctrineConfig` it's easy to get access to the Entity Manager:
````php
$em = $doctrine->getEntityManager();
````