Doozr - The lightweight PHP-Framework for high-performance websites.

v0.0.2 2016-04-17 00:58 UTC

README

Logo of Doozr

Doozr: The lightweight PHP-Framework for high-performance websites.

Table of Contents

Features

Requirements

  • PHP >= 5.6 (compatible up to PHP version 7.x currently NOT compatible with HHVM)

Philosophy

Doozr is the lightweight PHP-Framework for high-performance applications. It follows the convention over configuration-principle. Doozr comes with the right set of core Services to build, test and deploy high-scalable and stable web-applications. Doozr supports the CLI, CGI as well as PHP's Internal Webserver SAPI. A ultra fast routing mechanism helps you building flexible web-applications. But Doozr has so much more to offer! Try it, run it ... ♥ it ;)

Services

Doozr is shipped with the following Services:

  • Cache (PSR-6 compatible caching subsystem, support for Filesystem, Memcached and ...)
  • Configuration (Configuration-Reader for Ini- & JSON-Configurations and caching)
  • Crypt (AES secure en-/decryption)
  • Filesystem (Filesystem wrapper with virtual filesystem support)
  • Form (Secure form handler (csrf/token) + validation)
  • I18n (Internationalization + Localization, native gettext™ support & gettext emulation)
  • Password (Password generator + validationHandler, support for PHPass based hashes)
  • Session (Secure OOP Facade, En-/Decryption, Unique Identifier per User, interval regenerating, ...)
  • Template (Interface to PHPTal with full PHPTal templating support)

100% composer support. For any missing features we can make use of packagist.org. So just put the required package(s) in your composer.json and use them right after installation without need to include .../vendor/autoload.php manually. Doozr detects the composer packages and includes the autoloader of composer.

This mechanism is our pragmatic approach as bridge to all the software & libraries out there. Of course you can build your very own Services and load them the same way as you would load a Doozr Service - but you are not required to do so. In other words: If you just want to use some smart library then pick it by using composer - but if you want to build your own piece of library then you should build a Doozr Service (which itself can use Composer as well).

Testing & Coverage

Our minimum quality standard for releasing Doozr version 1.0.0 is a test coverage of ~90%. Currently - while focussing the first public beta release of Doozr - we target a test coverage of ~75%. But we will do our best to reach the 90% as marker of excellence. It's hard work currently cleaning the whole code base, refactoring huge parts and removing some uneccessary ones. We know how important it is to provide stable and tested functionality - So you can always track the coverage by viewing Doozr's online code coverage report in HTML-format.

Versioning

For a consistent versioning we decided to make use of Semantic Versioning 2.0.0 http://semver.org. Its easy to understand, very common and known from many other software projects.

Roadmap

  • Target stable release 1.0.0
  • 75 ~ 90% Test Coverage
  • Bug hunt and quality offensive
  • Travis implementation (travis-ci.org)
  • Scrutinizer-CI (scrutinizer-ci.com)
  • Documentation (doozr.readme.io)
  • Security check through 3rd-Party (Please get in contact with me)

Throughput Graph

Security Issues

If you encounter a (potential) security issue don't hesitate to get in contact with us opensource@clickalicious.de before releasing it to the public. So i get a chance to prepare and release an update before the issue is getting shared. Thank you!

Participate & Share

... yeah. If you're a code monkey too - maybe we can build a force ;) If you would like to participate in either Code, Comments, Documentation, Wiki, Bug-Reports, Unit-Tests, Bug-Fixes, Feedback and/or Critic then please let us know as well!

Sponsors

Thanks to our sponsors and supporters:

Copyright

Icons made by Sebastian Carl licensed by CC BY 3.0