Tes*_*son 2 php oop naming-conventions
在php中,使用之间是否有任何区别
$myClass::method()
Run Code Online (Sandbox Code Playgroud)
和
$myClass->method()
Run Code Online (Sandbox Code Playgroud)
改变的原因是什么?(我相信->
已经存在了很长时间.)
我可以看到::
用于方法和->
属性的点,反之亦然.
::
是范围解析运算符,用于访问static
类的成员.
->
是成员运算符,用于访问对象的成员.
这是一个例子:
class Car {
public $mileage, $current_speed, $make, $model, $year;
public function getCarInformation() {
$output = 'Mileage: ' . $this->mileage;
$output = 'Speed: ' . $this->current_speed;
$output = 'Make: ' . $this->make;
$output = 'Model: ' . $this->model;
$output = 'Year: ' . $this->year;
return $output;
}
}
class CarFactory {
private static $numberOfCars = 0;
public static function carCount() {
return self::$numberOfCars;
}
public static function createCar() {
self::$numberOfCars++;
return new Car();
}
}
echo CarFactory::carCount(); //0
$car = CarFactory::createCar();
echo CarFactory::carCount(); //1
$car->year = 2010;
$car->mileage = 0;
$car->model = "Corvette";
$car->make = "Chevrolet";
echo $car->getCarInformation();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
185 次 |
最近记录: |