<?php
class Foo {
var $foo = 0;
var $bar = 0;
function __construct( $foo, $bar ) {
$this->foo = $foo;
$this->bar = $bar;
}
function setFoo( $v ) {
$this->foo = $v;
}
function setBar( $v ) {
$this->bar = $v;
}
}
define (
'Objekt',
new Foo(1,1)
);
echo 'Objekt->foo : ' . Objekt->foo . PHP_EOL;
echo 'Objekt->bar : ' . Objekt->bar . PHP_EOL;
### Das geht nicht:
#Objekt->bar=2;
#Objekt->bar=2;
#echo 'Objekt->foo : ' . Objekt->foo . PHP_EOL;
#echo 'Objekt->bar : ' . Objekt->bar . PHP_EOL;
### Mit den Settern geht es aber:
Objekt->setFoo(2);
Objekt->setBar(2);
echo 'Objekt->foo : ' . Objekt->foo . PHP_EOL;
echo 'Objekt->bar : ' . Objekt->bar . PHP_EOL;
Objekt->foo : 1
Objekt->bar : 1
Objekt->foo : 2
Objekt->bar : 2
Fazit: Sogar Eigenschaften eines Objektes sind auch dann veränderlich, wenn das Objekt als Konstante abgelegt wurde. Aber nur mittels einer Objekt-Methode wie den gezeigten Settern.