Propel (PHP)
   HOME

TheInfoList



OR:

Propel is a free, open-source (
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the m ...
)
object–relational mapping Object–relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between type systems using object-oriented programming languages. This creates, in effect, a "virtual object databa ...
toolkit written in
PHP PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by The PHP Group ...
. It is also an integral part of the PHP framework Symfony 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 programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
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 The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño an ...
project, which was a
Java language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run any ...
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 In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level. There has been little ...
to build PHP classes based on a datamodel definition written in
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
. Propel also includes a ''runtime'' component which manages connections, transactions, and any idiosyncratic rules that describe the workings of the
RDBMS A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relation ...
being used with Propel.


See also

{{Portal, Free and open-source software *
List of object–relational mapping software This is a list of well-known object–relational mapping software. It is not up-to-date or all-inclusive. Java * Apache Cayenne, open-source for Java *Apache OpenJPA, open-source for Java *DataNucleus, open-source JDO and JPA implementation (forme ...
*
Doctrine (PHP) The Doctrine Project (or Doctrine) is a set of PHP libraries primarily focused on providing persistence services and related functionality. Its most commonly known projects are the object–relational mapper (ORM) and the database abstraction ...
* Symfony, a
web application framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
* Skipper, a visualization tool for Propel


References


External links


Propel Home Page
Free software programmed in PHP PHP libraries Object-relational mapping