Assign Public static $variable from another function (Different modal file)
本问题已经有最佳答案,请猛点这里访问。
我的类文件中有如下的变量。
1 2 3 4 5 |
我正在尝试转换它,以便从数据库中获得列表,而不是像下面这样硬编码:
1 | public static $Whitelist = IPWhitelist::getIPWhitelist(); |
但是,它返回一个错误,说明语法错误。我该怎么修?为什么我可以给它分配一个数组,而不是一个同时返回数组的函数?谢谢。
编辑:它实际上包含3个文件。我再解释一下。
文件1:(配置模式文件)
1 2 3 | class Config{ public static $Whitelist = IPWhitelist::getIPWhitelist(); } |
文件2:(数据库模式文件)
1 2 3 4 5 6 7 | class IPWhitelist{ public function getIPWhitelist($type = 1){ //some database code here return $array_total_ips; } } |
文件3:(主文件)
1 | $ip_list = Config::$Whitelist; |
静态属性遵循与
相反,您可以在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function getIPWhitelist() { static $list = null; if(!$list) { // fetch from the database here (only executed once) $list = [ '10.10.10.1', '10.10.10.2', '10.10.10.5', ]; } return $list; } |