Easy accessing of properties or/and key-value pairs

Code
<?php

use Symfony\Component\PropertyAccess\PropertyAccess;

class Foo extends ArrayObject
{
    public $foo = 'foo';
    
    public function getBar()
    {
        return 'bar';
    }
    
    // Same name: method over property
    public $baz = 'baz1';
    public function getBaz()
    {
        return 'baz2';
    }
    
    // access arrays
    public $qux = ['key' => 'value'];
    
    // chaining
    public function getMe()
    {
        return $this;
    }
}

$foo = new Foo();

$accessor = PropertyAccess::createPropertyAccessor();

echo $accessor->getValue($foo, 'foo') . PHP_EOL;
echo $accessor->getValue($foo, 'bar') . PHP_EOL;
echo $accessor->getValue($foo, 'baz') . PHP_EOL;
echo $accessor->getValue($foo, 'qux[key]') . PHP_EOL;
echo $accessor->getValue($foo, 'me.qux[key]') . PHP_EOL;
Result
foo
bar
baz2
value
value
Used Versions
PHP 8.3, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8