AOP is the future and a very awesome complement to OOP. It is a shame that
very few are doing it and I think this would attract some good attention to
PHP after traits (both are horizontal reuse mechanisms).

On Fri, Aug 24, 2012 at 2:01 AM, Peter Nguyen <pe...@likipe.se> wrote:

> Well, you just have to know and check for the aspects I guess, if you're
> using wildcards in the joint points. It's no difference than knowing what
> PHP functions/classes/variables not to overwrite/overload. Besides, you can
> always debug_backtrace to find out which joint points was executed...
> Another option is not to use wildcards and define the joint point
> explicitly.
>
> 2012/8/24 Sebastian Krebs <krebs....@gmail.com>
>
> > 2012/8/24 Peter Nguyen <pe...@likipe.se>
> >
> > > Your argument is a general issue when refactoring code. Whenever you
> > > change the name of a method/class, you need to change it in all the
> > places
> > > that use it, even in the AOP definitions if you have it of course. The
> > > advice is just a PHP callable so it works in the same way.
> >
> >
> > I talked about refactoring the joint points, not the advises, but thats
> not
> > the point. If I refacter an identifier my IDE (I use PhpStorm, but the
> > others should be that powerful too) supports me by searching for every
> > occurence of the identifier, or even without the need to refactor stuff I
> > can call "find usage". With a string like
> >
> > $ 'Classname::method()'
> >
> > or
> >
> > $ 'Classname->method()'
> >
> > I need at least text search, that should work reliable, when no dynamic
> > strings occur, because with
> >
> > $ 'Classname::' . $method
> >
> > it's getting hard, if not even impossible. One default case (it's
> mentioned
> > in the quickstart of the extension) are the wildcards
> >
> > $ 'Classname::do*()
> >
> > I guess this would take much effort. Just "refactoring" is not that easy
> > anymore.
> >
> > Don't get me wrong: I like AOP as idea and as concept, but I'm afraid,
> that
> > it could lead to scary construction, where noone can trace, what happens
> > when and why. Also as I mentioned I don't even have any better idea ;)
> >
> > Regards,
> > Sebastian
> >
> >
> >
> > >
> > > 2012/8/23 Sebastian Krebs <krebs....@gmail.com>
> > >
> > >> Hi,
> > >>
> > >> From my users point of view: I would like to see it. Maybe not in this
> > >> implementation/syntax, especially because it hasn't a special syntax
> > (but
> > >> imo it should to make the impact more obvious/prominent). With the
> joint
> > >> points as string and the common function call I can imagine it can get
> > hard
> > >> to find out, where a specific advise where attached, or which were
> > attached
> > >> at all, or just how many. For example I rename a method/class and I
> will
> > >> not recognize, that a security advise gets lost, I may realize it as
> > soon
> > >> as I find my data on pastebin ;) But I have no idea how it could look
> > >> like....
> > >>
> > >> Regards,
> > >> Sebastian
> > >>
> > >>
> > >> Am 23.08.2012 16:36, schrieb Peter Nguyen:
> > >>
> > >>  Hi,
> > >>>
> > >>> AOP (http://en.wikipedia.org/wiki/**Aspect-oriented_programming<
> > http://en.wikipedia.org/wiki/Aspect-oriented_programming>)
> > >>> when used
> > >>> correctly, can make your application really modular. I've seen
> several
> > >>> implementations but they all require compiling of code beforehand.
> > There
> > >>> is
> > >>> however a PECL extension now (https://github.com/AOP-PHP/**AOP<
> > https://github.com/AOP-PHP/AOP>)
> > >>> that enable
> > >>> AOP in PHP directly. I was wondering if there are any
> > >>> interests/possibility
> > >>> to include AOP into the PHP core?
> > >>>
> > >>> Best regards,
> > >>>
> > >>> Peter
> > >>>
> > >>>
> > >>
> > >> --
> > >> PHP Internals - PHP Runtime Development Mailing List
> > >> To unsubscribe, visit: http://www.php.net/unsub.php
> > >>
> > >>
> > >
> >
> >
> > --
> > github.com/KingCrunch
> >
>

Reply via email to