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
Updated a cafe
Specify street/place names to addresses
Specify bicycle parking capacities
Specify bicycle parking fees
Specify bicycle parking access
Specify whether crosswalks have tactile paving
Specify width of opening
Specify whether pitches are lit
Specify pitch surfaces
Specify whether pedestrian crossings have markings
Specify step counts
Survey tactile paving on steps
Specify whether steps have a ramp
Specify which way leads up for steps
Specify whether pedestrian crossings have islands
Specify whether pedestrian crossings have traffic signals
Determine roads lane count
Specify whether roads have lane markings
Survey if places still exist
Specify whether roads have sidewalks
Survey postbox collection times
Survey opening hours
Determine whether ATM allows depositing cash
Specify bicycle parkings covers


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