A-Frame MVC framework for PHP

We love coding. We love coding in PHP. We also enjoy solving problems in PHP and not having to deal with the same tedious niggling issues again and again and again. We decided to build a framework that takes care of all the annoying stuff for us, without forcing us to subscribe to horrible naming schemes or, even worse, database schemes.

A-Frame was born. It's seen experience on many, many production sites without issue. The beauty of it is its simplicity. Many of the methods and concepts are taken from other great (but slow and/or buggy) frameworks like CakePHP without sharing any of the codebase. Yes, we wrote it from scratch.

Some things it provides:

  • MVC design pattern. Splits your code into controllers, models, views, and libraries. Promotes good organization of code and provides PHP templating system ("NO" to Smarty) that makes creating your front-end super easy.
  • A database helper. Uses PEAR::DB's escaping scheme: ? for strings, ! for literals. Allows you to focus on querying and manipulating data instead of building while() loops to pull out associative arrays or worry about escaping your strings.
  • Higher-level database functions. Without having a full-blown ORM (no, we will NEVER add one) A-Frame has some nice methods in the base_model such as save(), which will create INSERT/UPDATE queries for you on the fly, or last_id(). These methods are cross-database compatible with MySQL, MySQLi, and MSSQL (more to come if requested).
  • Form-building tools for the front-end to take the tedious work out of building forms. Also error-checking in the models make checking your forms for errors incredibly easy.
  • Helpers for simple things that are annoying to type...such as the base_controller's "redirect()" method with built-in 301 support, instead of header("Location: ...")

There's much more, but those are most of the important features. A-Frame is considered stable and not developed very much because, in our eyes, it's almost perfect. We use it every day on tons of projects. That has been our QA: we've built everything we needed, and left out everything we didn't (or made a library for it).

A-Frame is truly a masterpiece. The focus is a fast, stable, framework with a tiny footprint but with exceptional functionality. It's there when you need it, it's invisible when you don't.

Visit A-Frame's GitHub page