@JakubMisek this is the new test for you with 2 different use cases:
<?php
namespace Devsense\Builtin;
use ArrayObject;
class Test
{
public function get1(): ArrayObject
{
$store = new ArrayObject([], ArrayObject::ARRAY_AS_PROPS);
$store->attr = true;
return $store;
}
public function get2(): ArrayObject
{
$store = new ArrayObject([
'attr' => true,
], ArrayObject::ARRAY_AS_PROPS);
return $store;
}
}
$test = new Test();
$object = $test->get1();
$attr = $object->attr;
$object = $test->get2();
$attr = $object->attr;