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 revisionPrevious revision
Next revision
Previous revision
en:features [2008/12/22 17:24] goofyen:features [2019/09/10 08:41] (current) 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.1229966688.txt.gz · Last modified: 2008/12/22 17:24 by goofy
Recent changes RSS feed Creative Commons License