in web development on March 30, 2015
PHP frameworks are a nightmare to stay up to date with. With the ever increasing amount of open source projects available online, it’s hard to find one that you return to project after project. Phalcon is another to add to the mix.
The last few months have been extremely busy for me at work, seriously busy. It’s fair to say I’ve been given my biggest (in terms of audience size rather than file or architecture size) project in my professional career. Each week, the project’s estimated user base gets another zero added onto the end of it. In addition to this excitement but sobering experience, I decided to do the whole project in a brand new framework.
I think I was high on Chai Tea Latte’s the day I decided that…
Enter Phalcon framework:
According to its website:
Phalcon is a web framework implemented as a C extension offering high performance and lower resource consumption
They’re not joking. [http://docs.phalconphp.com/en/latest/reference/benchmark/hello-world.html](Their published benchmark testing) shows just how fast Phalcon can be compared to other PHP frameworks.
In all honesty, I’ve not even scratched the surface of its ability and Phalcon already performs amazingly fast on an extremely small VPS. However, speed is only just one of the amazing features Phalcon comes bundled with:
Phalcon comes out of the box with it’s own inbuilt access manager class, which allows you to easily set different levels of user access and effortlessly manage different points of access for different users. No complex database tables required, nor any over the top url configuration. It’s routes management is similar to Laravel (and other frameworks) and the security access class links seamlessly to the routes setup, so all you do is select the user level and the controller routes based on the route you want the user to access and boom you’re done. Simple as.
I can’t even begin to describe how easy models are in Phalcon. Seriously.
Phalcon takes care of almost 90% of the model management and has some mind-blowing functionality which means you spend more time actually using your data from the database, rather than writing the queries. I would recommend taking five minutes to have a look over [http://docs.phalconphp.com/en/latest/reference/models.html](the models documentation). Adding relationships to the models and working with them in your controller is simply the most pleasing aspect of working with phalcon’s models. Being able to fire up a row’s relational data from another table in your database as a child object of the model class makes me smile every time I use it and remember how difficult it used to be writing the join queries by hand.
Volt is Jinja. I like Jinja. [http://callumhopkins.com/mean-nunjucks/](I’ve written about Jinja Before). Phalcon uses Volt for templating. Therefore, you can imagine my delight when I discovered Phalcon uses Volt:
I won’t drone on about how amazing Jinja is again but for those who have never dealt with it or Volt before, http://callumhopkins.com/mean-nunjucks/ http://jinja.pocoo.org/ http://docs.phalconphp.com/en/latest/reference/volt.html http://stackoverflow.com/a/4352037/1369567 as to why it rocks so much.
I’m not going to lie, I really am writing a bias view to Phalcon here. Phalcon is amazing in so many ways, but there is one area it’s falling behind: community support. Phalcon’s community is passionate, but quite small compared to the communities for the likes of Codeigniter, Zend or even Laravel. Phalcon has been an ongoing project for the last 3 years but in recent times, development of the framework has been dwarfed by the contributors commitment to their full-time jobs and their own personal lives.
There is a donation drive going to raise funds so the Phalcon developers can focus on the framework and push it to where they (and frankly the rest of us Phalcon developers) would love the framework to be developed to.
If anyone has read this post, has started using Phalcon and fallen in love with it, please support it by donating this week’s pocket money towards ensuring this amazing framework has a future. You can donate https://pledgie.com/campaigns/27405.
In any case, I encourage any and all PHP developers to give the framework a spin, it’s definitely worth checking out if not purely for its completely new spin on PHP frameworks.