Skip to content

Instantly share code, notes, and snippets.

View frastel's full-sized avatar

Frank Stelzer frastel

View GitHub Profile
@frastel
frastel / DependencyPuller.php
Created November 26, 2012 13:09
Don't pull your dependencies 1
<?php
// src/frastel/BlogPlaygroundBundle/Container/DependencyPuller.php
namespace frastel\BlogPlaygroundBundle\Container;
use Symfony\Component\DependencyInjection\ContainerInterface;
class DependencyPuller
{
private $container;
@frastel
frastel / DependencyPuller.php
Created November 26, 2012 16:11
Don't pull your dependencies 1
<?php
// src/frastel/BlogPlaygroundBundle/Container/DependencyPuller.php
namespace frastel\BlogPlaygroundBundle\Container;
use Symfony\Component\DependencyInjection\ContainerInterface;
class DependencyPuller
{
private $container;
@frastel
frastel / DependencyPullerTest.php
Created November 26, 2012 16:27
Don't pull your dependencies 2
public function testDoSomething()
{
$container = new Container();
$puller = new DependencyPuller($container);
$result = $puller->doSomething();
$this->assertTrue($result);
}
@frastel
frastel / DependencyPullerTest.php
Created November 26, 2012 16:28
Don't pull your dependencies 3
public function testDoSomething()
{
$logger = $this->getMockBuilder('Symfony\\Bridge\\Monolog\\Logger')
->disableOriginalConstructor()
->getMock();
$container = new Container();
$container->set('logger', $logger);
$puller = new DependencyPuller($container);
@frastel
frastel / DependencyPullerTest.php
Created November 26, 2012 16:29
Don't pull your dependencies 4
public function testDoSomething()
{
$logger = $this->getMockBuilder('Symfony\\Bridge\\Monolog\\Logger')
->disableOriginalConstructor()
->getMock();
$mailer = $this->getMockBuilder('Swift_Mailer')
->disableOriginalConstructor()
->getMock();
@frastel
frastel / DependencyPuller.php
Created November 26, 2012 16:30
Don't pull your dependencies 5
<?php
namespace frastel\BlogPlaygroundBundle\Container;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpKernel\Log\LoggerInterface;
class DependencyPuller
{
private $logger;
<?php
namespace foo\BarBundle\Controller;
// use statements ...
class FatController extends Controller
{
/**
* @Route("/", name="some_index_route")
* @Template()
<?php
namespace Acme\DemoBundle\Controller;
class ThinController extends Controller
{
/**
* @Route("/", name="some_index_route")
* @Template()
<?php
private function loadModel($id)
{
return $this->get('some_new_handler_service')->load($id);
}
<?php
namespace Acme\DemoBundle\Controller;
class FatController extends Controller
{
/**
* @Route("/{id}/edit", name="some_edit_route")
* @Method({"GET"})
* @Template()
*/