Propel
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
Korrektheit: 2 (teilweise überprüft) |
Umfang: 2 (wichtige Fakten fehlen) |
Quellenangaben: 3 (wichtige Quellen vorhanden) |
Quellenarten: 1 (ausreichend) |
Konformität: 3 (gut) |
Propel ist eine ORM-Bibliothek für PHP 5.5+, die es erlaubt, PHP-Objekte in einer relationalen Datenbank zu speichern und zu bearbeiten.
Funktionsweise
Propel erstellt die Modelle anhand von XML-Beschreibungsdateien, die mittels des Generators erstellt werden können. Durch die Runtine Engine werden die Objekte der eigenen PHP Anwendung zur Verfügung gestellt.
Beispiel[1][2]
Definition des Datenmodells
<database name="default">
<table name="book">
<column name="id" type="integer" required="true" primaryKey="true"
autoIncrement="true"/>
<column name="title" type="varchar" size="255" required="true" />
<column name="isbn" type="varchar" size="24" required="true" phpName="ISBN"/>
<column name="author_id" type="integer" required="true"/>
<foreign-key foreignTable="author">
<reference local="author_id" foreign="id"/>
</foreign-key>
</table>
<table name="author">
<column name="id" type="integer" required="true" primaryKey="true"
autoIncrement="true"/>
<column name="first_name" type="varchar" size="128" required="true"/>
<column name="last_name" type="varchar" size="128" required="true"/>
</table>
</database>
Zugriff auf die Datenbank via Propel
<?php
use Propel\Test\Bookstore\Author;
use Propel\Test\Bookstore\Book;
use Propel\Test\Bookstore\BookQuery;
$book = new Book();
$book->setTitle('My Heros');
$book->setIsbn('123154');
$author = new Author();
$author->setFirstName('Hans');
$author->setLastName('Zimmer');
$book->setAuthor($author);
$book->save();
$books = BookQuery::create()
-> filterByTitle('My Heros')
-> find();