<?php
 
 
/* 
 
 * Copyright (C) 2014 Everton
 
 *
 
 * This program is free software: you can redistribute it and/or modify
 
 * it under the terms of the GNU General Public License as published by
 
 * the Free Software Foundation, either version 3 of the License, or
 
 * (at your option) any later version.
 
 *
 
 * This program is distributed in the hope that it will be useful,
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
 * GNU General Public License for more details.
 
 *
 
 * You should have received a copy of the GNU General Public License
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 */
 
 
 
/**
 
 * Example use of PTK\utils\Collection
 
 */
 
 
try{
 
    require 'examples.inc.php';
 
    
 
    //creating a collection
 
    $mycollection = new \Ptk\utils\Collection(array(
 
        array('name' => 'Homer', 'genre' => 'masc')
 
        ,array('name' => 'Marge', 'genre' => 'fem')
 
        ,array('name' => 'Lisa', 'genre' => 'fem')
 
        ,array('name' => 'Bart', 'genre' => 'masc')
 
        ,array('name' => 'Maggie', 'genre' => 'fem')
 
    ));
 
    
 
    echo "The current record into collection is:".PHP_EOL;
 
    var_dump($mycollection->getCurrent());
 
    
 
    echo PHP_EOL."The next name is: ".$mycollection->getNext()['name'].PHP_EOL;
 
    
 
    //advancing to the next record
 
    $mycollection->goNext();
 
    echo "The current row now is: ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //back to the previous record
 
    $mycollection->goPrevious();
 
    echo "The previous record: ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //going to end of collection
 
    $mycollection->goLast();
 
    echo "The last name is ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //going to first record
 
    $mycollection->goFirst();
 
    echo "The first name is ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //go to row #3
 
    $mycollection->go(3);
 
    echo "The #3 row is ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //moving to next 2 positions
 
    $mycollection->goFirst();
 
    $mycollection->move(2);
 
    echo "The name for 2 positions from first is ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    $mycollection->goLast();
 
     //moving back 1 positions
 
    $mycollection->move(-1);
 
    echo "The name for 1 positions from last is ".$mycollection->getCurrent()['name'].PHP_EOL;
 
    
 
    //removing elements
 
    $mycollection->remove();
 
    
 
    //adding elements
 
    $mycollection->add(array('name' => 'Milhouse', 'genre' => 'fem'));
 
    
 
    //editing element
 
    $mycollection->goLast();
 
    $mycollection->update(array('name' => 'Milhouse', 'genre' => 'masc'));
 
    
 
    //sorting data
 
    $mycollection->sort('genre', SORT_ASC, 'name', SORT_DESC);
 
    echo '<pre>';
 
    var_dump($mycollection->fetchArray());
 
    echo '</pre>';
 
    
 
    $collection = $mycollection->seek('[M*]', array('name'));
 
    echo '<pre>';
 
    var_dump($collection->fetchObject());
 
    echo '</pre>';
 
} catch (Exception $ex) {
 
    echo $ex->getMessage();
 
    exit($ex->getCode());
 
}
 
 
 
 |