Private Properties Exposed
For our Components project we are ofcourse writing unit tests (with PHPUnit ). Sometimes you would want to test whether a private property contains the correct data, and of course with the normal visibility rules you can't access those from your unit test. There is an interesting trick for this, which I'll share here:
<?php
class foo {
private $bar = 42;
}
$obj = new foo;
$propname="\0foo\0bar";
$a = (array) $obj;
echo $a[$propname];
?>
Comments
$f->{"0Foo0id"} (for private members) and $f->{"0*0name"} (for protected ones) used to work. Too bad someone added a "Cannot access property started with '0'" fatal error to the Zend Engine in the meantime, making necessary the array-cast hack presented here...
I'd rather have ReflectionProperty->setAccessible(TRUE) like (insert other programming language here):)
Life Line
I've just finished reading Tim Peake's autobiography "Limitless".
No longer construction
I walked 2.2km in 25m25s
Confirmed a chocolate shop
Updated a company office and a cafe
I walked 6.6km in 1h11m59s
I walked 8.4km in 1h38m25s
Only test with 8.2 and later on master with Xdebug CI
Merge branch 'xdebug_3_5'
Remove expliciy path from Xdebug CI
I walked 9.6km in 1h38m09s
If you're wondering why the @Xdebug issue tracker is unavailable, I can conclusively say that it's another bout of LLM scrapers.
I walked 9.9km in 1h41m14s
I walked 1.3km in 14m45s
Created 18 benches and a grave; Updated 3 benches, a tree, and a waste_basket
I walked 6.1km in 3h9m07s
Updated a vacant business
Updated a bar
I walked 1.6km in 18m00s
Updated a pub
I walked 3.4km in 54m56s
I walked 1.9km in 23m48s
Updated a pub
I walked 3.4km in 22m41s
Updated a restaurant


Shortlink
This article has a short URL available: https://drck.me/ppe-46g