こんにちは、私は、PHPの本の著者が公共の関数__construct($ disks = 1)で$ disks = 1を使った理由を理解していませんか?実際のPHP 5の例に関する質問
私は$ disks = 1を$ disksだけに置き換えようとしましたが、これもうまくいきました。なぜそれを作っているのだろう?
<?php
// Define our class for Compact disks
class cd {
// Declare variables (properties)
public $artist;
public $title;
protected $tracks;
private $disk_id;
// Declare the constructor
public function __construct() {
// Generate a random disk_id
$this->disk_id = sha1('cd' . time() . rand());
}
// Create a method to return the disk_id, it can't be accessed directly
// since it is declared as private.
public function get_disk_id() {
return $this->disk_id;
}
}
// Now extend this and add multi-disk support
class cd_album extends cd {
// Add a count for the number of disks:
protected $num_disks;
// A constructor that allows for the number of disks to be provided
public function __construct($disks = 1) {
$this->num_disks = $disks;
// Now force the parent's constructor to still run as well
// to create the disk id
parent::__construct();
}
// Create a function that returns a true or false for whether this
// is a multicd set or not?
public function is_multi_cd() {
return ($this->num_disks > 1) ? true : false;
}
}
// Instantiate an object of class 'cd_album'. Make it a 3 disk set.
$mydisk = new cd_album(3);
// Now use the provided function to retrieve, and display, the id
echo '<p>The compact disk ID is: ', $mydisk->get_disk_id(), '</p>';
// Use the provided function to check if this is a a multi-cd set.
echo '<p>Is this a multi cd? ', ($mydisk->is_multi_cd()) ? 'Yes' : 'No', '</p>';
?>
参考までに何も言及しません。http://docs.php.net/manual/en/functions.arguments.php –