From JFramework Wiki
Welcome to the jFramework wiki. This is intended to be the all-knowledge reference for jFramework. If you haven't, please check the official jFramework Website at http://jframework.info to get the latest jFramework version, Demonstrations and etc. Also consider visiting the full jFramework Manual if you're looking for a complete guide to jFramework.
10 minute Quickstart tutorial would be the starting point if you're here via the jFramework website, Or this is the first time you're using jFramework.
j Stands For
jFramework is a PHP framework based upon Simplicity, Scalability and Performance. Whenever these three collide, jFramework uses clever development to keep all three as much as possible, prioritizing simplicity and performance.
jFramework requires no installation, i.e you get it working by just copying its files to your web folder. The learning curve for jFramework is quite fast, yet it has almost everything you might need in a nowadays advanced or complex web application or even enterprise.
jFramework has a very active development team, And is under a lot of stress in many operational environments. To get jFramework, visit http://jframework.info/get .
This is a list of jFramework requirements:
- Apache (mod_rewrite enabled)
- PHP 5+ (5.3 not recommended)
- MySQL 5+ with MySQLi extension (Optional but recommended)
You can operate jFramework without any database connectivity but you'll lose much of the magic, But don't worry, If you don't have MySQL, jFramework can use SQLite for its functionality.
There are a set of features included in every framework, jFramework no exception:
- Libraries do most of the the magic in jFramework.
- Application Controller would be where it all starts.
- jPath is the ultimate automatic path conversion module.
- Administration Web Interface, where admins easily manipulate jFramework.
- Plugins provide everything that wasn't there.
- Patterns you can code with jFramework, MVC being the default.
- Services for a service oriented enterprise or any other use.
- j helper module.
- Error Handling helps you debug your application much easier.
- Fileman manages your file and resource requests with awesome control.
- jURL for URL manipulation and handling.
- Registry where your general data are handled safe and sound.
- Base Classes help you develop much faster.
- Configurations let you tweak jFramework however you want.
- Testing Framework for a test-driven development, or to test what you saw!
- Templates halve the view design time.
- View Parser fixes your URLs and performs view cleanup magic.
and a lot more...
jFramework is pretty fast, for a few reasons:
- It loads a lot of modules but actually runs a little code for startup, So most of the loading would be cached on the server and performed quite fast. A usual jFramework page gets less than .01 sec to load, And it contains SQL queries, too!
- We don't sacrifice performance for our sake, jFramework's code is very rigorous but runs pretty smooth and fast. We've developed our own MySQLi wrappers which supports almost more than anything any other library (like PDO) supports, And runs 10 times faster.
- jFramework RBAC model is the first to be implemented in PHP (due to Level 2 RBAC's Complexity), And a whole RBAC system check takes less than 1 milisecond, though it performs enormous tasks. This level of optimization has consumed months of hard work.
- jFramework is designed with optimizers in mind. It runs 10 times faster with Zend Engine running on the server (or similar products)
- jFramework's core consumed as least memory as it is possible. Less than 500KB's of memory is consumed by jFramework, most of it being the options constants changeable by programmer.
jFramework is secure, as it was mean to be. Security experts form a major part of jFramework main development team, And this framework was developed with security in mind, Not with security as an add-on. There are things in jFramework that make it suitable for secure use of many enterprises, Many of them not even PHP based (e.g jPKI).
A few samples would be (based on OWASP Top 10 2010):
- Fast, Flexible and mainstream prepared statements instead of old fashioned SQL Queries prevent any form of SQL Injections
- Flexible and up-to-date AntiXSS (based on 'htmLawed')
- Best Practice Session and User management
- Every request is handled indirectly via the framework (even data files), Hence no Insecure Direct Object Reference
- CSRF Request Tokens
- Mighty RBAC for fail-proof Authorization and URL access
- View Parser fixes URLs and prevents many Unvalidated Redirects
- jPKI, Security and Session library all provide strong and sufficient cryptographic functionality
jFramework has a perfected service core, You just develop your service classes and functions, Not considering this is going to be a service, And jFramework automatically can provide your functions (in services section) as these different services:
- standard SOAP (powered by nuSOAP, not PHP extension)
- Serialized PHP
- Pure XML
- Associative-Array (for built-in service call)
- YAML (to be added)
- Your custom user-defined Service input/output wrapper!
Service dispatcher, WSDL support, direct service URLs and Service Security is also included!