tacitio/framework-a

Yet another PHP framework.

1.3.0 2013-03-28 21:29 UTC

README

The implementation isn't perfect yet (there is too much interaction between tag parsers and Framework, tag parsers have too much responsibility) but hopefully it will fulfill the goals below.

Framework A is the culmination of all of my experience to-date writing web applications in PHP (unfortunately, for now, most of these past efforts and frameworks will remain private). I hope that when it is finally finished it will both promote and facilitate good application design in a PHP-friendly style.

The boring name is just because I am tired of coming up with new names for every experiment I write. If Framework A has an ideological successor, it will be named Framework B. If I manage to get all the way to Z and need a name for a new framework, I'll suppose I'll name it Framework AA.

Add description of philosophy, goals, etc. here.

Misc. Notes

  • Framework A tries to follow the Semantic Versioning specification - essentially, version numbers are represented as MAJOR.MINOR.PATCH, with PATCH being incremented for each patch, MINOR being incremented for each backwards-compatible API change, and MAJOR being incremented for each backwards-incompatible API change (in short, what most sensible projects already do).

User Notes

  • You have to set headers using Framework::status(___, "_________"), as the function to see the HTTP response code is not available <5.4.

Developer Notes

  • In general, follow the PHP Pear Coding Standards. If you use IDEA or a derivative (i.e. PhpStorm), the .idea project directory will define appropriate settings when you load this project.
  • Built on PHP 5.3 for now, as this was originally for Green Plug's website (GoDaddy only supported 5.3 as of 2/9/2013). PHP 5.3 will go EOL upon the release of PHP 5.5, which doesn't look too far away, and as soon as existing Tacit I/O websites can run on PHP 5.4, we should upgrade the framework in a backwards-compatible way.

Licenses

The license for the project is the ISC license, and is included in the LICENSE file. composer.phar from the Composer project is included for convenience, which means that the MIT license and their copyright notice must be included with source distributions of Framework A (along with the license used by Framework A and our copyright notice, of course).