note 40998 added to language.oop

From: Date: Thu, 25 Mar 2004 23:50:33 +0000
Subject: note 40998 added to language.oop
Groups: php.notes 
Request: Send a blank email to php-notes+get-67182@lists.php.net to get a copy of this message
PHP 5 has introduced access control for object properties and methods. Here is a demonstration of how the access levels work. class a { public function pub($from) { echo "pub from $from\n"; } protected function pro($from) { echo "pro from $from\n"; } private function pvt($from) { echo "pvt from $from\n"; } public function testa($from) { echo "vvvv\n"; echo "testa from $from...\n"; $this->pub("testa via $from"); $this->pro("testa via $from"); $this->pvt("testa via $from"); echo "^^^^\n"; } } class b extends a { public function testb($from) { echo "v-v-v-v\n"; echo "testb from $from...\n"; $this->pub("testb via $from"); $this->pro("testb via $from"); // $this->pvt("testb via $from"); // Fatal error... $this->testa("testb via $from"); echo "^-^-^-^\n"; } } $a = new a; $a->pub('direct'); // $a->pro('direct'); // Fatal error... // $a->pvt('direct'); // Fatal error... $a->testa('direct'); $b = new b; $b->testb('direct'); /* * OUTPUT * * pub from direct * vvvv * testa from direct... * pub from testa via direct * pro from testa via direct * pvt from testa via direct * ^^^^ * v-v-v-v * testb from direct... * pub from testb via direct * pro from testb via direct * vvvv * testa from testb via direct... * pub from testa via testb via direct * pro from testa via testb via direct * pvt from testa via testb via direct * ^^^^ * ^-^-^-^ */ ---- Manual Page -- http://www.php.net/manual/en/language.oop.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+40998 Delete -- http://master.php.net/manage/user-notes.php?action=delete+40998&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+40998&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#67182) next »