Propel (PHP)
Encyclopedia
Propel is a free, open-source (MIT) object-relational mapping
toolkit written in PHP
. It is also an integral part of the PHP framework Symfony
and was the default ORM up to, and including version 1.2.
that both made projects like Propel possible and also created a demand for these hitherto-missing components of large-scale, object-oriented architectures. Propel was originally based on the Apache Torque
project, which was a Java language ORM project.
. Propel also includes a runtime component which manages connections, transactions, and any idiosyncratic rules that describe the workings of the RDBMS being used with Propel.
Object-relational mapping
Object-relational mapping in computer software is a programming technique for converting data between incompatible type systems in object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language...
toolkit written in PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
. It is also an integral part of the PHP framework Symfony
Symfony
Symfony is a web application framework written in PHP which follows the model-view-controller paradigm. Released under the MIT license, Symfony is free software...
and was the default ORM up to, and including version 1.2.
History
The Propel project was started in August 2003, with the availability of beta versions PHP version 5. With version 5, PHP was finally able to provide a level of support for object-oriented programmingObject-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
that both made projects like Propel possible and also created a demand for these hitherto-missing components of large-scale, object-oriented architectures. Propel was originally based on the Apache Torque
Apache Torque
Apache Torque is a sub project of the Apache Software Foundation Database Project. It is an object-relational mapper for Java. Torque lets you access and manipulate data in a relational database using Java objects...
project, which was a Java language ORM project.
Features
Propel's primary function is to provide a mapping between PHP classes and database tables. To accomplish this Propel includes a generator component which uses source code generation to build PHP classes based on a datamodel definition written in XMLXML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
. Propel also includes a runtime component which manages connections, transactions, and any idiosyncratic rules that describe the workings of the RDBMS being used with Propel.
See also
- List of object-relational mapping software
- Doctrine (PHP)Doctrine (PHP)See also DataEase, whose query language is also called DQL.Doctrine is an object-relational mapper for PHP that provides persistence for PHP objects. It sits on top of a database abstraction layer...
- SymfonySymfonySymfony is a web application framework written in PHP which follows the model-view-controller paradigm. Released under the MIT license, Symfony is free software...
, a web application frameworkWeb application frameworkA web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...