php-src/tests/lang/030.phpt
2016-04-16 20:57:28 +02:00

38 lines
646 B
PHP

--TEST--
$this in constructor test
--FILE--
<?php
class foo {
function __construct($name) {
$GLOBALS['List']= &$this;
$this->Name = $name;
$GLOBALS['List']->echoName();
}
function echoName() {
$GLOBALS['names'][]=$this->Name;
}
}
function &foo2(&$foo) {
return $foo;
}
$bar1 =new foo('constructor');
$bar1->Name = 'outside';
$bar1->echoName();
$List->echoName();
$foo = new foo('constructor');
$bar1 =& foo2($foo);
$bar1->Name = 'outside';
$bar1->echoName();
$List->echoName();
print ($names==array('constructor','outside','outside','constructor','outside','outside')) ? 'success':'failure';
?>
--EXPECT--
success