Skip to content

Instantly share code, notes, and snippets.

View ezimuel's full-sized avatar
🇮🇹
Working remotely, since 2008

Enrico Zimuel ezimuel

🇮🇹
Working remotely, since 2008
View GitHub Profile
@ezimuel
ezimuel / gist:2955319
Created June 19, 2012 17:06
Idea for a Factory abstract class
interface FactoryInterface {
public static function factory($classname, $options = null);
public static function validate($classname);
public static function getClassMap();
}
abstract class AbstractFactory {
public static function factory($name, $options = null)
{
@ezimuel
ezimuel / password.php
Created June 18, 2012 17:37 — forked from ircmaxell/password.php
Password API Example
<?php
define('PASSWORD_SHA256', '$5$');
define('PASSWORD_SHA512', '$6$');
define('PASSWORD_BCRYPT', '$2y$');
define('PASSWORD_SCRYPT', '$7$'); // made up here
function password_hash($password, $algo = PASSWORD_BCRYPT, array $options = array()) {
$salt = '';
@ezimuel
ezimuel / gist:2838705
Created May 30, 2012 20:25
Zend\Math\Math::randBytes fix
public static function randBytes($length, $strong = false)
{
if ($length <= 0) {
return false;
}
if (extension_loaded('openssl')) {
$rand = openssl_random_pseudo_bytes($length, $secure);
if ($secure === true) {
return $rand;
}
/**
* Set data to use when validating and filtering
*
* @param array|Traversable $data
* @return InputFilterInterface
*/
public function setData($data)
{
if (!is_array($data) && !$data instanceof Traversable) {
throw new Exception\InvalidArgumentException(sprintf(
@ezimuel
ezimuel / gist:2769399
Created May 22, 2012 14:27
Zend\InputFilter issue
use Zend\InputFilter\InputFilter,
Zend\InputFilter\Input;
$input = new Input('foo');
$input->getFilterChain()
->attachByName('stringtrim')
->attachByName('alpha');
$inputFilter = new InputFilter();
$inputFilter->add($input)
@ezimuel
ezimuel / gist:2577720
Created May 2, 2012 15:54
Select with Zend\Db\TableGateway\TableGateway with an empty table
// The table queue is empty, I got this Fatal error: Uncaught exception 'Zend\Db\Adapter\Exception\InvalidQueryException' with message 'No database selected' in /.../library/Zend/Db/Adapter/Driver/Pdo/Statement.php on line 219
use Zend\Db\TableGateway\TableGateway,
Zend\Db\Adapter\Adapter as DbAdapter;
$options = array(
'driver' => 'pdo_mysql',
'username' => 'queue',
'password' => 'xxx',
'dbname' => 'queue',
@ezimuel
ezimuel / gist:2051907
Created March 16, 2012 19:09
Prepare the INSERT for Zend\Log\Writer\Db
protected function prepareInsert($adapter, $table, array $fields)
{
$sql = 'INSERT INTO ' . $adapter->platform->quoteIdentifier($table) . ' (' .
implode(",",array_map(array($adapter->platform, 'quoteIdentifier'), $fields)) . ') VALUES (' .
implode(",",array_map(array($adapter->driver, 'formatParameterName'), $fields)) . ')';
return $sql;
}
@ezimuel
ezimuel / gist:2050095
Created March 16, 2012 13:38
LoggerAware
namespace Zend\Log;
use Zend\Log\Logger;
interface LoggerAware
{
public function setLogger(Logger $logger);
public function getLogger();
}
@ezimuel
ezimuel / test.php
Created August 10, 2015 13:29
Unit test for RouteMiddlewareTest issue #40 zend-expressive
<?php
/**
* Get the router adapters installed
*/
public function getRouterAdapters()
{
$adapters = [];
if (class_exists('Aura\Router\Router')) {
$adapters[] = [ 'Zend\Expressive\Router\Aura' ];
}
@ezimuel
ezimuel / CatalogEntity.php
Created December 9, 2014 14:53
Example of Entity for Apigility
namespace Ecommerce\V1\Rest\Catalog;
class CatalogEntity
{
public $id;
public $name;
public $description;
public $picture;
public $price;
public $quantity;