- var_dump: documentation ( source)
- error_reporting: documentation ( source)
<?php
namespace NS1 {
class c1 {
public function __construct(\NS2\c1 $c1) {
}
}
}
namespace NS2 {
class c1 {
public function __construct() {
}
}
}
namespace Foo {
error_reporting(E_ALL);
ini_seT('display_errors', 'on');
$r = new ReflectionClass('\NS1\c1');
echo $r->getName();
echo '<br />';
echo $r->getConstructor()->getParameters()[0]->getClass()->getName();
die;
class Kitchen
{
private $yummy = 'cake';
}
$sweetsThief = function (\Dice\Dice $kitchen) {
return $kitchen->cache;
};
$dice = new \Dice\Dice;
$sweetsThief = Closure::bind($sweetsThief, null, $dice);
var_dump($sweetsThief($dice));
class MyCache implements ArrayAccess {
private $array = [];
public function offsetGet($offset) {
return $this->array[$offset];
}
public function offsetSet($offset, $value) {
$this->array[$offset] = $value;
}
public function offsetExists() {
}
}
class Cached {
private $dice;
public function __construct(ArrayAccess $cache = null) {
if (isset($cache['dice'])) {
$this->dice = $this->cache['dice'];
}
else $this->dice = new Dice;
}
public function __destruct() {
$clearInstances = function() {
$this->instances = [];
};
$clearInstances = $clearInstances->bindTo($this->dice, $this->dice);
$clearInstances();
$this->cahe['dice'] = $this->dice;
}
}
$a2 = $dice->create('A2', array($dice->create('ExtendedB'), 'Foo'));
$cache = new Cached($dice);
}