Skip to content

Instantly share code, notes, and snippets.

View gnugat's full-sized avatar
💭
Test, Code, Refactor, Repeat!

Loïc Faugeron gnugat

💭
Test, Code, Refactor, Repeat!
View GitHub Profile
@gnugat
gnugat / ExampleRepository.php
Last active June 6, 2019 09:32
Declaring a Doctrine Repository as a service and injecting it a dependency.
<?php
namespace Acme\DemoBundle\Repository;
use Acme\DemoBundle\Dependency;
use Doctrine\ORM\EntityRepository;
/**
* Get this repository directly from the container: it will set the $dependency attribute.
* If you get it using Doctrine's "getRepository()", don't forget to call setDependency().
@gnugat
gnugat / StackRollback.php
Last active May 12, 2017 09:24
A Middleware preventing Doctrine DBAL to change the database, useful for tests
<?php
namespace Gnugat\StackRollback;
use Doctrine\DBAL\Connection;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\HttpKernelInterface;
/**
* Example:
@gnugat
gnugat / Command.php
Created October 9, 2013 10:57
What's wrong with this ?
<?php
class Command
{
/**
* Takes input's parameters to create an output (with a status code).
*
* @param InputInterface $input
*
* @return OutputInterface
@gnugat
gnugat / ACTUAL_OUTPUT
Created September 1, 2013 16:27
Incenteev/ParameterHandler in version 2.1@dev (on date 09/01/13) does not seem to support more than one depth level
Some parameters are missing. Please provide them.
extensions ({ Behat\Symfony2Extension\Extension: { mink_driver: true }, Behat\MinkExtension\Extension: { base_url: 'http://motivation-application.local/', default_session: symfony2 } }): ^Ĉ
@gnugat
gnugat / .gitignore
Last active December 21, 2015 22:48
Basic Stack - A C basic implementation
# Compiled file
a.out
@gnugat
gnugat / command_with_defaults.php
Created September 27, 2015 15:20
An example of a Command (from CommandBus), with default values
<?php
use Assert\Assertion;
class RegisterNewMember
{
public $email;
public $subscribeToNewsletter = true;
public function __construct($email, $subscribeToNewsletter = null)
<?php
// File: app/config/importer.php
use Symfony\Component\Finder\Finder;
$finder = new Finder();
$files = $finder->files()->name('*.yml')->in(__DIR__.'/services')->in(__DIR__.'/vendors');
foreach ($files as $file) {
$loader->import($file->getRealpath());
}
@gnugat
gnugat / NanoNomoSpaco.php
Last active August 29, 2015 14:11
Nano Nomo Spaco
<?php
if (!isset($argv[1])) {
die('Usage: '.$argv[0].' <path>');
}
$path = $argv[1];
$fqcns = array();
$allFiles = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
@gnugat
gnugat / HttpHeader.php
Last active August 29, 2015 14:08
gnugat/ripozi - HttpHeader
<?php
namespace Gnugat\Ripozi\Service;
class HttpHeader
{
const AUTHORIZATION_HEADER = 'Authorization';
const CONTENT_TYPE = 'Content-Type';
const FORM_CONTENT_TYPE = 'application/x-www-form-urlencoded';
@gnugat
gnugat / CommandTestApplication.php
Last active August 29, 2015 14:07
gnugat/ripozi - CommandTestApplication
<?php
namespace Gnugat\Ripozi\Test;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;
/**
* Assumes that the application kernel is named AppKernel and has been loaded