我需要用父子类创建一个变量。 例如:
父类
<?php
class parentClass
{
function __construct()
{
$subClass = new subClass();
$subClass->newVariable = true;
call_user_func_array( array( $subClass , 'now' ) , array() );
}
}
?>
子类
<?php
class subClass extends parentClass
{
public function now()
{
if( $this->newVariable )
{
echo "Feel Good!!!";
}else{
echo "Feel Bad!!";
}
echo false;
}
}
?>
执行parentClass
<?php
$parentClass = new parentClass();
?>
目前
注意:未定义的属性:sublass.php on中的subClass :: $ newVariable 第6行
我真的需要这个:
感觉很好!!!
解决方案:
<?php
class parentClass
{
public $newVariable = false;
function __construct()
{
$subClass = new subClass();
$subClass->newVariable = true;
call_user_func_array( array( $subClass , 'now' ) , array() );
}
}
?>
<?php
class subClass extends parentClass
{
public function now()
{
if( $this->newVariable )
{
echo "Feel Good!!!";
}else{
echo "Feel Bad!!";
}
echo false;
}
}
?>
答案 0 :(得分:4)
您必须在子类中声明属性:
<?php
class subClass extends parentClass
{
public $newVariable;
public function now()
{
if( $this->newVariable )
{
echo "Feel Good!!!";
}else{
echo "Feel Bad!!";
}
echo false;
}
}
?>
修改强>
或者使用magic methods,这不是很优雅,并且可能使您的代码难以调试。