【发布时间】:2012-08-15 13:16:05
【问题描述】:
有什么可以阻止我在 __construct() 括号中输入这样的提示吗?
<?php
class SomeClass extends BaseClass {
public function __construct(array $someArray) {
parent::__construct($someArray);
}
还是只能这样?
<?php
class SomeClass extends BaseClass {
public function __construct($someArray = array()) {
parent::__construct($someArray);
}
编辑:
这是有效的:(感谢@hakra 和@Leigh)
<?php
class SomeClass extends BaseClass {
public function __construct( array $someArray = NULL ) {
parent::__construct( (array) $someArray);
}
对我来说,它看起来既漂亮又干净,我确切地知道它应该意味着什么。
【问题讨论】:
-
看起来合法 - php.net/manual/en/language.oop5.typehinting.php 为什么不试试呢?
-
两者都可以:__construct(array $arr=array())
-
你已经输入了代码,为什么不直接运行一下?
-
@Pekka,是的,我想我只需要测试一下 :)
-
我需要能够使数组可选。前任__construct(数组 $someArr = false)。你认为它有效吗?
标签: php class oop constructor