Skip to content

Instantly share code, notes, and snippets.

View beberlei's full-sized avatar
💯

Benjamin Eberlei beberlei

💯
View GitHub Profile
@beberlei
beberlei / Document.php
Created May 18, 2011 10:46
My Symfony2 File Upload workflow
<?php
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\File\UploadedFile;
/**
* @Entity
*/
class Document
{
@beberlei
beberlei / TaskLoggingMiddleware.php
Created August 23, 2021 10:36
Shopware 6 Canonical Log for Message Queue Tasks
<?php
namespace Shopware\Production\Messenger;
use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\Exception\HandlerFailedException;
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
use Symfony\Component\Messenger\Middleware\StackInterface;
use Shopware\Core\Framework\MessageQueue\ScheduledTask;
@beberlei
beberlei / migrate_statuspage.php
Created November 20, 2021 23:20
Migrate from Laravel Cachet to Atlassian StatusPage.io
<?php
use Buzz\Browser;
use Buzz\Client\Curl;
require_once __DIR__ . '/vendor/autoload.php';
$statusPageApiKey = "";
$statusPageId = "";
$nextUrl = 'https://status.tideways.io/api/v1/incidents'; // Cachet API endpoint
@beberlei
beberlei / MyWebTestCase.php
Created September 17, 2011 12:14
Easily Inject authenticated Symfony User into functional test
<?php
use Liip\FunctionalTestBundle\Test\WebTestCase;
use Symfony\Component\HttpKernel\Profiler\Profiler;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @group functional
*/
@beberlei
beberlei / packagist_proxy.php
Created December 9, 2011 21:09
Composer/Packagist Proxy
<?php
$baseUrl = "http://localhost/packagist";
$baseDir = "/var/www/packagist";
if (!file_exists($baseDir)) {
echo "Base dir $baseDir for local packagist proxy does not exist\n";
exit(1);
}
$packagesJson = $baseDir . "/packages.json";
@beberlei
beberlei / tailrecursion.php
Created November 25, 2012 21:25 — forked from pkriete/gist:2425817
PHP Tail Recursion
<?php
class TailRecursion
{
public $func;
public $acc;
public $recursing;
public function tail()
{
return call_user_func_array($this->func, func_get_args());
@beberlei
beberlei / ActiveEntity.php
Created June 19, 2011 11:11
Doctrine 2.2 Traits Preview
<?php
use Doctrine\ORM\EntityManager,
Doctrine\ORM\Configuration,
Doctrine\ORM\Mapping\ClassMetadata;
/**
* Active Entity trait
*
* Limitations: a class can only ever be assocaited with ONE active entity manager. Multiple entity managers
@beberlei
beberlei / .deployment
Created November 19, 2012 10:48
Composer on Azure Websites
[config]
command = "D:\Program Files (x86)\PHP\v5.3\php.exe" build_azure.php
@beberlei
beberlei / .block
Last active August 28, 2018 15:02 — forked from mbostock/.block
Bar Chart
license: gpl-3.0
@beberlei
beberlei / TxController.php
Created August 6, 2012 09:44
Transactional Service Proxy
<?php
class TxController extends Controller
{
public function context($id)
{
return new TxProxy($this->get($id), $this->get('doctrine.orm.default_entity_manager'));
}
}