Re:PHP Annotations Are a Horrible Idea
by stevencorona on Wednesday October 17, 2012 @08:22AM
(#4664040)
Came here to post the same thing. I don't know if it has been fixed in 5.4, though.
[ Parent
| on HN ]
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();
Re:PHP Annotations Are a Horrible Idea
by TazeTSchnitzel on Wednesday October 17, 2012 @10:43AM
(#4664644)
I 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.