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

这是老师写的一个简单的PHP数据库连接类,为什么有些成员变量如($tablename,$link)需要声明,然后$this->调用,而有些则不用声明如($host,$us... 这是老师写的一个简单的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");
?>
展开
 我来答
丸子爸爸的日常
2015-01-21 · 知道合伙人软件行家
丸子爸爸的日常
知道合伙人软件行家
采纳数:857 获赞数:985
PHP攻城狮,熟悉js,jq,css,html

向TA提问 私信TA
展开全部
你好,new Connect("localhost","root","admin888","mysql","tbname");

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

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

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

希望你的问题能解决,望采纳
往返现实与网络
2015-01-21 · 超过71用户采纳过TA的回答
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:114万
展开全部
传进去的是参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式