From:             grant dot kidd at gmail dot com
Operating system: Linux
PHP version:      5.2.5
PHP Bug Type:     Feature/Change Request
Bug description:  Support for a method method to determine the 'emptiness' of 
an object

Description:
------------
I've noticed that there is no method for determining if an object is
'false' in the same way that an empty array is equivalent to false. 
Although the countables interface would be helpful for implementing a
feature mimicing array, having a magic method '__isEmpty' would be best for
anyone who wants to control the 'emptiness' of an object.

This is a suggestion to implement a magic method to determine the
true/false value of an object (in the same way a string or int or array can
be true or false)

Reproduce code:
---------------
class Something {

  var $data;

  public function __construct($data = null) {
    if ($data) {
      $this->data = $data;
    }
  }

  public function __isEmpty() {
    return isset($this->data);
  }
}

$something = new Something();
if (!$something) {
  echo "huzzah, the magic method works!"
}


Expected result:
----------------
huzzah, the magic method works!


-- 
Edit bug report at http://bugs.php.net/?id=43909&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=43909&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=43909&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=43909&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=43909&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=43909&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=43909&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=43909&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=43909&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=43909&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=43909&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=43909&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=43909&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=43909&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=43909&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=43909&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=43909&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=43909&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=43909&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=43909&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=43909&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=43909&r=mysqlcfg

Reply via email to