Notes from #SOLIDay

Tried to capture little bit of atmosphere from PHP conference devoted to software architecture and best programming practices. Organised by @phpsrbija.

First up was Shawn McCool talking about Designing a Model Architecture. Pretty complex topic, but it was covered with very easy to follow examples. Using real life code examples felt great because “Car extends Vehicle” examples are starting to get boring and making a jump to your everyday work is not always straightforward. I was sceptical at first by the amount of code slides, but they tie the whole talk together and introduce you to Command Bus and Events/Listeners concepts and patterns. What am I bringing home after this talk, apart from a big reading list? You can ease up on getting separation of presentation and services just perfect and instead focus more on domain level as gains are much more valuable.

With almost no break, we started getting to know Dependency injection. Rob Allen did a good job explaining the concept, I especially liked the Pimple example with analogies to Symfony container and other implementations. Takeaways — checkout Pimple and do not shy away from using DI that comes with your framework of choice. You might want to check out the slides.

Mathias Verraes went for explaining Identity pattern in the unfavourable “after the lunch” slot. There was little differentiation made between Value object and Identity pattern and a lot of time was spent on Value objects so I’m not sure if Identity is a best talk description. This is also potentiated by speaker’s advice where he suggested starting out with Value objects as a ticket into DDD. It also felt like slides were unprepared and do not help much in explaining the topic.

To be fair to Mathias, organisers decided to add another lunch, so we had two lunch breaks and therefore two “after the lunch” slots. Second one was filled with Paweł Jędrzejewski who is using Sylius to explain SOLID principles.

If you got “You should code defensively” in your peer review, you should definitely hear what Marco Pivetta has to say in Extremely defensive PHP. It would be extremely unfair to summarise it into few sentences as it caught me few times going “oh crap, I did what is described in Example B”, “and Example C”, “E? Yep, F as well!”. Go through slides and see how can you help your future self. Slides are here.

Last talk of the day was by Brandon Savage with Seven deadly sins of Object Orientation. I already heard it back in 2014 but was still curious to see if there are any new approaches. While I did not hear anything new, the talk is much better, transitions between “sins” are smoother and Brandon seems comfortable giving it. Still the best reminder is that our job is to solve problem, not write code ☺.

PHPSrbija managed again to put together a well thought out event. If you are not already, follow them and stay tuned because they are already preparing another great conference scheduled for fall 2015.