PHPCon 2014

IMG_20140928_115445

PHPCon is far behind us. Emotions have subsided and I think this is a good moment do summarize what I remembered and learned during all presentations and workshops which I attended. Some of presented tools or methods wasn’t new for me, but I was fascinated by the speakers’ point of view.

 

HHVM

The HHVM interpreter is one of the very top topics raised during last few months. It is a totally new tool invented by Facebook to improve PHP performance, because PHP is slow isn’t fast. @MariuszGil introduced us the world of faster applications with HHVM, OPCode Cache, Hack, PHP NG and HIPPYVM. Because they are mostly released in not fully stable versions they are dedicated  for geeks – customers are not ready for them yet. But you cannot say it unusefull – you may install HHVM to run composer during the development process:

1
2
3
 alias composer="hhvm -v ResourceLimit.SocketDefaultTimeout=30
-v Http.SlowQueryThreshold=30000
/usr/local/bin/composer"

and this will run 5 times faster than in PHP 5.5.9. But, there is more – the HIPPYVM – which is two times faster than HHVM and can make runnig composer even more enjoyable.

Of course, we haven’t found a silver bullet, because as we know, all bottlenecks are localized in the code and this should be refactored at the first place. Want to see how to increase the performance and hack the PHP? Look at  http://devplant.net/2014/08/11/optimizing-php-code


 

Graphite, StatsD, Elasticsearch and Logstash

Managing logs on more complex infrastructure can always keep you awake at night. It’s so common problem that somebody solved this by creating new tools for you. _blank">@BastianHofmann created a quick introduction to his favourite Graphite, StatsD, Elasticsearch and Logstash. I had to try a couple of them just after the conference and the Logstash as a parser and sender, elasticsearch as a storage and kibana as a presentation layer fit my expectations. I can freely access application logs collected from all mirror server on one place. But, as an author said, always remember to log to the file. Then you can move your records somewhere else.

Ruling Frameworks

I believe this wasn’t a coincidence that we were able to compare two main and dominating frameworks day by day. I’m a Symfony developer who used first version of Zend and I must admit that I wonder what changed exactly. I was under impression how easily I can switch between frameworks and learn something new. Zend 2 vs Symfony 2 have so much in common and share so many ideas, but the fact is, they are build in two different ways, especially when you get into configurations.

Fortunately for all Symfony’s fans there was more. An author of very new e-commerce platform base on Symfony, Paweł Jędrzejewski, has introduced participant to Sylius. I think Sylius is a solution for all developers which want to make e-commerce with all technological innovations delivered by one of leading frameworks.

DDD

Domain Driven Design is You can’t build a complex software without domain knowledge. But, first of all you need to get the knowledge about DDD itself. The dictionary is really expanded and might be confusing at the very beginning, ex. when I started my adventure with DDD I didn’t understand why I should use value objects. After a long lecture of purposes, pros and cons and realized that makes sense even for ID’s in objects. Wojciech Sznapka has made a really good map of DDD world for the people who are more than beginners but not advanced yet.

Conclusion

I always say that if you have learned at least three new things from the presentation or the conference then it was good to be there. And PHPCon was a great conference even for advanced. PHPCon is one of those conferences which makes things jazzy, fancy, bluesy and cool. Acctualy it’s the finest PHP event in Poland, in my opinion.