PHP 4.0 Bug #8476 Updated: Class documentaion request

From: Date: Tue, 20 Mar 2001 16:20:16 +0000
Subject: PHP 4.0 Bug #8476 Updated: Class documentaion request
Groups: php.dev 
Request: Send a blank email to php-dev+get-49522@lists.php.net to get a copy of this message
ID: 8476 User Update by: bobw123@mail.com Status: Analyzed Bug Type: Documentation problem Description: Class documentaion request jmcastagnetto, Possibly you do not have your error reporting set to max Bob Previous Comments: --------------------------------------------------------------------------- [2001-03-17 00:37:23] jmcastagnetto@php.net Cannot replicate behavior in RH 6.1 and Solaris 2.6, more info needed. --------------------------------------------------------------------------- [2000-12-29 09:41:53] bobw123@mail.com Hello, Please modify the documentaion on the Class to reflect the fact that variables set in the classes must be given a value to prevent the "Undefined property:somevar" warning. var $items; // Items in our shopping cart should be : var $items = ""; // Items in our shopping cart or var $items = array(); // Items in our shopping cart etc. In fact, it appears to me that the variable declaration inside classes is just about as imporatant as variable declaration anywhere in php scripts. You either declare them or you don't, and to a large degree it doesn't really affect your scripts, other than the warnings. Furthermore , without $items given an initial value, it still has to be checked inside the function using it to prevent the warnings, for example: !empty($this->items) ? $this->items[] .= $num : $this->items[] = $num; So I don't see any "fatal error" causing reason to declare vars/attributes outside of functions/methods in Classes. The only reason I do see for setting vars outside of functions/methods in Classes is to give it an initial value: var $items = ""; And therefore one does not have to do an isset() or empty() on the var inside a method: $this->items[] .= $num; // no warning on this with: var $items = ""; So the statement made in: http://www.zend.com/zend/tut/class-intro.php "All of the variables used by a class must be declared before any of the class' functions including constructors" does not hold true for the reasons I've given above above. Thanks, Bob --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=8476

« previous php.dev (#49522) next »