class A { function __construct() { $this->func1 = function() { return "Foo"; }; } function __construct(array $funcs) { foreach($funcs as $key => $val) { } } } $a = new A(); echo $a->func1(); $b = new A(array('func1' => function() { return "bar"; })); echo $b->func1();