Re: Understanding Static Methods
| From: | Sebastian Mendel | Date: | Fri, 19 Nov 2004 11:01:16 +0000 |
| Subject: | Re: Understanding Static Methods | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-202500@lists.php.net to get a copy of this message | ||
Jordi Canals wrote:
I'm trying to understand static methods in a test class. Reading the manual, it says: "A member or method declared with static can not be accessed with a variable that is an instance of the object and cannot be re-defined in an extending class." Test code: ======== <?php class B { private $str; public final function __construct() { $this->str = 'Hello world'; } public function showB() { echo $this->str, '<br>'; echo 'Showing B<br>'; $this->TestStatic(); } public static function TestStatic() { echo '<br>Inside Static<br>'; } } echo error_reporting() . '<br>'; $test = new B; $test->TestStatic(); $test->showB(); echo "-- END --"; ?> Output: ===== 4095with zend engine 1.3 compatiblity on ? -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheetInside Static --> Called by $test->TestStatic()Hello world Showing BInside Static --> Called from $test->showB with $this->TestStatic()-- END -- Comments: ======== I'm running PHP 5.0.2 and error_reporting = E_ALL | E_STRICT. As reported in the output, the values for error_reporting are well set (4095 == E_ALL | E_STRICT)