说明部分的第二段代码运行结果如下:
object(Car)[2]
public 'name' => string 'new car' (length=7)
object(Car)[2]
public 'name' => string 'new car' (length=7)
2016-05-28
'魔术'方法拥有者特殊的名字,以两个下划线开始,表示这些方法在php特定事件下将会被触发。
如:例子里的
“$car->name = '汽车'; ,”,相当于如下操作:ary['name']= '汽车';
“$car->name;” 相当于“ $car->ary['name']”
希望对你有所帮助
如:例子里的
“$car->name = '汽车'; ,”,相当于如下操作:ary['name']= '汽车';
“$car->name;” 相当于“ $car->ary['name']”
希望对你有所帮助
2016-05-28
class Car {
public $speed = 10;
//在这里使用重载实现speedDown方法
public function __call($name, $args) {
if ($name == 'speedDown') {
echo "你调用的函数名:.$name.(参数:<br/>";
var_dump($args);
echo ") 并不存在!";
}
}
}
$car = new Car();
$car->speedDown(10,20); //调用不存在的speedDown方法
public $speed = 10;
//在这里使用重载实现speedDown方法
public function __call($name, $args) {
if ($name == 'speedDown') {
echo "你调用的函数名:.$name.(参数:<br/>";
var_dump($args);
echo ") 并不存在!";
}
}
}
$car = new Car();
$car->speedDown(10,20); //调用不存在的speedDown方法
2016-05-27
我现在发现记函数挺简单的,都是根据单词来的,只要把单词记住,函数就会手敲了,然后使用过的方法需要另外记,如addslashes();这个转义函数,看着比较难记,而且单个也不是一个单词,可是把它拆分,slash这个单词,名词就是‘倾斜’的意思,后面加上负数es,前面加一个add,这样不就好记多了,哈哈.....
2016-05-27
简单解释就是__construct()是在创建函数的时候被调用 也就是说 你在$car = new Car(); 调用执行__construct()。因为php不像C这类语言需要程序员自己进行内存释放, __destruct()是用于程序销毁之前调用。
2016-05-27
$car = new Car();//建立一个Car类的对象
Car::speedUp();//将Car类下的speed变量数值增加10
$car->speedUp();//也是将Car类下的speed变量数值增加10,而不是将car对象的speed变量数值增加10,因为private static $speed
echo $car->getSpeed(); //提取Car类下的speed的数值
此时建立一个新的对象,如$car02 = new Car();//并不会初始化speed变量的数值,
echo $car02->getSpeed();//还是提取Car类下的speed的数值,
Car::speedUp();//将Car类下的speed变量数值增加10
$car->speedUp();//也是将Car类下的speed变量数值增加10,而不是将car对象的speed变量数值增加10,因为private static $speed
echo $car->getSpeed(); //提取Car类下的speed的数值
此时建立一个新的对象,如$car02 = new Car();//并不会初始化speed变量的数值,
echo $car02->getSpeed();//还是提取Car类下的speed的数值,
2016-05-26