Trace:
Differences ¶
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
en:features [2008/09/26 22:37] – laurent | en:features [2008/12/22 17:28] – goofy | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== General informations ====== | ====== General informations ====== | ||
- | Jelix is a framework for PHP5, whose objective | + | Jelix is a framework for PHP5, whose purpose |
Here is what is proposed to developers: | Here is what is proposed to developers: | ||
Line 10: | Line 10: | ||
These characteristics allow a better re-use of the code, a capitalization of know-how, a better organization in the development, | These characteristics allow 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 | + | Jelix makes the most of PHP5.2 features, in order to be the lightest and most powerful possible. This is why a project based on Jelix is 100% object oriented. |
====== Goals ====== | ====== Goals ====== | ||
- | We develop Jelix by keeping | + | We develop Jelix by keeping |
* **Performance**: | * **Performance**: | ||
Line 27: | Line 27: | ||
===== Original functions and characteristics ===== | ===== 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 output formats 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 always in the XML-RPC format. Si it offers a 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. | + | |
- | * **jDao, object-relational mapping**, based on the DAO design pattern (Data Access Object). Declared in XML files, automatic generation of its SQL requests, handling of security problems (SQL injection etc…). jDao generates some PHP classes containing " | + | |
* **jForms, a form generator**: | * **jForms, a form generator**: | ||
- | | + | * **Light and evolutionary template engine (jTpl)**, with a syntax halfway between Smarty and PHP. A plugin system like in Smarty is also available. |
- | * **Event system** allowing module-to-module communication. | + | |
- | * **Overloading of 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 facilitate the update of a module from a third party. | + | |
- | * **Designation of files and resources by selectors**, | + | |
Line 68: | Line 68: | ||
- an HTTP request calls Jelix. Jelix creates an instance of a jRequest object which contains datas of the request. It then create an instance of your controller which corresponds to the asked action. | - an HTTP request calls Jelix. Jelix creates an instance of a jRequest object which contains datas of the request. It then create an instance of your controller which corresponds to the asked action. | ||
- A method | - A method | ||
- | - Then the method | + | - Then the method |
- The method of the controller create an instance of a jResponse object which is setup with datas or else (initialization of templates etc..). | - The method of the controller create an instance of a jResponse object which is setup with datas or else (initialization of templates etc..). | ||
- Jelix gets this jResponse object, launch the generation of the final document (html page, pdf..) and then sends it to the browser. | - Jelix gets this jResponse object, launch the generation of the final document (html page, pdf..) and then sends it to the browser. |