- var_dump: documentation ( source)
- strtolower: documentation ( source)
<?php
trait DataCollector {
static function setData( $data ) {
DataCollector::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() {
return DataCollector::collectedData( 'get' );
}
}
trait dataHandler { use DataCollector { getCollectedData as public; collectedData as public; } }
class Form { use DataCollector {} }
class Field extends Form {
public function __construct( $type, $text = NULL ) {
DataCollector::setData( $type );
}
}
class A {
use DataCollector{}
public function __construct( $type, $text = NULL ) {
DataCollector::setData( $type );
}
}
$Field1 = new Field( '1' );
$Field2 = new Field( '2' );
$A = new A( '3' );
DataCollector::setData('4');
dataHandler::setData('5');
var_dump( dataHandler::getCollectedData() );