Exemplo n.º 1
0
require_once __DIR__ . '/../vendor/autoload.php';
use Framework\Http\Request;
use Framework\Http\StreamableInterface;
use Framework\Kernel;
use Framework\ControllerFactory;
use Framework\Routing\Router;
use Framework\Routing\Loader\CompositeFileLoader;
use Framework\Routing\Loader\PhpFileLoader;
use Framework\Routing\Loader\XmlFileLoader;
use Framework\ServiceLocator\ServiceLocator;
use Framework\Templating\PhpRenderer;
use Framework\Templating\BracketRenderer;
use Framework\Templating\TwigRendererAdapter;
use Application\Repository\BlogPostRepository;
$dic = new ServiceLocator();
$dic->setParameter('database.dsn', 'mysql:host=localhost;port=3306;dbname=lpdim2016')->setParameter('database.user', 'root')->setParameter('database.password', '')->setParameter('database.options', [\PDO::ATTR_AUTOCOMMIT => false, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF-8'"])->setParameter('router.file', __DIR__ . '/../app/config/routes.xml')->setParameter('app.view_dir', __DIR__ . '/../app/views')->setParameter('twig.options', ['cache' => __DIR__ . '/../app/cache/twig', 'debug' => true])->register('repository.blog_post', function (ServiceLocator $dic) {
    return new BlogPostRepository($dic->getService('database'));
})->register('database', function (ServiceLocator $dic) {
    return new \PDO($dic->getParameter('database.dsn'), $dic->getParameter('database.user'), $dic->getParameter('database.password'), $dic->getParameter('database.options'));
})->register('twig', function (ServiceLocator $dic) {
    return new \Twig_Environment(new \Twig_Loader_Filesystem($dic->getParameter('app.view_dir')), $dic->getParameter('twig.options'));
})->register('renderer', function (ServiceLocator $dic) {
    return new TwigRendererAdapter($dic->getService('twig'));
})->register('router', function (ServiceLocator $dic) {
    $loader = new CompositeFileLoader();
    $loader->add(new PhpFileLoader());
    $loader->add(new XmlFileLoader());
    return new Router($dic->getParameter('router.file'), $loader);
})->register('controller_factory', function (ServiceLocator $dic) {
    return new ControllerFactory();
});
Exemplo n.º 2
0
 /**
  * @expectedException \InvalidArgumentException
  */
 public function testCannotSetInvalidParameter()
 {
     $dic = new ServiceLocator();
     $dic->setParameter(1, 'bar');
 }
Exemplo n.º 3
0
require_once __DIR__ . '/../vendor/autoload.php';
use Application\Controller\HelloWorldAction;
use Framework\Http\Request;
use Framework\Http\StreamableInterface;
use Framework\Kernel;
use Framework\ControllerFactory;
use Framework\Routing\Router;
use Framework\Routing\Loader\CompositeFileLoader;
use Framework\Routing\Loader\PhpFileLoader;
use Framework\Routing\Loader\XmlFileLoader;
use Framework\ServiceLocator\ServiceLocator;
use Framework\Templating\TwigRendererAdapter;
$dic = new ServiceLocator();
$dic = new ServiceLocator();
$dic->setParameter('database.dsn', 'mysql:host=localhost;port=3306;dbname=phpdim2016');
$dic->setParameter('database.user', 'root');
$dic->setParameter('database.password', 'root');
$dic->setParameter('database.options', [\PDO::ATTR_AUTOCOMMIT => false, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"]);
$dic->setParameter('router.file', __DIR__ . '/../app/config/routes.xml');
$dic->setParameter('app.views_dir', __DIR__ . '/../app/views');
$dic->setParameter('twig.options', ['cache' => __DIR__ . '/../app/cache/twig', 'debug' => 'true']);
$dic->register('database', function (ServiceLocator $dic) {
    return new \PDO($dic->getParameter('database.dsn'), $dic->getParameter('database.user'), $dic->getParameter('database.password'), $dic->getParameter('database.options'));
});
$dic->register('twig', function (ServiceLocator $dic) {
    return new \Twig_Environment(new \Twig_Loader_Filesystem($dic->getParameter('app.views_dir')), $dic->getParameter('twig.options'));
});
$dic->register('renderer', function (ServiceLocator $dic) {
    return new TwigRendererAdapter($dic->getService('twig'));
});
Exemplo n.º 4
0
use Framework\KernelEvents;
use Framework\RouterListener;
use Framework\Routing\Router;
use Framework\Routing\Loader\CompositeFileLoader;
use Framework\Routing\Loader\PhpFileLoader;
use Framework\Routing\Loader\XmlFileLoader;
use Framework\ServiceLocator\ServiceLocator;
use Framework\Session\Driver\NativeDriver;
use Framework\Session\Session;
use Framework\Templating\TwigRendererAdapter;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Symfony\Component\Yaml\Yaml;
$settings = Yaml::parse(file_get_contents(__DIR__ . '/app/config/settings.yml'));
$dic = new ServiceLocator($settings['parameters']);
$dic->setParameter('database.options', [\PDO::ATTR_AUTOCOMMIT => false, \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"]);
$dic->setParameter('router.file', __DIR__ . '/app/config/routes.xml');
$dic->setParameter('app.views_dir', __DIR__ . '/app/views');
$dic->setParameter('twig.options', ['cache' => __DIR__ . '/../app/cache/twig', 'debug' => true]);
$dic->setParameter('logger.log_file', __DIR__ . '/app/cache/app.log');
$dic->setParameter('session.options', ['session.name' => 'lpdim2016', 'session.save_path' => __DIR__ . '/app/sessions']);
$dic->register('repository.blog_post', function (ServiceLocator $dic) {
    return new BlogPostRepository($dic->getService('database'));
});
$dic->register('database', function (ServiceLocator $dic) {
    return new \PDO($dic->getParameter('database.dsn'), $dic->getParameter('database.user'), $dic->getParameter('database.password'), $dic->getParameter('database.options'));
});
$dic->register('twig', function (ServiceLocator $dic) {
    return new \Twig_Environment(new \Twig_Loader_Filesystem($dic->getParameter('app.views_dir')), $dic->getParameter('twig.options'));
});
$dic->register('renderer', function (ServiceLocator $dic) {