php怎么在class内部使用 在 类外部定义的变量?
页面a.php定义了一堆常量及变量,其中有个变量$a=array(1,2,3,4,5);页面b.php定义了一个类:classb{var$c;public__constr...
页面 a.php 定义了一堆常量及变量,其中有个变量 $a = array(1,2,3,4,5);
页面 b.php 定义了一个类:
class b {
var $c;
public __construct () {
$this->c = $a // 在这里使用变量a
}
}
现在知道的的方式是使用$GLOBALS['a'],但是这样开启register_globals 太不安全,如果关闭的话 $GLOBALS就不能使用了
想问下,【不能使用参数形式】怎么才能直接使用 外部变量 $a. 展开
页面 b.php 定义了一个类:
class b {
var $c;
public __construct () {
$this->c = $a // 在这里使用变量a
}
}
现在知道的的方式是使用$GLOBALS['a'],但是这样开启register_globals 太不安全,如果关闭的话 $GLOBALS就不能使用了
想问下,【不能使用参数形式】怎么才能直接使用 外部变量 $a. 展开
3个回答
展开全部
入口文件引入
include 'app/configs/config.inc.php';
include CORE_DIR . 'LoadConfig.class.php';
LoadConfig::setConfig($config);
unset($config);
而'app/configs/config.inc.php';里面是放数组的 也就是变量具体
<?php
$config = array(
'host_name'=>'127.0.0.1' ,
'user_name'=>'root' ,
'password'=>''
)
?>
而'LoadConfig.class.php'具体原理是这样的
class LoadConfig {
private static $_config;
//set方法是给属性赋值
static function setConfig($config) {
self::$_config = $config;
}
//get方法是获取属性值
static function getConfig() {
return self::$_config;
}
}
然后想用config.inc.php里的数组或者变量的话 那就引入而'LoadConfig.class.php'这个文件 执行 getConfig() 方法
虽然很麻烦但是这样不破环封装性 而且好管理 不知道能否帮上你的问题
include 'app/configs/config.inc.php';
include CORE_DIR . 'LoadConfig.class.php';
LoadConfig::setConfig($config);
unset($config);
而'app/configs/config.inc.php';里面是放数组的 也就是变量具体
<?php
$config = array(
'host_name'=>'127.0.0.1' ,
'user_name'=>'root' ,
'password'=>''
)
?>
而'LoadConfig.class.php'具体原理是这样的
class LoadConfig {
private static $_config;
//set方法是给属性赋值
static function setConfig($config) {
self::$_config = $config;
}
//get方法是获取属性值
static function getConfig() {
return self::$_config;
}
}
然后想用config.inc.php里的数组或者变量的话 那就引入而'LoadConfig.class.php'这个文件 执行 getConfig() 方法
虽然很麻烦但是这样不破环封装性 而且好管理 不知道能否帮上你的问题
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能具体些? 可以把类外部的变量赋值给php的class内的一个属性啊,或者当做参数传进来啊~
更多追问追答
追问
页面 a.php 定义了一堆常量及变量,其中有个变量 $a = array(1,2,3,4,5);
页面 b.php 定义了一个类:
class b {
var $c;
public __construct () {
$this->c = $a // 在这里使用变量a
}
}
现在知道的的方式是使用$GLOBALS['a'],但是这样开启register_globals 太不安全,如果关闭的话 $GLOBALS就不能使用了
想问下,【不能使用参数形式】怎么才能直接使用 外部变量 $a.
追答
class b {
var $c;
public __construct ($a) {
$this->c = $a // 在这里使用变量a
}
}
$b = new b($a);
这样就可以了~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询