Quick links: Content - sections - sub sections
EN FR

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:features [2008/09/26 22:37] laurenten:features [2008/12/28 19:53] laurent
Line 1: Line 1:
 +~~LANG:FR@fr:presentation~~
 +
 ====== General informations ====== ====== General informations ======
-Jelix is a framework for PHP5, whose objective is to ease the development of applications or Web sites of any kind. +Jelix is a framework for PHP5, whose purpose is to ease the development of applications or Web sites of any kind. 
  
 Here is what is proposed to developers: Here is what is proposed to developers:
Line 10: Line 12:
 These characteristics allow a better re-use of the code, a capitalization of know-how, a better organization in the development, leading to a better productivity.  These characteristics allow a better re-use of the code, a capitalization of know-how, a better organization in the development, leading to a better productivity. 
  
-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 oriented.+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 this words in mind:+We develop Jelix by keeping these words in mind:
  
    * **Performance**: making a very fast framework (optimized code, cache system etc..)    * **Performance**: making a very fast framework (optimized code, cache system etc..)
Line 27: Line 29:
  
 ===== Original functions and characteristics =====  ===== Original functions and characteristics ===== 
-     + 
-  * **Modular architecture** : an application can be cut out in several reusable modules.       +   * **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/server communication. (Unless the developer does not use objects from Jelix, because indeed nothing prevents from making an echo of anything anywhere).      +   * **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/server communication. (Unless the developer does not use objects from Jelix, because indeed nothing prevents from making an echo of anything anywhere).      
-  * **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. +   * **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 "static" SQL queries, allowing the best performance.+   * **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 "static" SQL queries, allowing the best performance.
    * **jForms, a form generator**: from a simple XML file, jForms generates HTML form (or any in other format), with javascript validation, server side validation, automatic loading / saving of datas etc.    * **jForms, a form generator**: from a simple XML file, jForms generates HTML form (or any in other format), with javascript validation, server side validation, automatic loading / saving of datas etc.
-  * **Light and evolutionary template engine (jTpl)**, with a syntax halfway between Smarty and PHP. A plugin system like in Smarty is also available.      +   * **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.     +   * **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. +   * **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**, and not by physical ways, then bringing a certain independence to a module towards the installation.+   * **Designation of files and resources by selectors**, and not by physical ways, then bringing a certain independence to a module towards the installation.
  
  
Line 66: Line 68:
 {{http://jelix.org/images/schema_logic.png}} {{http://jelix.org/images/schema_logic.png}}
  
-  - 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 creates an instance of your controller which corresponds to the asked action.
   - A method  in the controller is executed. It retrieves request parameters in order to know which process to run.   - A method  in the controller is executed. It retrieves request parameters in order to know which process to run.
-  - Then the method execute business processes and retrieves eventually some results which will be used for the response +  - Then the method executes business processes and retrieves eventually some results which will be used for the response 
-  - 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 creates an instance of a jResponse object which is setup with data or anything 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, launches the generation of the final document (html page, pdf..) and then sends it to the browser.
  
  
 ====== Your first application ====== ====== Your first application ======
 Read the [[en:tutorials:minitutorial|mini tutorial]] Read the [[en:tutorials:minitutorial|mini tutorial]]

en/features.txt · Last modified: 2024/04/24 14:22 by laurent

Recent changes RSS feed Creative Commons License