我是新来的PHP OOP
。
我有这个构造器
protected $path='default';
function __construct($var1, $var2 ..){
$this->var1=$var1;
$this->var2=$var2;
}
$obj = MyClass($var1='www')
我希望如果我创建了object并且没有传递任何参数,那么我将得到具有空值的对象。
但是如果在构造函数中像上面这样提到属性,那么对象应该设置这些属性。
目前,如果我用参数定义构造器,但不提供任何参数,则会得到错误
是的。
最佳答案
您可以在php中使用func_get_args()
。
<?php
class foo
{
private $arrParams;
function __construct()
{
if (func_num_args() != 0) {
$this->arrParams = $this->setValues(func_get_args());
}
}
public function setValues($params)
{
return $params;
}
public function dispParams()
{
print_r($this->arrParams);
}
public function retVal($var)
{
return $this->arrParams[$var];
}
}
$foo1 = new Foo(3, 45, 64, 34);
$foo1->dispParams();
OUTPUT :
Array
(
[0] => 3
[1] => 45
[2] => 64
[3] => 34
)
从数组中获取相应的值…你可以打电话给我
$foo1->retVal(2); // Prints you 64