PHP Barcelona 2019

After a long time planning, finally, I was able to attend to one of the most prestigious PHP conferences in Europe, PHP Barcelona. Two days of great talks and a lot of valuable content. I was quite amazed by the quality of the scheduled talks and by the invited keynoters, it is not that easy to arrange such lineup for an event like this one. I will briefly talk about my favourite talks and some things worth to mention.


Profiling PHP applications with Xdebug

When you are dealing with applications which handle a massive amount of data and high traffic, performance is usually a critical issue to deal, and consequently, the ability to identify any bottleneck in your software may be precious. I’d like to share here some insights about profiling in PHP applications, it means, how to analyse your app and try to improve its performance through the data gathered.



Yii2 extension for Doctrine and MongoDb

In my job, I was trying to use the MongoDB with the default Active Record from the Yii2, but briefly, I had struggled with too many issues and missing documents, so, I gave a u-turn and decided to use the Doctrine instead, this is the outcome, my first package for =), although a simple but a quite useful one.



Using fragment cache with ESI

First of all, what’s ESI? If you are familiar with cache approaches, you may have heard about it. The ESI or Edge Side Includes is a small markup language for edge level dynamic web content assembly with the purpose to solve the following problem, e.g.:

A web page has some dynamic components that always change, on the other hand, others static parts of the same page barely are modified like the footer or header, what kind of cache strategy we can use? When you are using reverse cache also known as gateway cache in your application or web servers like Apache or Nginx at this context, this sort of cache will be useless, because in every request will be necessary to refresh the cache system to show the dynamic content because the cache works for the whole page. On this sample, the cache layer will be only an extra step to increase the latency. So, how to solve that problem?



Three years after the ZCPE exam

Three years ago I took the ZCPE (Zend Certified PHP Engineer) exam about the PHP 5.5 (Recently the new version of the exam was released, this one is about the PHP 7). It was a milestone in my career, and I can perfectly remember the two months before it, when I studied so hard, even dreaming about it. … 


Setting the Yii test environment

Have you decided to write tests for your Yii project? Awesome, this post will be useful for you =D
I’ve started to work with Yii recently, and I have to be honest that is not my favourite PHP framework, Symfony is on the top my list, but we can’t ignore one aspect so important for the software cycle life because of personal preferences.
If you have tried to write tests for the Yii using mock objects for active record model you will probably find yourself that isn’t an easy task. This guide has the mission to help you to set up your test environment; this doc is using the Yii 1.0 documentation as support to configure the test environment, below you can figure out how to start from scratch to write unit and functional tests for this or anything else projects using Yii.