Skip to content

Instantly share code, notes, and snippets.

@xrstf
xrstf / IncrementableInterface.markdown
Last active December 17, 2015 19:19
Proposal for additional notes on the increment/decrement operations.

2.4 IncrementableInterface

This interface provides the ability to increment and decrement cache entries by their specified value. Some cache backends support this natively so that you don't have to read the item and then increment it and write it back to the cache server, this can be done in a single call to the cache server since it's natively supported by many modern cache servers.

  • Implementations MUST allow any integer to be incremented and decremented (i.e. decrementing 0 yields -1) by any [positive?] integer.
  • If a key does not exist, implementations MUST NOT create a new cache item and instead return false.
@xrstf
xrstf / bitbucket-proxy.php
Created February 28, 2013 03:38
This script can be used with Bitbucket's POST service to update packages on packagist.org.
<?php
/*
* Dieses Script dient als "Proxy" zwischen Bitbucket und Packagist. Es empfängt
* einen POST-Request über den generischen POST-Service von Bitbucket und leitet
* diesen als PUT-Request an Packagist weiter, um das dazugehörige Paket zu
* aktualisieren.
*/
function clean($var) {
return get_magic_quotes_gpc() ? stripslashes($var) : $var;
@xrstf
xrstf / WebTestCase.php
Created September 14, 2012 12:00
Load Doctrine2 fixtures with foreign keys disabled
<?php
use Doctrine\Common\DataFixtures\Loader;
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
use Doctrine\Common\DataFixtures\Executor\ORMExecutor;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as SfWebTestCase;
use Project\DummyBundle\DataFixtures\ORM\MyFixture;
abstract class WebTestCase extends SfWebTestCase {
public function setUp() {
@xrstf
xrstf / migrate.php
Created August 25, 2012 03:44
Migrationsscript für Sally 0.5/0.6/0.7-Updates
<?php
/*
* Copyright (c) 2012, webvariants GbR, http://www.webvariants.de
*
* This file is released under the terms of the MIT license. You can find the
* complete text in the attached LICENSE file or online at:
*
* http://www.opensource.org/licenses/mit-license.php
*/
@xrstf
xrstf / gist:3459300
Created August 25, 2012 02:46
Sally 0.7 Controller-Erweiterung

Problem

Konkret ist der Content-Controller vom Sally-Backend problematisch. Er verlässt sich u.a. darauf, dass der nette Sally-Dispatcher seine Exceptions fängt. Das führt allerdings auch dazu, dass anstatt der "Inhalt"-Überschrift die "Unterwartete Exception"-Meldung auftaucht. Was nicht wirklich stimmt, da einige der Exceptions bewusst vom Controller geworfen werden (also nicht unerwartet sind).

Gleichzeitig taucht in vielen Controllern immer wieder das Muster auf, dass eine allgemeine init()-Methode angelegt wird, die von jeder Action als erstes aufgerufen wird. Teils ist die Methode so komplex, dass sie a) nicht mehrmals aufgerufen werden darf und b) die Ausführung der eigentlichen Action stoppen kann.

Vorschlag

@xrstf
xrstf / PasswordStrength.php
Created June 13, 2012 21:36
Wolfram|Alpha password strength calculation in PHP 5.2+
<?php
/**
* Wolfram|Alpha password strength calculation
*
* @see https://gist.github.com/1514997 (original source this class is based on)
* @see http://www.wolframalpha.com/input/?i=password+strength+for+god
* @see https://github.com/rchouinard/phpass
* @license MIT
*/