Bug #77291 [NEW]: __isset() magic method doesn't work if implemented via a trait.

From: Date: Thu, 13 Dec 2018 07:10:11 +0000
Subject: Bug #77291 [NEW]: __isset() magic method doesn't work if implemented via a trait.
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-218428@lists.php.net to get a copy of this message
From: tandrewbennett at hotmail dot com Operating system: Ubuntu 16.04 PHP version: 7.3.0 Package: *General Issues Bug Type: Bug Bug description:__isset() magic method doesn't work if implemented via a trait. Description: ------------ The __isset() magic method is no longer invoked on a class if implemented via a Trait. Test script: --------------- trait AccessibleProperties { public function __isset($property) { return property_exists($this, $property); } public function __get($property) { if (property_exists($this, $property)) { return $this->$property; } } } class Foo { use AccessibleProperties; protected $a = 'Some value'; } $foo = new Foo; $foo->a; // this works: returns 'Some value' isset($foo->a); // this doesn't work: returns false -- Edit bug report at https://bugs.php.net/bug.php?id=77291&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=77291&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=77291&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=77291&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=77291&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=77291&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=77291&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=77291&r=needscript Try newer version: https://bugs.php.net/fix.php?id=77291&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=77291&r=support Expected behavior: https://bugs.php.net/fix.php?id=77291&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=77291&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=77291&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=77291&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=77291&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=77291&r=dst IIS Stability: https://bugs.php.net/fix.php?id=77291&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=77291&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=77291&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=77291&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=77291&r=mysqlcfg

« previous php.bugs (#218428) next »