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.
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.
Recently, I’ve been studying some pretty cool architecture stuff, like onion and hexagonal architecture, then, I stumbled into this awesome talk from Matthias Noback at PHP Barcelona Conference in 2015, which I’d strongly recommend to you to deepen your knowledge on this subject. Due to my PHP background, it has been proved as a precious content. … →
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 packagist.org =), although a simple but a quite useful one.
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?
Although this article has focused in PHP and PHPUnit, you can use these instructions for any other language and its suite tests like Ruby and RSpec or Java and JUnit.
In my last job, I had a small dilemma every day; my work was too far from my home nearly 22 kilometres, so there were many possibilities to reach there, consequently several ways, by train, subway or bus, even by each one of these alternatives there were numerous forms to combine.
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. … →
On the last year, I wrote an article about how to start contributing to WordPress project on the Linkedin Pulse platform; To avoid duplicate texts here, I’ll only provide the link directly to the article below:
How to contribute to the WordPress project
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.