Orm Service which uses these components:
Install it through composer.
{
"require": {
"phprest/phprest-service-orm": "@stable"
}
}
tip: you should browse the phprest/phprest-service-orm
page to choose a stable version to use, avoid the @stable
meta constraint.
For the configuration you should check the Config class.
<?php
$ormConfig = new \Phprest\Service\Orm\Config(
[
'driver' => 'pdo_mysql',
'host' => 'localhost',
'dbname' => 'phprest',
'charset' => 'utf8',
'user' => 'root',
'password' => 'root'
],
['path_to_the_entities']
);
$ormConfig->migration = new \Phprest\Service\Orm\Config\Migration('path_to_the_migrations');
$ormConfig->fixture = new \Phprest\Service\Orm\Config\Fixture('path_to_the_fixtures');
<?php
use Phprest\Service\Orm;
# ...
/** @var \Phprest\Application $app */
$app->registerService(new Orm\Service(), $ormConfig);
# ...
To reach your Service from a Controller you should use the Service's Getter Trait.
<?php namespace App\Module\Controller;
use Phprest\Service;
class Index extends \Phprest\Util\Controller
{
use Service\Orm\Getter;
public function post(Request $request)
{
/** @var \Doctrine\ORM\EntityManager $em */
$em = $this->serviceOrm();
}
}
You can use a helper script if you want after a composer install (vendor/bin/phprest-service-orm
).
You have to provide an orm config for the script. You have two options for this:
- Put your orm configuration to a specific file:
app/config/orm.php
- You have to return with the orm configuration in the proper file
- Put the path of the configuration in the
paths.php
file - You have to return with an array from the
paths.php
file with the orm configuration file path under theservice.orm.config
array key