<?php
/*
http://coolpenguin.net/persistclass
for updates, documentation, tutorials
*/
// connect to database (executing demo 1)
require('demo1-connection.php');
// get a connection object
$con = DbConnectionPool::instance()->getConnection();
// defining an object for a test
class TestTable extends PersistClass {
protected $sqlTableName = 'TESTTABLE';
protected $sqlPrimaryKey = 'testid';
}
// retrieving many records
$ids = $con->queryFirstColumnSet('SELECT testid from testtable');
$testObj = new TestTable();
$objs = $testObj->getItemsWithIds($ids);
// an alternative is to iterate $objs[] = new TestTable($id);
// reading these records normally takes 1000 reads from the database. There is an alternate way of initializing an object, simply passing an array of column content to its constructor.
// this makes it possible to easily optimize for high scale:
$objs = array();
$q = 'select * from TESTTABLE';
while($row = $con->next()) {
$objs[] = new TestTable($row);
}
// note: getAllItems() is optimized already, and no need to perform the optimization above.
// note: getItemsWithIds() is not optimized by default. The reason for that is getItemsWithIds() keeps the order of the ids its given - thats more usual in practical use
echo 'Test successful'
?>
|