From 682b3832bbad278e27a8fad8bf29f8e12c513278 Mon Sep 17 00:00:00 2001 From: Daniel Convissor Date: Sat, 19 Jul 2008 22:59:44 +0000 Subject: [PATCH] * Tweak method example for clarity. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@262990 c90b9560-bf6c-de11-be94-00142212c4b1 --- language/oop5/overloading.xml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/language/oop5/overloading.xml b/language/oop5/overloading.xml index 1a45787dd6..2b559bea51 100644 --- a/language/oop5/overloading.xml +++ b/language/oop5/overloading.xml @@ -1,5 +1,5 @@ - + Overloading @@ -144,7 +144,7 @@ class MemberTest { /** Overloading not used on declared members. */ public $declared = 1; - /** Overloading not triggered when accessed inside the class. */ + /** Overloading only used on this when accessed outside the class. */ private $hidden = 2; public function __set($name, $value) { @@ -160,7 +160,7 @@ class MemberTest { $trace = debug_backtrace(); trigger_error( - 'Undefined property: ' . $name . + 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE); @@ -181,7 +181,6 @@ class MemberTest { /** Not a magic method, just here for example. */ public function getHidden() { - echo "'hidden' visible here so __get() not used\n"; return $this->hidden; } } @@ -192,14 +191,19 @@ echo "
\n";
 $obj = new MemberTest;
 
 $obj->a = 1;
-echo $obj->a . "\n";
+echo $obj->a . "\n\n";
 
 var_dump(isset($obj->a));
 unset($obj->a);
 var_dump(isset($obj->a));
+echo "\n";
 
-echo $obj->declared . "\n";
+echo $obj->declared . "\n\n";
+
+echo "Let's experiment with the private property named 'hidden':\n";
+echo "Privates are visible inside the class, so __get() not used...\n";
 echo $obj->getHidden() . "\n";
+echo "Privates not visible outside of class, so __get() is used...\n";
 echo $obj->hidden . "\n";
 ?>
 ]]>
@@ -210,18 +214,23 @@ echo $obj->hidden . "\n";
 Setting 'a' to '1'
 Getting 'a'
 1
+
 Is 'a' set?
 bool(true)
 Unsetting 'a'
 Is 'a' set?
 bool(false)
+
 1
-'hidden' visible here so __get() not used
+
+Let's experiment with the private property named 'hidden':
+Privates are visible inside the class, so __get() not used...
 2
+Privates not visible outside of class, so __get() is used...
 Getting 'hidden'
 
 
-Notice:  Undefined property: hidden in  on line 64 in  on line 28
+Notice:  Undefined property via __get(): hidden in  on line 70 in  on line 29
 ]]>