|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-01-26 09:05 UTC] derick@php.net
[2005-01-26 19:50 UTC] attibln at gmx dot net
[2005-01-28 23:19 UTC] tony2001@php.net
[2005-01-29 18:01 UTC] attibln at gmx dot net
[2006-04-04 09:51 UTC] tony2001@php.net
[2006-04-04 18:39 UTC] helly@php.net
[2010-12-20 11:49 UTC] jani@php.net
-Package: Tidy
+Package: Scripting Engine problem
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 17:00:02 2025 UTC |
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