php 无法调用2层require_once文件中的变量
a.php有一个$db_server变量b.php使用require_once('a.php')可以调用$db_server,c.php使用require_once('b...
a.php有一个$db_server变量
b.php使用require_once('a.php')可以调用$db_server,
c.php使用require_once('b.php')无法使用$db_server变量了,请问下这个是什么原因?我现在要用$db_server该怎么办?
b.php是个类,构造函数中使用了require_once('a.php') 展开
b.php使用require_once('a.php')可以调用$db_server,
c.php使用require_once('b.php')无法使用$db_server变量了,请问下这个是什么原因?我现在要用$db_server该怎么办?
b.php是个类,构造函数中使用了require_once('a.php') 展开
展开全部
c.php调用b.php后
在c.php里调用b.php的类要用
$c=new className(); //className是你b.php里的类名
然后调用类中的变量(具体还要看你这个类里$db_server 的属性是public 还是private...)
一般的用
$d=$c->db_server ;
来调用$db_server;
在c.php里调用b.php的类要用
$c=new className(); //className是你b.php里的类名
然后调用类中的变量(具体还要看你这个类里$db_server 的属性是public 还是private...)
一般的用
$d=$c->db_server ;
来调用$db_server;
追问
a.php内容 $db_server="localhost";
b.php内容
class MysqlConn {
public function __construct() {
require_once("a.php");
echo $db_server; //可以输出
}
c.php内容: 实例化类 echo $db_server; //输出空
追答
直接在c.php里写
require_once('b.php');
$d=new MysqlConn();
因为是构造函数会直接输出内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多追问追答
追问
c.php中构造函数的$db_server可以输出,
但是下面的一句echo $db_server输出为空
追答
a.php 文件
$db_server="localhost";
b.php 文件
require_once("a.php");
class MysqlConn {
private $a;
public function __construct($canshu) {
$this->a=$canshu;
//echo $this->a;
}
}
$m=new MysqlConn($db_server);
c.php文件
require_once("b.php");
echo $db_server;
传不了图片,只能写代码了,你测试一下,没问题了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数中使用了require_once('a.php'),说明必须要实例化b后才可以用$db_server。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在c.php中必须再包含一次a.php
require_once('a.php');
require_once('b.php');
追问
再包含一次一大堆错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实例化一下类,
然后把$db_server做成public属性
然后把$db_server做成public属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询