We are running a medium sized website called kollekt.fm which is currently build on top of the Slim framework which is used as a RESTfull backend. I've been the only backend developer working on the project thus far and we’re currently in the process of getting more developers to join the team. I’ve been reviewing our current architecture to see if this is futureproof and will holdup as the project grows.
The slim framework; As the name dictates, is a very slim framework :). It does not include an ORM for example and we only use it for handling the REST calls. I decided to write my own persistence layer which implements the data mapper pattern and repository pattern. I’m quite fond of these patterns as they don’t break the single responsibility principle. I must say however, I’m not very familiar with the active record pattern, but from what I understand, the models usually map to a table in the database, which is not the case in our project.
The website runs fine on the following system:
- OS: Ubuntu 12.04
- Document server: Ngnix
- Lanuage: PHP5.5 (FPM)
- Database: MySql
- Caching: Memcached
Phalcon and Zephir got my attention a couple of weeks ago and I couldn't get it out of my mind. I really like the idea of it being compiled into C. Things I like about phalcon:
- Database migrations
- Similar to Slim (easy to do a refactor)
I'd like to know if this performance is still noticable if I decide not to use the ORM and where phalcon can prove its qualities?