Req #43909 [Opn->Sus]: Support for a method method to determine the 'emptiness' of an object

From: Date: Mon, 15 Feb 2021 13:16:17 +0000
Subject: Req #43909 [Opn->Sus]: Support for a method method to determine the 'emptiness' of an object
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232166@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=43909&edit=1 ID: 43909 Updated by: cmb@php.net Reported by: grant dot kidd at gmail dot com Summary: Support for a method method to determine the 'emptiness' of an object -Status: Open +Status: Suspended Type: Feature/Change Request -Package: Feature/Change Request +Package: *General Issues Operating System: Linux PHP Version: 5.2.5 Block user comment: N Private report: N New Comment: If anybody is still interested in this feature, please pursue the RFC process[1]. For the time being, I'm suspending this ticket. [1] <https://wiki.php.net/rfc/howto> Previous Comments: ------------------------------------------------------------------------ [2017-07-24 13:57:43] jean dot claveau at c277 dot fr An __isEmpty() magic method would also avoid loosing a lot of time with Iterables : As they are used to replace arrays, it looks normal to use them like "if (!empty($myIterable)) ... " which will return false negatives really hard to debug. ------------------------------------------------------------------------ [2015-05-07 17:01:13] cmb@php.net Related To: Bug #69594 ------------------------------------------------------------------------ [2014-01-07 15:25:47] robert dot johnson at icap dot com I want this too. Often I don't want to throw from the constructor, and there are many dynamic uses of such a method, like the C++ operator!(). It also makes code look better and allows generic code to work across the board, whatever the type of variable. ------------------------------------------------------------------------ [2008-01-22 17:16:41] grant dot kidd at gmail dot com 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 this bug report at https://bugs.php.net/bug.php?id=43909&edit=1

« previous php.bugs (#232166) next »