#31701 [NEW]: (mis-) use of undeclared attributes

From: Date: Wed, 26 Jan 2005 02:10:38 +0000
Subject: #31701 [NEW]: (mis-) use of undeclared attributes
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-72824@lists.php.net to get a copy of this message
From: attibln at gmx dot net Operating system: linux PHP version: 5.0.3 PHP Bug Type: Class/Object related Bug description: (mis-) use of undeclared attributes Description: ------------ Defining an attribute within a method is possible even if it was not declared in the class. This is some kind of hidden/ghost attributes ... if they have not been declared - e.g. public name etc. - it will be quite hard to understand a class using those "ghost attribute". Especially when the are defined in method bar() and later on used in method foo(). My system: gentoo 2.4.26-gentoo-r9 apache 2.0.51-r1 PHP Version 5.0.3 / Zend Engine v2.0.3 (php) use flags: -adabas +apache2 -bcmath -berkdb -birdstep +bzlib -calendar -cdb -cpdflib +crypt -ctype +curl +curlwrappers -db2 -dba -dbase -dbm -dbmaker -dbx -debug -dio -empress -empress-bcs -esoob +exif -fam -fdftk -filepro -flatfile -frontbase -ftp +gd -gd-external -gdbm -gmp -hyperwave-api -iconv -imap -informix -ingres -inifile -interbase -iodbc +jpeg -kerberos -ldap -libedit -mcve +memlimit -mhash +mime -ming -mnogosearch -msession -msql -mssql +mysql -mysqli +ncurses -nis +nls -oci8 -odbc -oracle7 -ovrimos +pcntl -pcre -pfpro +png -posix +postgres -qdbm -readline -recode -sapdb -sasl +session -shared -sharedmem +simplexml -snmp +soap +sockets -solid -spell +spl -sqlite +ssl -sybase -sybase-ct -sysvipc +tidy -tiff +tokenizer -truetype -wddx +xml2 -xmlrpc -xpm +xsl +zlib Reproduce code: --------------- <?php class MyDestructableClass { function __construct() { $this->nev = "MyDestructableClass"; } function show_nev() { print( '<br />nev is ' . $this->nev ); } } $obj = new MyDestructableClass(); $obj->show_nev(); ?> Expected result: ---------------- There should be an Error messagen ( or at least a warning) saying: Use of undeclared attribute in ... on line ... Actual result: -------------- regarding my "example": nev is MyDestructableClass -- Edit bug report at http://bugs.php.net/?id=31701&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=31701&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=31701&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=31701&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=31701&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=31701&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=31701&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=31701&r=needscript Try newer version: http://bugs.php.net/fix.php?id=31701&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=31701&r=support Expected behavior: http://bugs.php.net/fix.php?id=31701&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=31701&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=31701&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=31701&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=31701&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=31701&r=dst IIS Stability: http://bugs.php.net/fix.php?id=31701&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=31701&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=31701&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=31701&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=31701&r=mysqlcfg

« previous php.bugs (#72824) next »