Example #1
0
<?php

return Affinity\Action::create(['init'], function ($engine) {
});
Example #2
0
<?php

return Affinity\Action::create(['database', 'routing'], function ($engine) {
});
Example #3
0
use Dotink\Flourish;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
return Affinity\Action::create(['core'], function ($app, $broker) {
    $connection_settings = $app['engine']->fetch('doctrine/connection');
    if (!isset($connection_settings['driver'])) {
        return;
    }
    $dev_mode = $app->checkExecutionMode(IW\EXEC_MODE\DEVELOPMENT);
    extract($app['engine']->fetch('doctrine/entities', ['config_type' => 'annotations', 'entity_root' => 'user/entities', 'config_root' => 'config/doctrine/entities']));
    switch ($config_type) {
        case 'annotations':
            $root = $app->getDirectory($entity_root);
            $config = Setup::createAnnotationMetadataConfiguration([$root], $dev_mode);
            break;
        case 'yaml':
            $root = $app->getDirectory($config_root);
            $config = Setup::createYAMLMetadataConfiguration([$root], $dev_mode);
            break;
        case 'xml':
            $root = $app->getDirectory($config_root);
            $config = Setup::createXMLMetadataConfiguration([$root], $dev_mode);
            break;
        default:
            throw new Flourish\ProgrammerException('Unsupported doctrine configuration type "%s"', $config_type);
    }
    $app['entity.config'] = $config;
    $app['entity.manager'] = EntityManager::create($connection_settings, $config);
    $broker->share($app['entity.manager']);
});