[php-src] Issue #9998: override class attribute/property
| From: | SVGAnimate | Date: | Fri, 25 Nov 2022 03:28:36 +0000 |
| Subject: | [php-src] Issue #9998: override class attribute/property | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-242900@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/9998
Author: SVGAnimate
### Description
The following code:
```php
<?php
class StdStruct {
private $val = "val1";
public function foo() { echo $this->val, PHP_EOL;}
}
class MyStruct extends StdStruct {
public $val = "val2";
public function faa() { echo $this->val, PHP_EOL;}
}
$my = new MyStruct();
$my->val = "val3";
$my->foo();
$my->faa();
```
Resulted in this output:
```
val1
val3
```
Change private to protected :
```php
<?php
class StdStruct {
protected $val = "val1";
public function foo() { echo $this->val, PHP_EOL;}
}
class MyStruct extends StdStruct {
public $val = "val2";
public function faa() { echo $this->val, PHP_EOL;}
}
$my = new MyStruct();
$my->val = "val3";
$my->foo();
$my->faa();
```
Resulted in this output:
```
val3
val3
```
But I expected this output instead:
```
val1
val3
```
Do you agree with the expected result ?
### PHP Version
PHP 8.0.12
### Operating System
_No response_