3 ms·
Nope, the parser seems to be pretty brittle around this. Someone who knows more about the internals can probably explain why this works: class User {
by robryan 14y ago
Nope, the parser seems to be pretty brittle around this.
Someone who knows more about the internals can probably explain why this works:
class User
{
public $mapping = array(
'username' => array(
'type' => 'string',
'length' => 32,
'unique' => true,
)
);
public function __construct()
{
$this->mapping['nullable'] = function() { echo "test"; };
$this->mapping['nullable']();
}
}
$user = new User();
And this doesn't:
class User
{
public static $mapping = array(
'username' => array(
'type' => 'string',
'length' => 32,
'unique' => true,
)
);
public static function set()
{
self::$mapping['nullable'] = function() { echo "test"; };
self::$mapping['nullable']();
}
}
User::set();
- TazeTSchnitzel 14y agoI used to be interested in helping fix PHP, but I gave up. The reason is because Rasmus and a few others seem to think that using the syntax definition to do your type checking for you is a good idea, and that the hundreds of possible cases they didn't think of, don't matter.