Skip to content

Instantly share code, notes, and snippets.

View K-Phoen's full-sized avatar

Kévin Gomez K-Phoen

View GitHub Profile
@K-Phoen
K-Phoen / config.yml
Created December 18, 2012 11:22
Storing Symfony2 sessions in memcached
imports:
# ....
- { resource: services/session.yml }
framework:
# ....
session:
handler_id: session.handler.memcached
@K-Phoen
K-Phoen / grafana_alert_slack_template.tmpl.go
Created June 19, 2022 19:23
Improved Slack template for Grafana alerts
{{ define "custom_alert.title" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}: {{ .Alerts.Firing | len }}{{ if gt (.Alerts.Resolved | len) 0 }}, RESOLVED: {{ .Alerts.Resolved | len }}{{ end }}{{ end }}]{{ if gt (len .GroupLabels) 0 }} Grouped by: {{ range .CommonLabels.SortedPairs }}{{ .Name }}: {{ .Value }}{{ end }}{{ end }}{{ end }}
{{ define "__text_alert_name" }}{{ range .Labels.SortedPairs }}{{ if eq .Name "alertname" }}{{ .Value }}{{ end }}{{ end }}{{ end }}
{{ define "__text_alert_summary" }}{{ range .Annotations.SortedPairs }}{{ if eq .Name "summary" }}{{ .Value }}
{{ end }}{{ end }}{{ end }}
{{ define "__text_alert_description" }}{{ range .Annotations.SortedPairs }}{{ if eq .Name "description" }}{{ .Value }}{{ end }}{{ end }}{{ end }}
{{ define "__text_alert_runbook_url" }}{{ range .Annotations.SortedPairs }}{{ if eq .Name "runbook_url" }}
:bookmark_tabs: <{{ .Value }}|Playbook>{{ end }}{{ end }}{{ end }}
{{ define "__text_alert_firing_item" }}:bell: {{ template "__text_alert_name" . }}
{{ te
@K-Phoen
K-Phoen / AcmeBlogExtension.php
Created October 14, 2013 11:55
How to split the validation.yml file
<?php
namespace Acme\BlogBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\Config\FileLocator;
class AcmeBlogExtension extends Extension
@K-Phoen
K-Phoen / AppKernel.php
Created January 9, 2013 15:38
Functional tests for standalone Symfony2 bundles
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
return array(
@K-Phoen
K-Phoen / criteria.php
Last active July 21, 2017 18:36
On Taming Repository Classes in Doctrine… Among other things.
interface Specification
{
public function getCriteria();
}
class FilterGroup implements Specification
{
private $group;
public function __construct($group)
@K-Phoen
K-Phoen / Replace.php
Created July 29, 2013 22:21
MySQL REPLACE() for Doctrine2
<?php
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\Lexer;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker;
/**
* REPLACE(str, from_str, to_str)
@K-Phoen
K-Phoen / autoload_composer.json
Last active December 20, 2015 09:29
Introduction à Composer - Partie 2
{
"require": {
"propel/propel-service-provider": ">=0.0.1",
"propel/propel1": "1.6.*",
"silex/silex": "1.0.*",
"symfony/validator": "2.1.*",
"willdurand/hateoas": "0.0.*",
"symfony/property-access": "2.2.*",
"symfony/yaml": "2.2.*",
"jms/metadata": "1.2.*",
@K-Phoen
K-Phoen / RouterMatchCommand.php
Created June 13, 2013 12:20
Little improvement to the Symfony router:match command
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
[vagrant@vagrant-debian-squeeze:~/www/project on develop]
% ./app/console propel:model:build
PHP Fatal error: Class 'FOS\UserBundle\Propel\om\BaseUserQuery' not found in /home/vagrant/www/project/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Propel/UserQuery.php on line 17
PHP Stack trace:
PHP 1. {main}() /home/vagrant/www/project/app/console:0
PHP 2. Symfony\Component\Console\Application->run() /home/vagrant/www/project/app/console:22
PHP 3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /home/vagrant/www/project/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:106
PHP 4. Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands() /home/vagrant/www/project/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:68
PHP 5. Symfony\Component\HttpKernel\Kernel->boot() /home/vagrant/www/project/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:83
PHP 6. Symfony\Component\HttpKernel\Kernel->initi
<?php
class BookQuery extends BaseBookQuery
{
public function recent($nb_max = 5)
{
return $this
->orderByPublishedAt('desc')
->limit($nb_max);
}