Example In Changes in PHP 5/Zend Engine 2.0
| From: | chong wee huat | Date: | Sat, 15 Nov 2003 23:50:22 +0000 |
| Subject: | Example In Changes in PHP 5/Zend Engine 2.0 | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-169785@lists.php.net to get a copy of this message | ||
Below is the first php example found in "Changes in PHP 5/Zend Engine
2.0 "
<?php
class MyClass {
private $Hello = "Hello, World!\n";
protected $Bar = "Hello, Foo!\n";
protected $Foo = "Hello, Bar!\n";
function printHello() {
print "MyClass::printHello() " . $this->Hello;
print "MyClass::printHello() " . $this->Bar;
print "MyClass::printHello() " . $this->Foo;
}
}
class MyClass2 extends MyClass {
protected $Foo;
function printHello() {
MyClass::printHello(); /* Should print
*/
print "MyClass2::printHello() " . $this->Hello; /* Shouldn't
print out anything */
print "MyClass2::printHello() " . $this->Bar; /* Shouldn't
print (not declared)*/
print "MyClass2::printHello() " . $this->Foo; /* Should print
*/
}
}
$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
print $obj->Bar; /* Shouldn't print out anything */
print $obj->Foo; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */
?>
The result not same as stated in the remark. No print for
$obj->printHello().
It only print with the code below
$obj = new MyClass();
//print $obj->Hello; /* Shouldn't print out anything */
//print $obj->Bar; /* Shouldn't print out anything */
//print $obj->Foo; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */
Accessing protected variable cause the output fail, why?