Skip to content

Instantly share code, notes, and snippets.

@blar
Created September 24, 2012 20:38
Show Gist options
  • Select an option

  • Save blar/3778218 to your computer and use it in GitHub Desktop.

Select an option

Save blar/3778218 to your computer and use it in GitHub Desktop.
<?php
$user = function($name) {
$me = array();
$me['name'] = NULL;
$me['init'] = function($name) use(&$me) {
$me['name'] = $name;
return $me;
};
$me['whoami'] = function() use(&$me) {
return $me['name'];
};
return $me['init']($name);
};
$foo = $user('foo');
$bar = $user('bar');
$bar['say'] = function() {
return 'Hello';
};
$name = $foo['whoami']();
var_dump($name);
var_dump(isset($foo['say']));
$name = $bar['whoami']();
var_dump($name);
var_dump($bar['say']());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment