Login   Register  
PHP Classes
elePHPant
Icontem

File: index.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Andrew Hanna  >  Object Extensions for PHP  >  index.php  >  Download  
File: index.php
Role: Example script
Content type: text/plain
Description: Sample Usage
Class: Object Extensions for PHP
Extend objects with more functions and variables
Author: By
Last change:
Date: 2006-05-06 01:13
Size: 1,948 bytes
 

Contents

Class file image Download
<?php
require 'src/object-ext.php';

class 
CTest extends CExtendable
{
    public function 
testing()
    {
        
$aArgs func_get_args();
        echo 
"CTest::testing() was called.  Arguments:<br/>";
        echo 
'<pre>' print_r($aArgsTRUE) . '</pre>';
    }
}

class 
CAnotherTest implements IExtendableChild
{
    protected 
$_oParent;
    
    public function 
extendedFunction()
    {
        
$aArgs func_get_args();
        echo 
"CAnotherTest::extendedFunction() was called.  Arguments:<br/>";
        echo 
'<pre>' print_r($aArgsTRUE) . '</pre>';
        
        
// call parent!
        
$this->_oParent->testing('Called from extended class.');
    }
    
    
// IExtendableChild
    
public function _setParent(CExtendable $oParent)
    {
        
$this->_oParent $oParent;
    }
}

function 
testing(_OP $o)
{
    
$o->_check(OP(array(
        
'test' => 'string',
        
'callback' => 'ICallback',
        
'object' => 'CTest',
    )));
    
    
// call callback
    
$o->callback('This is another argument!');
    
    
// call object method
    
$o->object->testing('Just one argument here.');
}

$test = new CTest();

testing(OP(array(
    
'test' => 'This is a test',
    
'callback' => $test->_callback()->testing('This is an argument'),
    
'object' => $test,
)));

// extend
$test->_extend(new CAnotherTest());
$test->extendedFunction('This function is extended.');

// test object
$object OP(array(
    
'int' => 1,
    
'string' => 'testing',
));

// testing
echo ($object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
echo (
$object->string .= $object->int++) . '<br/>';
?>