Skip to content

Instantly share code, notes, and snippets.

View wowo's full-sized avatar

Wojciech Sznapka wowo

View GitHub Profile
<?php
trait Loggable {
public function log($event) {
printf("Event: '%s', source: '%s'\n",
event, get_class($this));
}
}
class User {
use Loggable;
<?php
function dereference() {
$arr = ['php', '5.4', 'looks', 'nice'];
return $arr;
}
printf("%s - %s\n", dereference()[1], dereference()[3]);
// will echo:
// 5.4 - nice
<?php
function closureTest(callable $callback) {
printf("Look, I'm running callback! '%s'\n", $callback());
}
closureTest(function() { return 'foo'; });
@wowo
wowo / build.xml
Last active October 3, 2015 08:58
<?xml version="1.0" encoding="UTF-8"?>
<project name="Symfony2 project" default="build">
<target name="build" depends="pull, vendors, cache, assetic, assets">
<echo message="Symfony2 project"/>
</target>
<macrodef name="git">
<attribute name="command" />
<attribute name="dir" default="" />
<element name="args" optional="true" />
<?php
use Symfony\Component\Validator\Constraints as Assert
class ObjectRecievingMultiplieFilesFromForm
{
/**
* @Assert\All({
* @Assert\File(mimeTypes={"application/vnd.ms-excel", "application/vnd.ms-office"})
* })
@wowo
wowo / post-update.sh
Created October 23, 2012 07:45
Post-update script to update other repo
#!/bin/sh
GIT_DIR=/home/wojciech.sznapka/htdocs/real.arch.sznapka.xsdev.pl/
echo "*** Running $0"
echo "*** Resetting working copy of real.arch.sznapka.xsdev.pl"
(cd $GIT_DIR
git --git-dir=.git/ reset --hard HEAD > /dev/null)
echo "*** Updating real.arch.sznapka.xsdev.pl"
(cd $GIT_DIR
@wowo
wowo / gender-module-installation.sh
Last active December 24, 2024 08:16
Guesing gender based on name in PHP
# install gender http://www.php.net/manual/en/book.gender.php
sudo apt-get install libpcre3-dev
sudo pecl install gender
# generate data
mkdir ~/gender
sudo pear run-scripts pecl/gender
# eneble module
echo 'extension=gender.so' >> /etc/php5/cli/php.ini
@wowo
wowo / api.php
Created September 6, 2013 12:41
That's why I like FOS REST in #Symfony
/**
* @View()
* @Get("/leads/{id}")
* @ParamConverter("offer", class="SomeBundle:Offer\OfferLead")
*/
public function getLeadAction(OfferLead $lead)
{
return array('lead' => $lead);
}
@wowo
wowo / IsolatedTestsTrait.php
Last active September 11, 2020 08:05
IsolatedTestsTrait helps with running functional/integration tests in isolation, with same start state for each test. It's also optimized, keeping in mind performance concerns.
<?php
namespace Acme\Example\Tests;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Doctrine\DBAL\Driver\PDOSqlite\Driver as PDOSqliteDriver;
require_once(__DIR__ . IsolatedTestsTrait::$kernelRootDir . '/AppKernel.php');
<?php
/* $Id$ */
set_include_path(get_include_path() . ':' . __DIR__ . '/../lib');
include 'SabreAMF/Client.php'; //Include the client scripts
spl_autoload_register(function($classname) {
$filename = str_replace(array('_', '\\'), DIRECTORY_SEPARATOR, $classname) . '.php';
include $filename;
});