Everybody likes Object-Oriented Programming and wants to keep the source code clean and clear, but there are cross-cutting concerns that can not be solved easily such as logging, caching, authorization, transaction control and more. Are there any ways to solve them? Yes. One of them is Aspect-Oriented Programming.

This is a talk about Aspect-Oriented Paradigm with presentation of Go! AOP framework, that was inspired by Lithium, Java Spring and famous AspectJ frameworks. And for now AOP is possible in PHP.

I will show some new techniques such as inter-type declarations (dynamic traits for classes, dynamic interfaces, adapters), such as method interception, AOP caching, logging and much more. Are you tired of implementing of logging or caching in all methods? Do you want to extract this code to the one place? Join me and learn the elegant ways of solving cross-cutting concerns in PHP.


Comments are closed.

Milan Urukalo at 20:31 on 27 May 2017

Interesting talk, only Alex speaking was hard to understand, slower and more clear speak is must

Interesting concepts, pretty hard to follow, there was too much technical information at some point.

Peter Fisher at 21:09 on 27 May 2017

Very interesting and thought provoking talk. The animations and screen recording was a nice touch. I also liked that he repeated the question when it was asked.

Interesting stuff, but hard to understand the speaker at few points. Probably because speaker's english and changing slides too fast from time to time. Also, I didn't like the answers to Nils's questions at the end.

Cerovac Marko at 03:12 on 28 May 2017

Interesting talk.

Drasko Mikic at 11:55 on 28 May 2017

Interesting topic, AOP is worth trying. Definitely speaker spark curiosity, but should improve presenting skills, especially stop pronouncing 'the' as 'ze'.

James Titcumb at 13:08 on 28 May 2017

Echoing others here - it was certainly interesting. My issue is that's more or less where it stands; I think it could be difficult to apply this in real world; if you're separating your domain from infrastructure, then cross-cutting concerns don't really make it into the domain anyway. Nevertheless, I can see the point of AOP but the limited applications (certainly in the world of PHP) and the fact we need a hacky way to actually implement it means I'm not sure. Only minor point is you spent the whole time explaining about AOP/Cross cutting concerns, but in the last question you more or less said it's probably not very usable except in limited circumstance (i.e. experienced team). Good explanations though anyway! Thanks.

Great talk. I actually learned something new. AOP is something definitely worth checking out. Five thumbs up regardless of some bad english.

For me, this was the best subject of the talk on this conference. I'm very interested in AOP and hope to give it a shot soon. However presentation was not the best. I understand that not being a native English speaker makes things a bit harder, but when you are giving a talk at international conference you have to do better. I really had trouble following, after the first half an hour or so, as my concentration started going away.

Very nice topic and very well covered. This is what I like at conferences, to hear something I never heard before.

Dusan Lukic at 17:58 on 29 May 2017

Awesome talk, got me interested in AOP.

Nice one

Well presented. I thought the explanation of using AOP for logging and caching was great. I don't think a lot of PHP programmers know about AOP. I disagreed with the use of AOP for security when it appeared that the code was expected to be used inside of a framework any, or should have been stressed that if the developer is using Laravel or Symfony to just let the framework handle it. Also, I felt like the suggestion that using AOP instead of a mediator would be simpler to be not accurate, as there is quite a bit of spooky action at a distance that can cause unintended problems and makes the code harder to follow and requires integration testing instead of unit testing to verify. I thought the negatives of using the AOP framework could have been better described with examples of exception stack traces or debugging while using the framework.

Interesting topic, but hard to follow :/

Alexander Lisachenko (Speaker) at 20:27 on 7 Aug 2017

Linked slides, video and source code from my talk, you can find links on top.

Thank to everyone for leaving feedback, I'll try to do my best next times!