c2ec1c97c9
A poor man's formatter since I didn't like any of the other ones I found. The original C++ source sometimes put newlines and sometimes not.
Codemods:
codemod '([;{}])([^\n])' '\1\n\2'
codemod -m '\s*<\?php\s+' '<?php\n\n'
codemod '\t' ' '
I hand-fixed all the failing tests
53 linhas
904 B
PHP
53 linhas
904 B
PHP
<?php
|
|
|
|
class C1 {
|
|
public function __get( $what ) {
|
|
echo "get C1
|
|
";
|
|
return $this->_p[ $what ];
|
|
}
|
|
public function __set( $what, $value ) {
|
|
echo "set C1
|
|
";
|
|
$this->_p[ $what ] = $value;
|
|
}
|
|
private $_p = array();
|
|
}
|
|
class C2 {
|
|
public function __get( $what ) {
|
|
echo "get C2
|
|
";
|
|
return $this->_p[ $what ];
|
|
}
|
|
public function __set( $what, $value ) {
|
|
echo "set C2
|
|
";
|
|
$this->_p[ $what ] = $value;
|
|
}
|
|
private $_p = array();
|
|
}
|
|
class C3 {
|
|
public function __get( $what ) {
|
|
echo "get C3
|
|
";
|
|
return $this->_p[ $what ];
|
|
}
|
|
public function __set( $what, $value ) {
|
|
echo "set C3
|
|
";
|
|
$this->_p[ $what ] = $value;
|
|
}
|
|
private $_p = array();
|
|
}
|
|
function assign_ref(&$v) {
|
|
$v = 22;
|
|
}
|
|
$c3 = new C3();
|
|
$c3->p3 = new C2();
|
|
$c3->p3->p2 = new C1();
|
|
$c3->p3->p2->a = 1;
|
|
$c3->p3->p2->a .= 1;
|
|
print $c3->p3->p2->a;
|
|
assign_ref($c3->p3->p2->a);
|
|
print $c3->p3->p2->a;
|