logo.gif

Welcome to Freeform Framework

Freeform Framework is a web application development framework aimed at creating scalable web apllications. It is not just another MVC framework, it adresses a wider range of common problems web developers face while creating large-scale web applications.

The framework development is currently frozen. It will be resumed and the framework will be rewritten to use PHP6's namespaces and Unicode features. Meanwhile you can visit the sites powered by the framework: onPHP5.com, StarStory (in Russian), MixMag (in Russian).

We will keep updating this page as soon as the namespaces and unicode extensions APIs are released. Currently, the framework is used in the development of several upcoming sites (based on PHP5). Since we are concentrated on the development of these sites, the framework is constantly updated and there is no release scheduling. We will release the framework as soon as we get it to run under PHP6.

link.gif link-freddy.gif

Features

The core features of Freeform Framework are:
  1. The MVC approach that separates business logic from presentation logic. In Freeform, it is impossible to write business logic code that will generate resulting HTML directly. The bundled html package that implements the best templating engine in PHP5 world, while allowing you to stick small PHP code fragments, discourages this and is truly XML-based. With its tools you can create your own tags that will present complex content and separate the business logic from the presentation logic. The template designers will never have to type endless URLs and select lists or take care of not destroying some parts of embedded PHP code, while the programmers can concentrate on code manageability because their code is free from any markup.
  2. The framework also offers an elegant form processing automation solution. All you have to do now is to create a form class and add fields to it, specifying validators. Upon submission the form will validate itself, and, if it fails, you can redisplay the page where wrong input will be re-prompted saving the correct input. File uploads are also fully automated; you can validate upload correctedness with no coding at all.
  3. Packages is a solution to application modularity. With Freeform, it is easy to create separate packages, or modules, that solve some common sub-application problems (a forum, for instance). Using its own configuration the package can easy plug into your existing application in seconds with no additional programming. You will just have to modify several configuration setting and you are done!
  4. Session API is a new approach to handling sessions and users. It unifies interface to sessions while giving you the ability to choose from many underlying implementations. Thus, the packages are unaware from all session and user handling tricks. Unified user handling guarantees that whatever user model your application has, other packages will be sure that there is a current user and what role he has.
  5. Security API is a standard way to protect critical areas of your application from unauthorized access. Each user action is checked against a security policy that makes decisions on whether the request can be completed in the current environment. You can then configure other packages to use your security policies to protect access to them. Besides, the user system is role-based, where you define the roles and instruct other packages which roles to allow or to deny. Being that simple, you can easily define your custom and reusable security policies for the entire application.
Freeform Framework
(c) 2004 - 2008 Dennis Popel

Freeform Demo View Documentation