问题一:Class 接收外部值?
class connection {
var $host = 'XXXX';
var $username = 'aaab';
var $password = 'aaa';
$do = new mysqli($host, $username, $password, $config['db']);
}
我在上方有根据 host
去改变 $config['db']
的值
所以当在测试网域时读取A数据库,正式网域时读取B数据库
但我发现没办法丢这个进去,会显示错误
像一般的 function 可以用 global
接收外部的值
只要在里面加上 global $config;
就可以了
但在 class
裡面该如何达到呢?
问题二:在 class
中的 function
一定要透过 global
才能接收到外部值吗? (虽然一般 function 也要透过global
,但我想说加上物件导向的原理,能否不需要?)
class get {
public function get_information() {
global $request;
$render = mysqli_fetch_array($do->query(
"SELECT * FROM `user`
WHERE `session` = '{$request['session']}' "
));
return $render;
}
}
($do 先不管他,因为问题一仍在解决中,如果可以解决就可以用继承)
当使用 get
class
的 get_information()
时
在里面宣告 global $request;
为了接收外部值 $request
有什么方式可以不需要使用 global
?能否透过继承?或其他方式。
谢谢大神解惑!
PHP Class 通过构造方法 __construct 传参。
举个例子: