Skip to content

Instantly share code, notes, and snippets.

@mageekguy
mageekguy / gist:dd610593e4be3ff90504
Last active August 29, 2015 14:16
east oriented data loader
<?php
namespace data
{
interface loader
{
function dataNeedDataWithName(name $name);
}
interface loadableData
@mageekguy
mageekguy / gist:87fbb2229f3dc0925f28
Last active August 29, 2015 14:16
east oriented MVC
<?php
namespace mail\view;
use
mail,
data
;
final class alert implements mail\view
@mageekguy
mageekguy / gist:c15d0e90adc14b731ce4
Last active August 29, 2015 14:16
East-oriented map/reduce
<?php
interface dataProvider
{
function dataConsumerIs(dataConsumer $dataConsuler);
}
interface dataConsumer
{
function newData($data);
@mageekguy
mageekguy / gist:d2c337d040b33e453563
Created February 16, 2015 09:23
Guzzle, allow_redirects and cookies are in a boat...
<?php
$httpClient = new \GuzzleHttp\Client;
$response = $httpClient->post('http://foo.bar', [ 'body' => [ 'username' => 'mageekguy', 'password' => 'A very strong password, isn\' it?', ], 'allow_redirects' => false, 'cookies' => true ]);
echo '<pre>';
var_dump($response->getStatusCode(), $response->getHeaders());
echo '</pre>';
/*
@mageekguy
mageekguy / gist:b42fff01db11da5b1ad0
Last active August 29, 2015 14:15
atoum 2.0 post-mortem
1) Je n'ai jamais pensé qu'il y avait une idée malsaine derrière la 2.0 (en réponse à https://twitter.com/mikaelrandy/status/566211744998387712) ;
2) Par contre, j'aurais aimé un peu plus "d'intelligence" (désolé, je n'ai pas trouvé d'autre mot) dans sa réalisation, d'autant que les 2 RM ont été partie prenante dans l'issue ayant remonté la BC, et que https://github.com/atoum/atoum/issues/426#issuecomment-71854938 ;
3) À la place de mauvaises excuses telle que https://twitter.com/mikaelrandy/status/566196864710897664, j'aurais aimé qu'on mette en œuvre ce qu'il faut pour éviter la diffusion d'une 2.0 qui ne rime à rien, parce que sortir une majeure est un signal très important pour l'utilisateur finale, et que beaucoup vont s'arrêter au fait que ça veut dire "BC break" alors qu'il n'en ait rien ;
4) J'aurais aimé que quelqu'un d'autre se charge d'une PR de trois lignes, parce que je fais déjà beaucoup et que, parfois, j'ai d'autres choses à faire (en réponse à https://twitter.com/mikaelrandy/status/5661972548
@mageekguy
mageekguy / gist:c91921416ff46e7a5e15
Created February 12, 2015 16:41
How to retrieve cookie value with GuzzleHTTP 5?
<?php
// Easy, just do:
$cookieComponents = \GuzzleHttp\Cookie\SetCookie::fromString($response->getHeader('Set-Cookie'));
@mageekguy
mageekguy / gist:2111798f113488eed4cd
Last active August 29, 2015 14:15
East oriented phone number
<?php
abstract class phoneNumber
{
private
$value
;
function __construct($value)
{
@mageekguy
mageekguy / behat.yml
Last active August 29, 2015 14:14
Is it possible to define a "global" argument value for a context in behat.yml?
default:
autoload:
'': %paths.base%/Tests/Functionals/Bootstrap
contexts:
- HttpContext:
baseUrl: 'http://foo.bar.lan'
suites:
@mageekguy
mageekguy / gist:101480a32660c4860bb6
Created January 13, 2015 14:02
ArrayAccess and "undefined" key
<?php
class foo implements arrayAccess
{
public $values;
function offsetSet($key, $value)
{
var_dump($key);
@mageekguy
mageekguy / gist:03fe32a94fd679e7f55d
Last active August 29, 2015 14:13
East oriented body
<?php
final class celsius
{
private
$value
;
function __construct($value)
{