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 / 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 / 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 / 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
@gnugat
gnugat / SubmitJsonListener.php
Created October 3, 2014 10:05
gnugat/ripozi - SubmitJsonListener
<?php
namespace Gnugat\Ripozi\EventListener;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernelInterface;
/**
@gnugat
gnugat / ApiTestClient.php
Last active August 29, 2015 14:07
gnugat/ripozi - ApiTestClient
<?php
namespace Gnugat\Ripozi\Test;
/**
* Assumes that the application kernel is named AppKernel and has been loaded
*/
class ApiTestClient
{
/**
@gnugat
gnugat / README.md
Last active August 29, 2015 14:01
Redaktilo in a tweet

Redaktilo in a tweet

An extreme minification of Redaktilo.

Usage:

<?php
require_once __DIR__.'/r.php';
@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().