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:about [2006/09/01 12:17] – doubleface | en:about [2006/09/06 13:13] – doubleface | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | ===== General ===== | ||
Jelix is a framework for PHP5, whose objective is to contribute to the realization of applications or Web sites of any kind. | Jelix is a framework for PHP5, whose objective is to contribute to the realization of applications or Web sites of any kind. | ||
Line 13: | Line 14: | ||
- | ====== Features: ====== | + | |
+ | |||
+ | |||
+ | ===== Features ===== | ||
==== Original functions and characteristics ==== | ==== Original functions and characteristics ==== | ||
- | * Modular architecture: | + | |
- | * Minimal guarantee on the data exchange: Jelix controls the generation of exit format 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 obligatorily in XML-RPC. That thus offers a certain 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. | + | |
- | * Light and evolutionary template engine (jTpl), with a syntax halfway between Smarty and PHP. A plugin system like in Smarty is also available. | + | |
- | * jDAO, object-relational mapping based on the DAO design pattern (Data Access Object). Declared in XML files, | + | |
- | * Designation of files and resources by selectors, and not by physical ways, then bringing a certain independence to a module from the installation. | + | |
- | * Event system, allowing module-to-module communication. | + | |
- | * Overload 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 make easy the update of a third module. | + | |
+ | |||
+ | ==== Modern functions and characteristics | ||
+ | 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. | ||
+ | * **Handling of RESTfull** : by simple implementation of an interface: one can easily define what is done after HTTP GET/ | ||
+ | * Template system: it is possible to define several templates, each one redefining the template of modules. | ||
+ | * **Automatic system for URL generation and mapping** : no complete URL in Jelix. The framework has the responsibility to generate urls in the templates or elsewhere, according to the configuration of URL mapping defined nn actions (mod_rewrite & | ||
+ | * **PHP scripts for code generation** to execute in command liner, allowing fast creation of various files of a project (module, DAO, template, actiongroup etc) | ||
+ | * **Technical cache system** : almost all non PHP files of a Jelix project "are compiled" | ||
+ | |||
+ | |||
+ | |||
+ | ==== Traditional functions and characteristics | ||
+ | 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). | ||
+ | * **Database access abstraction layer**: jDb relies on PDO or its own classes (when PDO is not available) to reach the databases. | ||
+ | * **Localization**: | ||
+ | * **System of authentication and rights management**. | ||
+ | * Use of XML: declaration of the events, DAOs etc… That makes it possible to facilitate writing, generation and modifying these parts of a project by third-party tools, and thus to increase productivity. | ||
+ | |||
+ | |||
+ | ===== Your first application ===== | ||
+ | Read the [[en: |