File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
Zend /
tests /
traits /
bug55214.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue May 29 12:34:36 2012 UTC (12 years, 10 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
HEAD
php 5.4.3+patches
--TEST--
Bug #55214 (Use of __CLASS__ within trait returns trait name not class name)
--FILE--
<?php
trait ATrait {
public static $static_var = __CLASS__;
public $var = __CLASS__;
public static function get_class_name() {
return __CLASS__;
}
public function get_class_name_obj() {
return __CLASS__;
}
public static function get_class_name2() {
return self::$static_var;
}
public function get_class_name_obj2() {
return $this->var;
}
}
trait Indirect {
use ATrait;
}
class SomeClass {
use ATrait;
}
class UsingIndirect {
use Indirect;
}
$r = SomeClass::get_class_name();
var_dump($r);
$r = SomeClass::get_class_name2();
var_dump($r);
$o = new SomeClass();
$r = $o->get_class_name_obj();
var_dump($r);
$r = $o->get_class_name_obj2();
var_dump($r);
$r = UsingIndirect::get_class_name();
var_dump($r);
$r = UsingIndirect::get_class_name2();
var_dump($r);
$o = new UsingIndirect();
$r = $o->get_class_name_obj();
var_dump($r);
$r = $o->get_class_name_obj2();
var_dump($r);
?>
--EXPECT--
string(9) "SomeClass"
string(9) "SomeClass"
string(9) "SomeClass"
string(9) "SomeClass"
string(13) "UsingIndirect"
string(13) "UsingIndirect"
string(13) "UsingIndirect"
string(13) "UsingIndirect"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>