我讀一些代碼,看起來像這樣:爲什麼要在__construct而不是var列表中定義實例var的類型?
Class_Menu.php:
<?php
class Menu {
private $label;
private $link;
private $args;
function __construct($label, $link, $args=array()) {
$this->label=$label;
$this->link=$link;
$this->args=$args;
}
...
注$args
是如何定義爲__construct
的數組。爲什麼人會選擇這種方法,而不是在var列表定義$args
:
<?php
class Menu {
private $label;
private $link;
private $args=array();
function __construct($label, $link, $args) {
$this->label=$label;
$this->link=$link;
$this->args=$args;
}
...
若要更進一步,請使用類型提示。 '__construct($ label,$ link,array $ args = array())' – BoltClock
@BoltClock:爲什麼要使用類型提示?你有什麼收穫?只是好奇。 – PeeHaa
@PeeHaa:[Typehint(PHP手冊)](http://php.net/manual/en/language.oop5.typehinting.php)將確保只有數組傳遞給該參數。否則會出現異常。 – hakre