反射类PHP从文件



我想从PHP类中获取值,而不初始化这个类。对于这个,我给出了这个类的文件路径,以便它被检查,但不初始化。

我的想法:

<?php
$reflection = new ReflectionClass( '/var/www/classes/Base.php' );
$version = $reflection->getProperty('version')->getValue(  );
if( $version >= 1 )
{
    return true;
}
return false;
?>

BASE.PHP

<?php
class Base
{
    private $version = 2;
}
?>

静态呢?就简单多了:

<?php
class Base
{
    public static $version = 2; // or $version = array(1,2,3);
}
if(is_array(Base::$version)) {
    print_r(Base::$version);
} else {
    echo Base::$version;
}
?>

一个带getter的受保护变量如何?

class Base {
    protected $version = array(2,3,4,5,6);
    public function __version() { return $this->version; }
}

你可以在任何你喜欢的地方实例化它,或者扩展它来添加函数。版本在任何扩展中都是恒定的,所以请记住这一点。

用法和$yourClass->__version()一样简单。将其命名为类似于魔法方法的名称,以防止函数名称冲突。如果需要,可以通过扩展重新定义。

相关内容

  • 没有找到相关文章

最新更新