Most of developers are constantly teaching and discussing modern patterns, frameworks and libraries. But what if you think that you know almost everything about traditional OOP in PHP? I can bet that at some level of mastery you could notice that traditional object-oriented patterns do not solve all problems but introduce new questions instead. This is because OOP-way is not suited well for complex tasks.

Are you looking for the new food for thoughts about how such complex issues could be solved in PHP? For example how to make your existing method asynchronous just with one single word? Or how to reduce boilerplate code for feature toggles?

Join me and I will show you how to apply the most powerful aspect-oriented framework to escape from your existing OOP boundaries and teach you new patterns that can help you to keep your code clean.

Comments

Please login to leave a comment

Daniel Leech at 09:52 on 10 Nov 2019

Great talk introducing the possiblities for using AOP in PHP, and using stream filters and finally how to use evil PHP extensions to modify PHP's engine at runtime.

Jean-Bernard at 15:50 on 10 Nov 2019

Thanks !

So much knowledge from the weird parts of PHP packed in 40 minutes. What Alex is doing with PHP is amazing and I had quite a few "How is this even possible?!" moments during the talk.

I'd like to see a bit about how the AOP approach is different from for example middleware, which we discussed after the talk.
And I'd absolutely watch a talk only for things like the stream filters, modifying php from within php in runtime and all the black magic he is doing.

Arnout Boks at 16:11 on 16 Nov 2019

I found this a great talk, and liked seeing how Go AOP works under the hood.

I already knew a thing or two about (Go) AOP and the tricks you use to implement it, but I can understand some of the confusion that (judging by the questions) other attendees probably had. It might help to reorder you content to introduce AOP and what you can do with it before showing things like the stream filter tricks. That may make it more clear why you would want to extend final classes or access private variables.

I definitely enjoyed seeing the next level black magic with z-engine!