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
Merge branch 'xdebug_3_5'
Merged pull request #1111
Disable 'declaration after statement' warning in zend_smart_string.h,…
Specify bicycle parkings covers
Specify street/place names to addresses
Survey housenumbers
Specify whether crosswalks have tactile paving
Specify whether roads have sidewalks
Determine whether ATM allows depositing cash
Survey if places still exist
Survey if places still exist
Specify access to places
Specify whether steps have handrails
Specify width of opening
Specify parking types
Specify whether public transport stops have tactile paving
Survey opening hours
Specify step counts
Survey tactile paving on steps
Specify whether steps have a ramp
Specify which way leads up for steps
Specify path surfaces
Specify whether there are cycleways
Created an entrance
Created a bicycle_parking

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