If this is difficult, you can do in PHP 7.0 simple realization annotation/facades, in versions 7.x to develop and refine.
Most importantly, define the syntax and semantics annotation/facades, for a version of PHP 7.0 Demand in annotation/facades is very high, ~80% of all popular frameworks their use, it is really what you need PHP developers. 2014-11-04 20:27 GMT+02:00 Stas Malyshev <smalys...@sugarcrm.com>: > Hi! > > > The approach for annotations that I like best would actually be not > > annotations, but Python-style decorators. They’re very simple, but > > very powerful. They would allow you to do annotations, but also add > > extra functionality to functions. > > For python-style decorators, at least the way they work in Python, we'd > need to organize our function tables differently, as Python just > replaces the function with another one while decorating, and I'm not > sure it'd be as easy to do with PHP. > > > Which would be equivalent to the following PHP code: > > > > $myfunc = function myfunc() { # function source code here }; $myfunc > > = some_decorator($myfunc, foo, bar); > > Not really, because functions work differently in Python and in PHP. You > can not just replace a function in class's function table with random > closure in PHP, at least easily. > You'd have to convert all such functions to closures (or something that > can be both, maybe) and have the engine be aware that function table now > can store closures. And, also, inheritance may get a bit weird there. It > would be very powerful, but it may not be very simple to do. > > Also, it is a major overkill for what annotations are commonly used - > attaching a piece of data to an entity. In Python, decorators are very > powerful for modifying function behavior (i.e., attaching pre/post > conditions to functions or doing some things phpunit does is really > easy) but it is too much for just attaching data. > -- > Stanislav Malyshev, Software Architect > SugarCRM: http://www.sugarcrm.com/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >