- var_dump: documentation ( source)
- strtolower: documentation ( source)
<?php
trait DataCollector {
static function setData( $data ) {
self::collectedData( 'set', $data );
}
private static function collectedData( $type, $value = NULL ) {
static $CollectionData = array();
if( strtolower( $type ) === 'set' ) {
$CollectionData[] = $value;
var_dump($CollectionData);
}
elseif( strtolower( $type ) === 'get' )
return $CollectionData;
}
private static function getCollectedData() {
self::collectedData( 'get' );
}
}
trait dataHandler { use DataCollector { getCollectedData as public; } }
class Form { use DataCollector {} }
class Field extends Form {
public function __construct( $type, $text = NULL ) {
DataCollector::setData( $type );
}
}
$Field1 = new Field( 'text' );
$Field2 = new Field( 'html' );
var_dump( 'Collected Data', dataHandler::getCollectedData() );