Trace:
Differences ¶
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:features [2008/12/08 21:19] – laurent | en:features [2024/04/24 14:22] (current) – [General informations] laurent | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~LANG: | ||
| + | |||
| ====== General informations ====== | ====== General informations ====== | ||
| - | Jelix is a framework for PHP5, whose objective | + | |
| + | Jelix is a framework for PHP 7.4 and 8, whose purpose | ||
| 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, | + | * API dealing with numbers of technical aspects: data access, MVC model, templates, output format generators (HTML, |
| * 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 " | * a " | ||
| Line 10: | Line 13: | ||
| 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 | + | Jelix makes the most of PHP 7.4 features, in order to be the lightest and most powerful possible. |
| ====== Goals ====== | ====== Goals ====== | ||
| - | We develop Jelix by keeping | + | We develop Jelix by keeping |
| * **Performance**: | * **Performance**: | ||
| Line 41: | Line 44: | ||
| ===== 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. | + | * **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/ | * **Handling of RESTfull** : by simple implementation of an interface: one can easily define what is done after HTTP GET/ | ||
| * **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 | + | * **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" | * **Technical cache system** : almost all non PHP files of a Jelix project "are compiled" | ||
| Line 56: | Line 59: | ||
| 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 | + | * 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**: | * **Localization**: | ||
| Line 66: | Line 69: | ||
| {{http:// | {{http:// | ||
| - | - an HTTP request calls Jelix. Jelix creates an instance of a jRequest object which contains datas of the request. It then create | + | - An HTTP request calls Jelix. Jelix creates an instance of a jRequest object which contains datas of the request. It then creates |
| - A method | - A method | ||
| - | - Then the method | + | - Then the method |
| - | - The method of the controller | + | - The method of the controller |
| - | - Jelix gets this jResponse object, | + | - Jelix gets this jResponse object, |
| ====== Your first application ====== | ====== Your first application ====== | ||
| + | |||
| Read the [[en: | Read the [[en: | ||
| + | |||

