Skip to content

Instantly share code, notes, and snippets.

View kanian's full-sized avatar

Patrick Adou kanian

  • Abidjan, Ivory Coast
View GitHub Profile
@kanian
kanian / fiddle.css
Created April 7, 2016 11:34
BGSlider Fiddle
.background-slider {
position: absolute;
top:0;
left:0;
z-index: -1;
height:100%;
width:100%;
background-size: cover;
background-position: center;
}
@kanian
kanian / BackgroundSlider.css
Created April 7, 2016 11:12
Full Background Slider
.background-slider {
position: absolute;
top:0;
left:0;
z-index: -1;
height:100%;
width:100%;
background-size: cover;
background-position: center;
}
@kanian
kanian / kLeftArrayRotation
Last active September 10, 2017 13:02
k-Left rotation on array of size n
function shiftArray(n,k,a){
var remainingAfterLeftShifts = (n - k) > 0 ? n - k : k - n;
var tailStartIndex = n - remainingAfterLeftShifts;
var tail = a.slice(tailStartIndex, n);
var head = a.slice(0, tailStartIndex);
var shifted = tail.concat(head);
return shifted.join().replace(/,/g," ");
}
<?php
class ClassThatMarksDateOfInstantiation
{
private $dob;
public function __construct()
{
$this->dob = new \DateTimeImmutable;
}
public function getDob()
{
<?php
function singletonize(\Closure $func)
{
$singled = new class($func)
{
// Hold the class instance.
private static $instance = null;
public function __construct($func = null)
{
if (self::$instance === null) {
@kanian
kanian / pattern_proxynode_visitor.php
Created March 19, 2019 18:44
A PHP Parser node visitor
<?php
namespace Assoa\Parser;
use PhpParser\Node;
use PhpParser\Node\Stmt\Class_;
use Assoa\Commands\BuilderCommand;
use PhpParser\NodeVisitorAbstract;
use Assoa\Parser\INodeVisitorFactory;
use PhpParser\Node\Stmt\ClassMethod;
@kanian
kanian / Yo.php
Created March 19, 2019 19:20
A dummy class
<?php
class Yo{
public $yo;
public function __construct(){
echo $this->yo;
}
public function hein(string $what){
$this->yo = $what;
}
@kanian
kanian / Singleton.php
Last active March 20, 2019 16:53
A True Generic Singleton
<?php
namespace Assoa\Patterns\Singleton;
use Assoa\Patterns\IPattern;
use Assoa\Patterns\Proxy\Proxy;
use PhpParser\Node\Arg;
use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\BinaryOp\Identical;
use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Expr\New_;
@kanian
kanian / Proxy.php
Last active March 20, 2019 16:55
Builds a Proxy to a Subject Class
<?php
namespace Assoa\Patterns\Proxy;
use Assoa\Parser\INodeVisitorFactory;
use Assoa\Parser\ProxyNodeVisitorFactory;
use Assoa\Patterns\IPattern;
use Assoa\Patterns\Pattern;
use InvalidArgumentException;
use PhpParser\NodeTraverser;
use PhpParser\Node\Expr\Assign;
@kanian
kanian / Singleton_example_generated.php
Last active March 20, 2019 17:52
Singleton example generated
<?php
namespace Assoa\Yo;
class Yo_Singleton_95e46b35_8481_466e_b493_f7443d7bf7ee extends Yo
{
private static $subjectInstance;
function __construct()
{
$args = func_get_args();