Wednesday, June 05, 2013

Accessing simple private fields in PHP

A way of accessing private fields in PHP is by changing the accessibility of the fields themselves with http://php.net/manual/en/reflectionproperty.setaccessible.php.
However this approach requires PHP 5.3.

For PHP < 5.3 there's another subtle way of accessing private properties:

function getPrivateProperty($fixture, $propname) {
    try {
        $arr = (array)$fixture;
    } catch (Exception $e) {
    }
    $class = get_class($fixture);
    $privname = "\0$class\0$propname";
    return $arr[$privname];
}

Usage is pretty straightforward, pass in the object and the property name as string. The property must be private and must be convertible to array.

5 comments:

  1. This is a good article. Thanks for sharing
    SRI ANNAPOORNESHAWARI ASTROLOGY CENTER.Best Astrologer In Missouri

    ReplyDelete
  2. Great post, thanks
    SRIKRISHANA ASTROLOGY.Vashikaran Astrologer in Raichur

    ReplyDelete
  3. Very good article,Thank you

    ABHIRAM ASTROLOGY CENTER.Best indian Astrologer In lake-louise

    ReplyDelete
  4. Nice post.Keep sharing. Thanks for sharing.

    DURGAANUGARHA ASTROLOGY.vashikaran Astrologer In davangere

    ReplyDelete
  5. it was great information and very useful

    ABHIRAM ASTROLOGY CENTER.Best Astrologer In grande-prairie

    ReplyDelete