Tôi đang cố gắng truy cập biến tĩnh trong lớp bằng cách sử dụng tên lớp biến. Tôi biết rằng để truy cập vào một chức năng trong lớp, bạn sử dụng call_user_func()
:
class foo {
function bar() { echo 'hi'; }
}
$class = 'foo';
call_user_func(array($class, 'bar')); // prints hi
Tuy nhiên, điều này không làm việc khi cố gắng truy cập vào một tĩnh biến trong lớp:
class foo {
public static $bar = 'hi';
}
$class = "foo";
call_user_func(array($class, 'bar')); // nothing
echo $foo::$bar; // invalid
Làm cách nào để nhận được biến này? Thậm chí có thể không? Tôi có một cảm giác xấu này chỉ có sẵn trong PHP 5.3 đi về phía trước và tôi đang chạy PHP 5.2.6.
@Rrinkle, xin vui lòng không có thói quen thêm chữ đậm vào văn bản - nó không giúp ích nhiều như nhiều người. Cảm ơn! – sarnold