PHP面向对象中的成员变量必须在使用前声明吗?

这是老师写的一个简单的PHP数据库连接类,为什么有些成员变量如($tablename,$link)需要声明,然后$this->调用,而有些则不用声明如($host,$user,$pass)等直接使用,搞不明白。
另外,以成员变量$tablename为例,在实例化对象时,是先将参数tbname传给public $table还是直接传给构造方法的参数$tablename直接使用呢? 求解,谢谢大哥。
<?php
class Connect{
public $link = null;
public $tablename;
//构造方法
public function __construct($host,$user,$pass,$dbname,$tablename){
$this->link = mysql_connect($host,$user,$pass) or die("数据库连接失败");
mysql_select_db($dbname,$this->link);
$this->tablename = $tablename;
}
//成员方法 略...

public function __destruct(){
if($this->link){
mysql_close($this->link);
}
}
}
//使用 connect类
$m = new Connect("localhost","root","admin888","mysql","tbname");
?>

你好,new Connect("localhost","root","admin888","mysql","tbname");

( )内穿的是类需要的参数。

$host和$user和$pass和$db,之所以没有声明为类的一个属性
是因为,你这里有用不上,如果用的上你可以用private 来声明上边的属性,这样才安全

还有你问的参数传递问题,你再去看看类的构造函数的定义以及其在什么时候使用你就会很明了

希望你的问题能解决,望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-21
传进去的是参数。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网