我正在阅读一些看起来像这样的代码:
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;
}
...
Run Code Online (Sandbox Code Playgroud)
注意如何$args
定义为中的数组__construct
.为什么选择这种方法而不是$args
在var列表中定义:
<?php
class Menu {
private $label;
private $link;
private $args=array();
function __construct($label, $link, $args) {
$this->label=$label;
$this->link=$link;
$this->args=$args;
}
...
Run Code Online (Sandbox Code Playgroud)
在第一个示例中,$args
是可选的.的构造可以与仅2个参数为被调用$label
和$link
,以及$args
将其定义为一个空数组.
在第二个示例中,该$args
参数是必需的.
(意见):$args = array()
在声明属性时我会留在构造函数中,因此很容易一目了然地告诉var $ args是什么类型的.
<?php
class Menu {
private $label;
private $link;
private $args = array();
function __construct($label, $link, $args=array()) {
$this->label=$label;
$this->link=$link;
$this->args=$args;
}
Run Code Online (Sandbox Code Playgroud)