<?php
trait DataCollector {
private $collectionData = array();
final private function setData( $data ) {
$this->CollectionData[] = $data;
return $this;
}
public function getCollectedData() {
return $this->CollectionData;
}
}
class Form {}
class Field extends Form {
use DataCollector;
public function __construct( $type, $text = NULL ) {
$this->setData( $type )->setData( $text );
}
}
$Field1 = new Field( 'text' );
$Field1->getCollectedData();
$Field2 = new Field( 'html', 'hello' );
$Field2->getCollectedData();
Warning: Private methods cannot be final as they are never overridden by other classes in /in/JZ2LO on line 5
Deprecated: Creation of dynamic property Field::$CollectionData is deprecated in /in/JZ2LO on line 6
Deprecated: Creation of dynamic property Field::$CollectionData is deprecated in /in/JZ2LO on line 6
Output for 8.3.2
Warning: Private methods cannot be final as they are never overridden by other classes in /in/JZ2LO on line 5
Warning: Private methods cannot be final as they are never overridden by other classes in /in/JZ2LO on line 17
Deprecated: Creation of dynamic property Field::$CollectionData is deprecated in /in/JZ2LO on line 6
Deprecated: Creation of dynamic property Field::$CollectionData is deprecated in /in/JZ2LO on line 6
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
Warning: Private methods cannot be final as they are never overridden by other classes in /in/JZ2LO on line 5