php – 在Class之外声明一个新的静态变量
发布时间:2020-12-13 17:07:37 所属栏目:PHP教程 来源:网络整理
导读:有没有办法在该类之外声明新的静态变量,即使它没有在类中设置? // Using this class as a static object.Class someclass { // There is no definition for static variables.}// This can be initializedClass classA { public function __construct() { /
有没有办法在该类之外声明新的静态变量,即使它没有在类中设置?
// Using this class as a static object. Class someclass { // There is no definition for static variables. } // This can be initialized Class classA { public function __construct() { // Some codes goes here } } /* Declaration */ // Notice that there is no static declaration for $classA in someclass $class = 'classA' someclass::$$class = new $class(); 怎么做到呢? 谢谢你的建议. 解决方法
这是不可能的,因为静态变量,是……是STATIC,因此不能动态声明.
编辑: class Registry { /** * * Array of instances * @var array */ private static $instances = array(); /** * * Returns an instance of a given class. * @param string $class_name */ public static function getInstance($class_name) { if(!isset(self::$instances[$class_name])) { self::$instances[$class_name] = new $class_name; } return self::$instances[$class_name]; } } Registry::getInstance('YourClass'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |