Ho fatto qualche modifica, ma continuo a non riuscire a stampare la $var3.
Risultato:codice:<?php trait MyTrait { // Proprietà, non ridefinibili nelle classi public $var1 = "A"; protected $var2; private $var3; // Metodi, ridefinibili nelle classi public function function1() { echo "function 1"."<br />"; } protected function function2() { echo "function 2"."<br />"; } private function function3() { echo "function 3"."<br />"; } public static function function4() { echo "function 4"."<br />"; } abstract function function5(); public function setVar3($v) { $this->var3 = $v; } } class MyClass { use MyTrait; public function function5() { echo "function 5 ", $this->var1; } public function writeVar3() { echo $this->var3; } } $myClass = new MyClass(); $myClass->function1(); // output => 'function 1' $myClass->setVar3("B"); $myClass->writeVar3(); echo $myClass->var1; // output => 'A' echo $myClass->var3; // errore ?>
function 1A
Fatal error: Cannot access private property MyClass::$var3 in /membri/gaspare/oop/trait.php on line 46

Rispondi quotando