3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait DataCollector { private static $CollectionData = array(); static function setData( $data ) { self::$CollectionData[] = $data; } } trait getData { abstract public function getCollectedData(); } class dataHandler { use DataCollector, getData; static function getCollectedData() { return DataCollector::$CollectionData; } } class Form {} class Field extends Form { use DataCollector; public function __construct( $type, $text = NULL ) { self::setData( $type ); } } $Field1 = new Field( 'text' ); $Field2 = new Field( 'html', 'hello' ); var_dump( dataHandler::getCollectedData() );

preferences:
67.67 ms | 402 KiB | 5 Q