Trace:
Differences ¶
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:about [2006/09/01 14:42] – 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 all features]] |
- | * a modular structure and an organization of the files of the project, imposing a framework and some developing | + | * [[en: |
- | * a " | + | * [[en: |
+ | * [[en: | ||
+ | * [[en: | ||
- | These characteristics allow for a better re-use of the code, a capitalization of know-how, a better organization in the development, | ||
- | |||
- | 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** : an application can be cut out in several reusable modules. | ||
- | * **Minimal guarantee on the data exchange** : Jelix controls the generation of exit format according to the type of request. For example, if we have a request for a XML-RPC web service, we cannot generate HTML, the answer will be obligatorily in XML-RPC. That thus offers a certain robustness of the application in client/ | ||
- | * **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** : by simple implementation of an interface: one can easily define what is done after HTTP GET/ | ||
- | * 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** : almost all non PHP files of a Jelix project "are compiled" |