Skip to content

Instantly share code, notes, and snippets.

@frak
frak / dev_magic.sh
Last active August 29, 2015 13:59
Setting up dnsmasq to point *.dev to your dev VM
sudo port install dnsmasq
sudo port load dnsmasq
# add "address=/dev/your.vm.ip.address" to the end of /opt/local/etc/dnsmasq.conf
sudo mkdir -p /etc/resolver
sudo tee /etc/resolver/dev >/dev/null <<EOF
nameserver 127.0.0.1
EOF
@frak
frak / gist:89218802a0fa5f3dd852
Created December 23, 2014 15:20
Greek question mark
<?php
echo html_entity_decode("Greek question mark: &#x37e;");
@frak
frak / cli
Created January 15, 2015 12:34
CLI xdebug config
export XDEBUG_CONFIG="idekey=PHPSTORM remote_host=172.28.128.1 remote_port=9000"
export PHP_IDE_CONFIG="serverName=your.phpstorm.server.name"
@frak
frak / benchmark.php
Created February 21, 2015 20:21
Please don't use sprintf...
<?php
$maxiter = 10000000;
$value = "1234";
$time_start = microtime(true);
for ($i = 0; $i < $maxiter; ++$i) {
$string = "This is " . $value;
}
@frak
frak / xdebug.ini
Created March 3, 2015 22:15
xdebug conf
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.show_exception_trace=0
xdebug.show_local_vars=0
xdebug.var_display_max_data=10000
xdebug.var_display_max_depth=20
xdebug.profiler_output_dir=/tmp
xdebug.idekey=PHPSTORM
@frak
frak / deploy.rb
Created September 25, 2015 18:47
Task to add 'parameters:' to an empty parameters file
#task to add 'parameters:' to an empty parameters file
task :fix_empty_parameters_yml
do
parameters_path = "app/config/parameters.yml"
run "LEN=$(cat #{shared_path}/#{parameters_path} | wc -c); if [ $LEN -eq 0 ] ; then echo \"parameters:\" > #{shared_path}/#{parameters_path} ; fi"
end
#run the parameters fix task before composer kicks off
before "symfony:composer:install", "fix_empty_parameters_yml"
@frak
frak / app.php
Created November 28, 2012 19:22
Symfony2: Remove the need for app_dev.php
<?php
$env = 'prod';
$debug = false;
if(isset($_SERVER['APP_KERNEL'])) {
switch($_SERVER['APP_KERNEL']) {
case 'test':
case 'qa':
case 'dev':
@frak
frak / Episode.php
Created November 28, 2012 21:44
Handling file uploads with lifecycle callbacks
<?php
namespace Click\SiteBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\HttpFoundation\File\UploadedFile;
/**
* Click\SiteBundle\Entity\Episode
@frak
frak / apiSpec.js
Last active November 25, 2015 15:14
'use strict';
var dbSession = require('./dbSession.js');
var Percolator = require('percolator').Percolator;
var Server = function (port) {
var server = Percolator({'port': port, 'autoLink': false, 'staticDir': __dirname + '/../frontend'});
server.route(
'/api/keywords',
@frak
frak / YourSymfonyCommand.php
Last active December 28, 2015 16:29
How to lock a CLI script without leaving artefacts
<?php
/**
* Lock files are no end of pain, especially ensuring they are correctly removed when things blow up.
* This way there are never any artifacts left around, so nothing to clean up.
*/
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket === false) {
throw new \Exception("Cannot create a socket, please check system configuration");
}