Quick links: Content - sections - sub sections
EN FR

Trace:

Wiki: Sitemap - Recent Changes - Back link

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:features [2008/12/22 18:24]
goofy
en:features [2019/09/10 10:41]
laurent
Line 1: Line 1:
 +~~LANG:​FR@fr:​presentation~~
 +
 ====== General informations ====== ====== General informations ======
-Jelix is a framework for PHP5, whose purpose is to ease the development of applications or Web sites of any kind. +Jelix is a framework for PHP 5.6 and 7.x, 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:
  
-  * API dealing with numbers of technical aspects: data access, MVC model, templates, output format generators (HTML, ​XUL,…), Web services (xml-RPC, json-RPC), forms generator, CRUD, authentication,​ rights management, localization,​ etc...+  * API dealing with numbers of technical aspects: data access, MVC model, templates, output format generators (HTML, ​JSONXML…), Web services (xml-RPC, json-RPC), forms generator, CRUD, authentication,​ rights management, localization,​ etc...
   * a modular structure and an organization of the files of the project, imposing a framework and some developing standards.   * a modular structure and an organization of the files of the project, imposing a framework and some developing standards.
   * a "​layer"​ organization of the project: presentation,​ coordination,​ service, business, persistence.   * a "​layer"​ organization of the project: presentation,​ coordination,​ service, business, persistence.
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 makes the most of PHP5.features, 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 PHP 5.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 ======
Line 41: Line 43:
 ===== Modern functions and characteristics ​ ===== ===== Modern functions and characteristics ​ =====
 Functions that we don’t find so often in frameworks: ​     ​ 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. ​ XML-RPC and JSON-RPC are handled. Other types of services Web are completely possible ​(SOAP,…).+  * **Web Services** : Jelix deals with analysis of the content of requests, and the generation of the response.  ​SOAP, XML-RPC and JSON-RPC are handled. Other types of services Web are completely possible.
   * **Handling of RESTfull** : by simple implementation of an interface: one can easily define what is done after HTTP GET/​POST/​PUT/​DELETE requests. ​   * **Handling of RESTfull** : by simple implementation of an interface: one can easily define what is done after HTTP GET/​POST/​PUT/​DELETE requests. ​
   * **Generic CRUD**: Jelix provides a generic controller to build a CRUD interface which then allows to manage records of a SQL table (Create, Read, Update, Delete and list). Only a jForms file, a jDao file and few lines of code are required.   * **Generic CRUD**: Jelix provides a generic controller to build a CRUD interface which then allows to manage records of a SQL table (Create, Read, Update, Delete and list). Only a jForms file, a jDao file and few lines of code are required.
   * **Themes system**: it is possible to define several templates, each one redefining the template of modules. ​     ​   * **Themes system**: it is possible to define several templates, each one redefining the template of modules. ​     ​
-  * **Automatic system for URL generation and mapping** : no hard-coded URL in templates or controllers. The framework has the responsibility to generate urls in the templates or elsewhere, according to the configuration of URL mapping defined on actions ​(mod_rewrite & co).     +  * **Automatic system for URL generation and mapping** : no hard-coded URL in templates or controllers. The framework has the responsibility to generate urls in the templates or elsewhere, according to the configuration of URL mapping defined on actions. ​    
   * **PHP scripts for code generation** to execute in the command line, allowing fast creation of various files of a project (module, DAO, template, controller, etc)      * **PHP scripts for code generation** to execute in the command line, allowing fast creation of various files of a project (module, DAO, template, controller, etc)   
   * **Technical cache system** : almost all non PHP files of a Jelix project "are compiled"​ in PHP in order to improve the performances (templates, DAO, events etc.).   * **Technical cache system** : almost all non PHP files of a Jelix project "are compiled"​ in PHP in order to improve the performances (templates, DAO, events etc.).
Line 56: Line 58:
 Functions which one finds in many frameworks: Functions which one finds in many frameworks:
   * **The architecture of the core is MVC type** (Model-View-Controller). A coordinator handles the execution of an action according to the parameters in the URL. The possible actions are implemented in classes of jController type (controllers).   * **The architecture of the core is MVC type** (Model-View-Controller). A coordinator handles the execution of an action according to the parameters in the URL. The possible actions are implemented in classes of jController type (controllers).
-  *  Jelix provide **several output generators** (jResponse objects): XHTML, CSS, ATOM, RSS, XML, RDF, XUL, XUL overlay, ZIP, PDF (from Latex source files or  ​with TCPDF). Others formats are also possible.+  *  Jelix provide **several output generators** (jResponse objects): XHTML, CSS, ATOM, RSS, XML, RDF, ZIP, PDF (with TCPDF). Others formats are also possible.
   * **Database access abstraction layer**: jDb relies on PDO or its own classes (when PDO is not available) to access to the databases. ​     ​   * **Database access abstraction layer**: jDb relies on PDO or its own classes (when PDO is not available) to access to the databases. ​     ​
   *  **Localization**:​ you can have your application translated in several languages. Storage of localized string is done in properties files. ​     ​   *  **Localization**:​ you can have your application translated in several languages. Storage of localized string is done in properties files. ​     ​
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: 2019/09/10 10:41 by laurent
Recent changes RSS feed Creative Commons License