Skip to content

Instantly share code, notes, and snippets.

Avatar
🇮🇹
Working remotely, since 2008

Enrico Zimuel ezimuel

🇮🇹
Working remotely, since 2008
View GitHub Profile
@ezimuel
ezimuel / sign.sh
Created Mar 14, 2016
Sign and verify a file using OpenSSL command line tool. It exports the digital signature in Base64 format.
View sign.sh
#!/bin/bash
# Sign a file with a private key using OpenSSL
# Encode the signature in Base64 format
#
# Usage: sign <file> <private_key>
#
# NOTE: to generate a public/private key use the following commands:
#
# openssl genrsa -aes128 -passout pass:<passphrase> -out private.pem 2048
# openssl rsa -in private.pem -passin pass:<passphrase> -pubout -out public.pem
@ezimuel
ezimuel / pluginmanager.php
Last active Nov 7, 2015
Experimental plugin manager compliant with ContainerInterface
View pluginmanager.php
<?php
/**
* Experimantal plugin manager complaint with ContainerInterface with options support
* using the optional Interface rule of PHP
*/
use Interop\Container\ContainerInterface;
class PluginManager implements ContainerInterface
{
@ezimuel
ezimuel / test.php
Created Aug 10, 2015
Unit test for RouteMiddlewareTest issue #40 zend-expressive
View test.php
<?php
/**
* Get the router adapters installed
*/
public function getRouterAdapters()
{
$adapters = [];
if (class_exists('Aura\Router\Router')) {
$adapters[] = [ 'Zend\Expressive\Router\Aura' ];
}
View gist:f34b22f347d4a0c985a1
<?php
use Zend\Stratigility\MiddlewarePipe;
use Zend\Diactoros\Server;
require 'vendor/autoload.php';
$app = new MiddlewarePipe();
$server = Server::createServer($app, $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES);
// Injected for all the URL
@ezimuel
ezimuel / CatalogEntity.php
Created Dec 9, 2014
Example of Entity for Apigility
View CatalogEntity.php
namespace Ecommerce\V1\Rest\Catalog;
class CatalogEntity
{
public $id;
public $name;
public $description;
public $picture;
public $price;
public $quantity;
@ezimuel
ezimuel / global.php
Created Dec 9, 2014
Example: OAuth2 configuration for Apigility
View global.php
// config/autoload/global.php
// ...
'router' => array(
'routes' => array(
'oauth' => array(
'options' => array(
'route' => '/oauth',
),
),
@ezimuel
ezimuel / gist:0769f99e45a04e124cf0
Created Aug 25, 2014
Benchmark Pbkdf2 iterations with ZF2
View gist:0769f99e45a04e124cf0
<?php
// Benchmark the Pbkdf2 iteration (10'000 = 50 ms, using an Intel i5 CPU at 2)
use Zend\Crypt\Key\Derivation\Pbkdf2;
use Zend\Math\Rand;
$salt = Rand::getBytes(32);
$pass = 'this is the password of the user';
$start = microtime(true);
@ezimuel
ezimuel / gist:92d9f6b8ed62f9fd71c7
Created Jun 18, 2014
Optional language parameter in a ZF2 route
View gist:92d9f6b8ed62f9fd71c7
<?php
// route configuration, for instance in a module.config.php
// ...
'home' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:lang/]',
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
'controller' => 'Index',
@ezimuel
ezimuel / gist:eff5072ef7ccd0298a6b
Created Jun 16, 2014
Testing ORDER BY for Zend_Db_Select of ZF1
View gist:eff5072ef7ccd0298a6b
<?php
set_include_path('path/to/zf1/library');
require_once 'Zend/Db.php';
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => '127.0.0.1',
'username' => '',
'password' => '',
'dbname' => 'test'
));
View gist:e2b528ba160197d0c773
<?php
namespace Test\V1\Rpc\Test;
use Zend\Mvc\Controller\AbstractActionController;
use ZF\ContentNegotiation\ViewModel;
use ZF\Hal\Entity;
use ZF\Hal\Link\Link;
class TestController extends AbstractActionController
{