Skip to content

Instantly share code, notes, and snippets.

@simshaun
simshaun / .php_cs
Created November 2, 2016 22:06
.php_cs used in my Symfony projects
<?php
$finder = PhpCsFixer\Finder::create()
->in(__DIR__.'/backend/src')
->in(__DIR__.'/backend/tests');
return PhpCsFixer\Config::create()
->finder($finder);
@simshaun
simshaun / config.yml
Last active December 9, 2016 19:11
Symfony Workflow integration with multiple $tos
framework:
workflows:
pull_request:
type: 'state_machine'
supports:
- AppBundle\Entity\PullRequest
places:
- init
- foo
- bar
@simshaun
simshaun / EntityHiddenType.php
Last active December 21, 2016 16:39
Hidden EntityType field
<?php
namespace PlatformBundle\Form\Type;
use PlatformBundle\Form\DataTransformer\EntityToIdTransformer;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
@simshaun
simshaun / ThemeProcessor.php
Last active December 22, 2016 19:54
Handling files with Alice/HautelookAliceBundle
<?php
namespace AppBundle\DataFixtures\Processor;
use AppBundle\Entity\Theme;
use AppBundle\Entity\ThemeRepository;
use AppBundle\File\Theme\BackgroundFile;
use Nelmio\Alice\ProcessorInterface;
use Symfony\Component\HttpFoundation\File\UploadedFile;
@simshaun
simshaun / TextTypeExtension.php
Created February 21, 2017 02:10
Symfony TextTypeExtension
<?php
namespace PlatformBundle\Form\Extension;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolver;
@simshaun
simshaun / LimitedErrorActivationStrategy.php
Last active August 8, 2023 09:38
Monolog activation strategy to ignore 403, 404, and 405 errors
<?php
namespace Acme\Monolog;
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
use Symfony\Component\HttpKernel\Exception\HttpException;
class LimitedErrorActivationStrategy extends ErrorLevelActivationStrategy
{
public function __construct()
@simshaun
simshaun / Netflix.user.js
Last active December 10, 2017 01:45
Greasemonkey / Violentmonkey userscript to stop Netflix from loading video in the hero area of the browse page.
// ==UserScript==
// @name Netflix /browse hero video preventer
// @author Shaun
// @namespace Violentmonkey Scripts
// @match *://*.netflix.com/browse
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
let observers = [];
@simshaun
simshaun / gist:c982001e4ac5f1d4aa5fe6dbe3d14a57
Created September 28, 2018 18:17
IE11 devtools - add/reload a stylesheet
var existingLink = document.querySelector('link[data-custom-css]');
if (existingLink) { existingLink.parentNode.removeChild(existingLink); }
var link = document.createElement('link');
link.setAttribute('data-custom-css', '1');
link.rel = 'stylesheet';
link.href = '/xxxxxxxxxxxxxxxxxxxxxxxx.css?'+Math.floor(Math.random()*10000);
document.querySelector('head').appendChild(link);
@simshaun
simshaun / CommentNormalizer.php
Created November 9, 2018 08:35
API Platform custom normalizer for object constructor arguments
<?php
// src/Serializer/CommentNormalizer.php
namespace App\Serializer;
use App\DataProvider\CurrentUserProvider;
use App\Entity\Comment;
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@simshaun
simshaun / CurrentUserProvider.php
Last active July 24, 2019 17:58
Decoupling App User entity from Symfony Security User. Public props and clipped methods for brevity.
<?php
# src/DataProvider/CurrentUserProvider.php
namespace App\DataProvider;
use App\Entity\User;
use App\Repository\UserRepository;
use App\Security\SecurityUser;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;