Skip to content

Instantly share code, notes, and snippets.

View geerteltink's full-sized avatar
🏠
Home office

Geert Eltink geerteltink

🏠
Home office
View GitHub Profile
@geerteltink
geerteltink / ProductService.php
Last active April 15, 2016 08:10
Zend Expressive Factory Pattern
<?php
namespace App\Service;
class ProductService
{
private $mailTransport;
private $productRepository;
@geerteltink
geerteltink / SymfonyCustomFormTypeWithValidation.php
Last active February 13, 2022 21:25
Symfony 3 forms validation constraints without an entity
<?php
// ...
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
@geerteltink
geerteltink / zend-inputfilter-servicemanager.php
Last active February 19, 2016 13:39
Create a standalone zend-inputfilter with a ContainerInterop container.
<?php
require 'vendor/autoload.php';
use Xtreamwayz\HTMLFormValidator\Validator\RecaptchaValidator;
use Zend\Filter\FilterPluginManager;
use Zend\InputFilter\Factory;
use Zend\InputFilter\InputFilterPluginManager;
use Zend\ServiceManager\Config;
use Zend\ServiceManager\ServiceManager;
public static function dumpVersionsClass(Event $composerEvent)
{
$io = $composerEvent->getIO();
$io->write('<info>Generating version class...</info>');
$composer = $composerEvent->getComposer();
// Get root package
$rootPackage = $composer->getPackage();
@geerteltink
geerteltink / expressive-modular-config-loader.php
Created December 19, 2015 21:09
Zend Expressive modular config loader
<?php
use Zend\Stdlib\ArrayUtils;
use Zend\Stdlib\Glob;
$cachedConfigFile = 'data/cache/app_config.php';
$configLocations = [
// Load default config
'config/autoload/{{,*.}global,{,*.}local}.php',
@geerteltink
geerteltink / cli-config.php
Last active April 2, 2019 12:57
Zend Expressive Doctrine Factory and Redis Cache
<?php
/**
* Configuration for doctrine cli.
*
* This file is auto detected and used by doctrine cli.
*/
use Doctrine\ORM\Tools\Console\ConsoleRunner;
use Doctrine\ORM\EntityManager;
@geerteltink
geerteltink / ExpressiveProfiler.php
Last active November 19, 2015 22:49
Zend Expressive Prophiler Toolbar integration
<?php
// Delegate static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server'
&& is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))
) {
return false;
}
chdir(dirname(__DIR__));
@geerteltink
geerteltink / GitPreCommitQualityAssuranceChecks.php
Last active November 14, 2015 08:15
Git pre-commit hook for PHP projects - working on windows
#!/usr/bin/php
<?php
$qa = new QualityAssuranceChecks();
$qa->run();
/**
* Recommit last commit for testing:
*
* git reset --soft HEAD~1 && git commit -am "Last commit"
@geerteltink
geerteltink / PimpleContainer.php
Last active September 7, 2015 07:46
Container-Interop wrapper for Pimple 3.0
<?php
namespace Pimple;
use Pimple\Container as Pimple;
use Interop\Container\ContainerInterface;
/**
* ContainerInterface wrapper for Pimple 3.0
*/
@geerteltink
geerteltink / AbstractAction.php
Created August 28, 2015 09:31
zend-service-manager abstract class container injection
<?php
namespace Application\Action;
use Interop\Container\ContainerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Expressive\Template\TemplateInterface;
use Zend\Stratigility\MiddlewareInterface;