PHP 7.x | MySQL

PHP is the touch stone of most web-sites these days and while there are other languages in use, the fact that PHP is by far the most popular makes it the defacto choice. PHP is really at the heart of everything we do because it is, in a nutshell, the way you control your data. Otherwise your web-site is just a static set of documents or pages.

The choice of database is MySQL and again without any doubt #1. In some cases another style of database might be preferred [MongoDB] if you are dealing with a lot of unstructured data, but for most Apps, the use of MySQL as a structured relational database is the platform to choose.

Security is a big issue these days and one is forever hearing about this data breach or that `hack`. While some data can never be encrypted or `hashed` [there is a difference], you can rest assured that any database we build will always be MD5 hashed where appropriate and AES encrypted for two-way data [i.e. save and read-back]. In English this means that even if your data is stolen: passwords, credit cards details etc. will be total nonsense to the human being.

Just a style note | Some developers like to use true EAV ORM [we love EAV] rather than basic MySQL model queries. While this is a laudible philosophy, and fine in say Magento, in practice this can make the `model` code quite difficult [sic.] to visualise and moreover debug especially with complex queries using lots of inner and outer joins. Using Active Records, direct queries are quite safe from SQL injections. And finally, while ORM might be great for the original developer, spare a thought for the new developer who has to look at this code. With explicit queries [chained with Active Records] you can really see what is going on and it acts as a sort of in-line documentation.

Regardless of your DB platform, we always serve up a `written in English` data-dictionary which means that your `data` as well as your `code` has a readable and shareable guide. For small projects this might only be a few pages of A4, but systems tend to grow over time and having a properly documented library for your data is [in our opinion] just as important as well-documented code.