What is phpBF?
PhpBF is a Smarty-based PHP5 Framework allowing faster and more robust web development without compromising performance and flexibility. It deals with common tasks such as DB access, globalization, and implements the MVC pattern in a clean file structure.
Overview
-
Based on the Smarty template engine
Smarty is a powerful template framework. The syntax is easy for both programmers and designers. It focus on quick development of web applications, while maintaining high-performance, scalability and security. It is plug-in oriented, PhpBF will extending it in many ways. Read more about smarty on the official website. On the client side, you can run a Javascript framework such as JS Prototype. When coupled with the Ajax Module on the server, it really gives you full control over the client's browser.
-
An easy to use and extensible API
Developing a website or web application can be fastidious. For a more robust and rapid development, the framework is built around a core API. The API deals with common aspects that can't be overlooked during development, like character encoding, access restriction by user identification, linking pages together and avoiding broken links. PhpBF is easy to extend, you need just download new modules. Moreover, only required modules are loaded for better performance.
-
A clean file structure
PhpBF offers a clean file structure that follows the Model-view-controller (MVC) architectural pattern. Different types of files (templates, scripts, css, images, etc.) are stored in different folders. No more messy root folder! Upgrade is also made easier that way, as it can be done automatically though the Automatic Update console. A clean file structure also means better security by forbidding or restricting access to your sensitive files.
-
DB abstraction layer
Data access is made though an abstraction layer, so that your application can work with any kind of SQL database. Data access is object oriented. The API converts each retrieved row into an active record object. Columns become properties, which can be read and set. You can even extend those objects by adding custom methods and set some processing to be done when accessing properties.
-
Localization
One of the most important features is the advanced internationalization and localization module. Making a multi-languages websites has never been easier. Translation need not be in external files, it may be written directly in templates. The template engine will then select what to send to the client. This has no performance impact since it is done at compilation time and it makes content writing and maintenance much easier. Of course, this module is optional and will not be needed on mono lingual project.