Пример #1
0
    return new Slim\Views\PhpRenderer($settings['template_path']);
};
$container['view'] = function ($c) {
    $settings = $c->get('settings');
    $view = new \Slim\Views\Twig($settings['view']['template_path'], $settings['view']['twig']);
    $view->addExtension(new Slim\Views\TwigExtension($c->get('router'), $c->get('request')->getUri()));
    //$view->addExtension(new Twig_Extension_Debug());
    return $view;
};
$container['logger'] = function ($c) {
    $settings = $c->get('settings')['logger'];
    $logger = new Monolog\Logger($settings['name']);
    $logger->pushProcessor(new Monolog\Processor\UidProcessor());
    $logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], Monolog\Logger::DEBUG));
    return $logger;
};
$container['db'] = function ($c) {
    try {
        $settings = $c->get('settings')['doctrine']['connection'];
        $db = new PDO('mysql:host=' . $settings['host'] . ';dbname=' . $settings['dbname'] . ';charset=utf8mb4', $settings['user'], $settings['password'], [\PDO::ATTR_PERSISTENT => false]);
    } catch (PDOException $e) {
        die($e->getMessage());
    }
    return $db;
};
$container['em'] = function ($c) {
    return EntityManagerBuilder::build($c->get('settings')['doctrine']);
};
$container['flash'] = function ($c) {
    return new \Slim\Flash\Messages();
};
 /**
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::build
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::createConfiguration
  */
 public function testCustomTypes()
 {
     $options = ['connection' => ['driver' => 'pdo_sqlite', 'memory' => true], 'annotation_paths' => sys_get_temp_dir(), 'custom_types' => ['custom' => '\\Doctrine\\DBAL\\Types\\DecimalType']];
     $this->assertInstanceOf('\\Doctrine\\ORM\\EntityManager', EntityManagerBuilder::build($options));
 }
Пример #3
0
<?php

// DIC configuration
$container = $app->getContainer();
// view renderer
//$container['renderer'] = function ($c) {
//    $settings = $c->get('settings')['renderer'];
//    return new Slim\Views\PhpRenderer($settings['template_path']);
//};
// twig renderer
$container['twig'] = function ($container) {
    $settings = $container->get('settings')['twig'];
    $view = new \Slim\Views\Twig($settings['template_path'], []);
    $view->addExtension(new \Slim\Views\TwigExtension($container['router'], $container['request']->getUri()));
    return $view;
};
// Register Entity Manager in the container
$container['entityManager'] = function ($c) {
    $doctrineSettings = $c->get('settings')['doctrine'];
    return \Jgut\Slim\Doctrine\EntityManagerBuilder::build($doctrineSettings);
};
// monolog
$container['logger'] = function ($c) {
    $settings = $c->get('settings')['logger'];
    $logger = new Monolog\Logger($settings['name']);
    $logger->pushProcessor(new Monolog\Processor\UidProcessor());
    $logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], Monolog\Logger::DEBUG));
    return $logger;
};
 /**
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::setupAnnotationMetadata
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::setupProxy
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::setupSQLLogger
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::setupMetadataDriver
  */
 public function testCreation()
 {
     $options = ['connection' => ['driver' => 'pdo_sqlite', 'memory' => true], 'annotation_paths' => sys_get_temp_dir(), 'proxies_namespace' => 'myNamespace\\Proxies', 'auto_generate_proxies' => AbstractProxyFactory::AUTOGENERATE_ALWAYS, 'sql_logger' => new \Doctrine\DBAL\Logging\EchoSQLLogger()];
     $this->assertInstanceOf('\\Doctrine\\ORM\\EntityManager', EntityManagerBuilder::build($options));
 }
Пример #5
0
<?php

require __DIR__ . '/vendor/autoload.php';
//use Doctrine\ODM\MongoDB\Tools\Console\Helper\DocumentManagerHelper;
use Doctrine\ORM\Tools\Console\ConsoleRunner;
use Jgut\Slim\Doctrine\DocumentManagerBuilder;
use Jgut\Slim\Doctrine\EntityManagerBuilder;
$CLISettings = ['cache_driver' => new \Doctrine\Common\Cache\VoidCache()];
$settings = (require __DIR__ . '/src/settings.php');
$entityManager = EntityManagerBuilder::build(array_merge($settings['settings']['doctrine'], $CLISettings));
//$documentManager = DocumentManagerBuilder::build(array_merge($settings['document_manager'], $CLISettings));
return $helperSet = ConsoleRunner::createHelperSet($entityManager);
//$helperSet->set(new DocumentManagerHelper($documentManager), 'dm');
//
//$cli = ConsoleRunner::createApplication($helperSet, [
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateDocumentsCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateHydratorsCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateProxiesCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\GenerateRepositoriesCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\QueryCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\ClearCache\MetadataCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\CreateCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\DropCommand(),
//new \Doctrine\ODM\MongoDB\Tools\Console\Command\Schema\UpdateCommand(),
//]);
Пример #6
0
$app->get('/', function () use ($app) {echo "Raiz";});
$app->get('/stats/:codcli', function ($codcli) use ($app) {getStats($app, $codcli);});
*/
require '../vendor/autoload.php';
require '../Entity/Users.php';
use Jgut\Slim\Doctrine\EntityManagerBuilder;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
$app = new \Slim\App();
// Create Slim app and fetch DI Container
$container = $app->getContainer();
// Register Entity Manager in the container
$container['entityManager'] = function () {
    $conf = parse_ini_file('../conf/conf.db.ini', true);
    $doctrineSettings = ['connection' => ['driver' => $conf['database']['driver'], 'host' => $conf['database']['host'], 'port' => isset($conf['database']['port']) ? $conf['database']['port'] : '3306', 'user' => $conf['database']['user'], 'password' => $conf['database']['password'], 'dbname' => $conf['database']['db'], 'charset' => 'utf8', 'memory' => true], 'annotation_paths' => ['../Entity/Users.php']];
    return EntityManagerBuilder::build($doctrineSettings);
};
$app->add(new \Slim\Middleware\JwtAuthentication(["path" => "/api", "secret" => "supersecretkeyyoushouldnotcommittogithub"]));
$app->get('/', function (Request $request, Response $response) {
    $result = $this->entityManager->createQueryBuilder()->select('user.email, user.password, user.token')->from('Users', 'user')->getQuery()->getArrayResult();
    return json_encode($result);
});
$app->get('/api', function (Request $request, Response $response) {
    getStats($request, $response);
});
$app->get('/login', function (Request $request, Response $response) {
    $result = Firebase\JWT\JWT::encode("ramdont0k3n", "supersecretkeyyoushouldnotcommittogithub");
    $body = $response->getBody();
    $body->write(json_encode($result));
    return $response;
});
 /**
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::build
  * @cover \Jgut\Slim\Doctrine\EntityManagerBuilder::createConfiguration
  */
 public function testYAMLCreation()
 {
     $options = ['connection' => ['driver' => 'pdo_sqlite', 'memory' => true], 'yaml_paths' => [dirname(__DIR__) . '/files/fakeAnnotationFile.php']];
     $this->assertInstanceOf('\\Doctrine\\ORM\\EntityManager', EntityManagerBuilder::build($options));
 }
Пример #8
0
<?php

require __DIR__ . '/vendor/autoload.php';
use Doctrine\ORM\Tools\Console\ConsoleRunner;
use Jgut\Slim\Doctrine\EntityManagerBuilder;
$settings = (include 'app/settings.php');
$settings = $settings['settings']['doctrine'];
$entityManager = EntityManagerBuilder::build($settings);
$helperSet = ConsoleRunner::createHelperSet($entityManager);
$cli = ConsoleRunner::createApplication($helperSet, [new \Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand()]);
return $cli->run();