Differences ¶
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:about [2006/09/03 09:08] – doubleface | en:about [2011/05/08 06:40] (current) – laurent | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== About ====== | + | ====== About Jelix ====== |
- | ===== General ===== | + | |
- | Jelix is a framework for PHP5, whose objective is to contribute to the realization of applications or Web sites of any kind. | + | |
- | Here is what is proposed to the developer: | + | Jelix is a modern PHP5 framework |
- | * API dealing with numbers of technical aspects: data access, MVC model, templates, exit format generator (HTML, XUL,…), Web services (xml-RPC, json-RPC), authentication, | + | * [[en:features|Discover |
- | * a modular structure and an organization of the files of the project, imposing a framework and some developing standards. | + | * [[en:tutorials:minitutorial|A minitutorial]] |
- | * a " | + | * [[en:faq|Frequently Asked Questions]] |
- | + | * [[en:credits|Who | |
- | These characteristics allow for a better re-use of the code, a capitalization of know-how, a better organization in the development, | + | * [[en:hall-of-fame|Hall |
- | + | ||
- | Jelix uses to the maximum of specificities of PHP5, in order to be the lightest and most powerful possible. This is why a project based on Jelix is 100% object. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== Features ===== | + | |
- | + | ||
- | ==== Original functions and characteristics ==== | + | |
- | * **Modular architecture** | + | |
- | * **Minimal guarantee on the data exchange** | + | |
- | * **Generation of technical errors in specified format** : thanks to the Jelix system described before, all the technical errors are returned in the format awaited by the client. For example: no HTML formatted error when client is awaiting XML-RPC or RDF response. | + | |
- | * **Light and evolutionary template engine (jTpl)**, with a syntax halfway between Smarty and PHP. A plugin system like in Smarty is also available. | + | |
- | * **jDAO, object-relational mapping**, based on the DAO design pattern (Data Access Object). Declared in XML files, | + | |
- | * **Designation of files and resources by selectors**, | + | |
- | * **Event system** allowing module-to-module communication. | + | |
- | * **Overload file** : it is possible to redefine some files of a module without changing the originals (DAO, templates, properties). Useful when a module is used by several applications at the same time, or to make easy the update of a third module. | + | |
- | + | ||
- | ==== Modern functions and characteristics | + | |
- | Functions that we don’t find so often in frameworks: | + | |
- | * **Web Services** : Jelix deals with analysis of the content of requests, and the generation of the response. | + | |
- | * **Handling of RESTfull** | + | |
- | * Template system: it is possible to define several templates, each one redefining the template of modules. | + | |
- | * **Automatic system for URL generation and mapping** : no complete URL in Jelix. The framework has the responsibility to generate urls in the templates or elsewhere, according to the configuration of URL mapping defined nn actions (mod_rewrite & | + | |
- | * **PHP scripts for code generation** to execute in command liner, allowing fast creation of various files of a project (module, DAO, template, actiongroup etc) | + | |
- | * **Technical cache system** | + | |
- | + | ||
- | + | ||
- | ==== Traditional functions and characteristics | + | |
- | Functions which one finds in many frameworks: | + | |
- | * **The architecture of the core is MVC type** (Model-View-Controller). A coordinator handles the execution | + | |
- | * **Database access abstraction layer**: jDb relies on PDO or its own classes (when PDO is not available) to reach the databases. | + | |
- | * **Localization**: | + | |
- | * **System of authentication and rights management**. | + | |
- | * Use of XML: declaration of the events, DAOs etc… That makes it possible to facilitate writing, generation and modifying these parts of a project by third-party tools, and thus to increase productivity. | + | |