Вы не можете вернуть значение из конструктора.Для этого вы можете использовать исключения .
function __construct($something = false){
if(is_int($something)) $this->stuff = &getStuff($something);
else $this->stuff = $GLOBALS['something'];
if (!$this->stuff) {
throw new Exception('Foo Not Found');
}
}
И в своем коде реализации:
try {
$foo = new foo(435);
} catch (Exception $e) {
// handle exception
}
Вы также можете расширить исключения.