In PHP how can I access a “:private” array in an object?

后端 未结 3 947
你的背包
你的背包 2020-12-10 13:43

Up until around 3.3beta1 items in the WP_Admin_Bar Object could be accessed using this type of syntax, for example to change the CSS class of one of the existin

3条回答
  •  醉梦人生
    2020-12-10 14:18

    If you dont want to touch the core files, then you have to use Reflection:

    $adminBar = new WP_Admin_Bar();
    $reflector = new ReflectionObject($adminBar);
    $nodes = $reflector->getProperty('nodes');
    $nodes->setAccessible(true);
    print_r($nodes->getValue($adminBar));
    

    The hackish alternative would be casting the object to array and then doing:

    $adminbar = (array) new WP_Admin_Bar;
    $nodes = $adminbar[chr(0) . 'WP_Admin_Bar' . chr(0) . 'nodes'];
    print_r($nodes);
    

提交回复
热议问题