我学会了PHP的功能和程序语言。 现在尝试启动学习目标为导向,有一个重要的问题。
我的代码:
class car {
function set_car($model) {
$this->model = $model;
}
function check_model()
{
if($this->model == "Mercedes") echo "Good car";
}
}
$mycar = new car;
$mycar->set_car("Mercedes");
echo $mycar->check_model();
为什么它没有$模型的申报工作?
var $model;
在开始的?
因为在PHP作品“自动申报”对任何变量? 我被困
在PHP中的每个对象都可以得到会员W / O声明它们:
$mycar = new car;
$mycar->model = "Mercedes";
echo $mycar->check_model(); # Good car
这是PHP的默认行为。 这些都是公开的。 请参阅手册 。
是的,如果它不存在,PHP声明它在飞行中为您服务。
这是更优雅无论如何定义,并与工作时扩展它的建议,因为你可以得到怪异的情况下,如果你的扩展是要去使用相同的varnames,也没有定义它私有,保护或公开。
更多信息: http://www.php.net/manual/en/language.oop5.visibility.php
PHP类成员可以在任何时间被创建。 通过这种方式,将被视为公共变量。 要声明你需要声明它私有变量 。
不,这是因为$模式是功能set_car的参数。 参数是不完全变量,但占位符(参考)到将调用函数(或类方法)时可以设置的变量或值。 例如,$模型需要调用set_car当值“奔驰”。
是。 但这种方式的变量将被公开。 并声明类变量“VAR”已经过时 - 使用公共,保护或私有。