Why I chose Silex for this website

by Ben Harris


Posted onWednesday, June 29th 2016


Me

This is an introduction to my choice of framework in building this website.

Several options I considered for my website:

  • Django
    • Django's opinionated Model model with its strong database ties seemed a bit much for a relatively static site
    • It's huge and unnecessarily complicated for a simple website
    • It would be a great learning experience in Python
  • Vanilla PHP
    • I have a lot of experience in vanilla PHP at my internship at Northern Michigan University working in the Information Services department where I develop web applications for internal use.
    • I often find myself frustrated with PHP's quirkiness and wouldn't learn new material if I used this for my personal website.
  • Silex
    • This is a micro-framework built using components of the much larger Symfony framework.
    • I discovered Silex in Heroku's PHP deployment guide where I noticed that it was small enough to not draw unneeded overhead and extensible enough for my website to grow as it needed.

I opted to go with Silex. The source code is available here for your perusal.

I have gone through many iterations of this site. The first version was simply a clone of the homepage that I have on my university's computer science department server. This wasn't a very useful homepage as many of the projects that I wanted to show in a portfolio were tied to a database on that server.

I eventually moved towards a one-page style layout (in this commit) where the links in the navbar would scroll the page to pre-defined regions. I then ditched the old multipage layout and at this point I discovered Grav. After difficulties integrating Grav within my app (read more here), I decided to roll my own blogging solution modeled after Grav's markdown content system.

I included a YAML Front Matter + Markdown Parser and used that to define the metadata for a blogpost.

There is still much to do (post sort order, paging, tagging, etc), but I appreciate the experience that I have gained in building this blogging system.


Blog Search

About this Blog

This is my blog. I write about stuff that I find interesting, which is many things - but it's generally focused on technology and development.