如何调用类外的变量
本帖最后由 hicoo 于 2014-06-07 10:21:04 编辑 a.php页面是数据链接变量
$dbhost = "localhost";
$dbname = "ffff";
$dbuser = "cccc";
$dbpwd = "123456";
$dbprefix = "user";
$db_language = "gbk";
b.php页面类里面为各种数据库的操作函数
require_once("../data/a.php");
class mydatabase{
// 链接数据库
function opendata($database){
请问在此方法中,怎么把类外的变量都获取
}
//查询一条记录
function ReadOne($database){
self::opendata($database);
$rs = mysql_query("SELECT * from fcc where id=1");
$row = mysql_fetch_array($rs);
self::closedata();
return $row["date"];
}
}
------解决方案--------------------
// 链接数据库
function opendata($database){
include("../data/a.php");
}
或者定义成常量
你在类定义外面 require_once("../data/a.php")
将导致数据库相关参数变成全局变量,可能会覆盖掉同名变量
也可以通过 $GLOBALS 数组轻易的观察到
------解决方案--------------------
你要多看基础哦
------解决方案--------------------
建议a.php的那些变量写进一个同一个数组,也可改成function 然后return这个数组
命名污染 有时候挺恶心的
------解决方案--------------------
一般这些配置信息最好变成常量
------解决方案--------------------
第一种方法,用常量,这样在任何地方都可以使用了
../data/a.php
第二种,用config数组
../data/a.php
$dbhost = "localhost";
$dbname = "ffff";
$dbuser = "cccc";
$dbpwd = "123456";
$dbprefix = "user";
$db_language = "gbk";
b.php页面类里面为各种数据库的操作函数
require_once("../data/a.php");
class mydatabase{
// 链接数据库
function opendata($database){
请问在此方法中,怎么把类外的变量都获取
}
//查询一条记录
function ReadOne($database){
self::opendata($database);
$rs = mysql_query("SELECT * from fcc where id=1");
$row = mysql_fetch_array($rs);
self::closedata();
return $row["date"];
}
}
------解决方案--------------------
// 链接数据库
function opendata($database){
include("../data/a.php");
}
或者定义成常量
你在类定义外面 require_once("../data/a.php")
将导致数据库相关参数变成全局变量,可能会覆盖掉同名变量
也可以通过 $GLOBALS 数组轻易的观察到
------解决方案--------------------
你要多看基础哦
<br>require_once("../data/a.php");<br><br>class mydatabase {<br><br> // 链接数据库<br> function opendata($database) {<br> //方法一<br> global $dbhost , $dbname , $dbuser , $dbpwd , $dbprefix , $db_language;<br> //方法二<br> require_once("../data/a.php");<br> //方法三<br> //在a.php把变量全部定义成常量<br> define('DB_HOST' , 'test');<br> //调用的时候直接 使用DB_HOST<br> echo DB_HOST;<br> <br> }<br><br><br> //查询一条记录<br> function ReadOne($database) {<br> self::opendata($database);<br> $rs = mysql_query("SELECT * from fcc where id=1");<br> $row = mysql_fetch_array($rs);<br> self::closedata();<br> return $row["date"];<br> <br> }<br><br>}<br>------解决方案--------------------
建议a.php的那些变量写进一个同一个数组,也可改成function 然后return这个数组
命名污染 有时候挺恶心的
------解决方案--------------------
一般这些配置信息最好变成常量
------解决方案--------------------
第一种方法,用常量,这样在任何地方都可以使用了
../data/a.php
<br><?php<br> define('MYHOST', 'localhost');<br> define('MYUSER', 'cccc');<br> define('MYPWD', '123456');<br>?><br><br><?php<br>require_once("../data/a.php");<br><br>class mydatabase{<br><br> private $myhost;<br> private $myuser;<br> private $mypwd;<br><br> public function __construct(){<br> $this->myhost = MYHOST;<br> $this->myuser = MYUSER;<br> $this->mypwd = MYPWD;<br> }<br><br> function opendata($database){<br> $linkid = mysql_connect($this->myhost, $this->myuser, $this->mypwd);<br> }<br><br>}<br>?><br>第二种,用config数组
../data/a.php
<br><?php<br>return array(<br> 'myhost' => 'localhost',<br> 'myuser' => 'cccc',<br> 'mypwd' => '123456'<br>);<br>
<br><?php<br>class mydatabase{<div class="clear">
</div>









