Allow the users to be authenticated on multiple ways :
It is easy to add a new authentication method.
All the controllers (and models in expert mode) can be drived from command line with a CLI class. Configuration
The configuration file of your applications can be manage by DomFramework, with your structure of data to save.
The database abstraction layer permits to create access to databases from your applications, without thinking about errors, specificities.
If a database engine is not provided, it is easy to add it.
Based on PDO, it allow to connect to the major databases engines like MySQL, SQLite, Postgresql...
There is also a NoSQL database integrated in JSON.
The logs are important elements of a software : to see the good and the bad news, to solve some problems with users. The looger class permit to save logs in file or in syslog.
The markdown format allow to write text readable from humans, and easily transform to HTML by the computer
The datas from your application can be formated on multiple ways
CSV (Comma Separated Values)
HTML with layout and view support
JSON for AJAX interaction
Text with table presentation
XML
The renderer permit to create HTML pages with a standard layout and some differents specific views
Allow to support multiple languages defined by the browser of the client
The REST support drive your application with GET, POST, DELETE, PUT, but also display the result in the format wanted by the user (if it is allowed)
The routing allow to interact with the URL and run differents controllers Verify the datas
When a user interact with the computer, he is doing errors. The verify class check the conformity of user's data before accept them in databases
The forms are managed easily. Can also display the errors.
The cache system is available to speed up the pages offer to the final user.
Allow to manage multiple languages on the interface. The user can choose its prefered language by its browser, a cookie or by preferences.