有没有办法在类函数中定义常量?
例:
class ExampleApp
{
const FORM = TRUE;
public function __construct()
{
switch(Base::color())
{
case 'green':
self::FORM = 'G';
break;
case 'red':
self::FORM = 'R';
break;
default:
self::FORM = 'W';
break;
}
}
public function process() { return TRUE; }
}
Run Code Online (Sandbox Code Playgroud)
上面的示例代码显然不起作用!
根据我的编程知识,你不能重新定义常量,否则它们将是"常量".但是如何在函数中定义一个costant呢?!在我的例子中,函数是构造函数,还是完全不可能?
我想你想要一个静态属性,而不是常量
public static $form = true;
但是,不要将变量名称放在大写字母中,因为它不是常量,不要混淆其他开发人员.
您可以像在方法中一样使用它来获取它 self::form
通过将其保存在财产中.不是静态属性,只是具有getter和setter的属性.
class ExampleApp
{
const FORM_COLOR_GREEN = "G";
const FORM_COLOR_RED = "R";
const FORM_COLOR_DEFAULT = "W";
private $form_color;
public function getFormColor()
{
return $this->form_color;
}
public function setFormColor( $color )
{
$this->form_color = $color;
}
public function __construct( $color = NULL )
{
switch( $color )
{
case 'green':
$this->setFormColor( self::FORM_COLOR_GREEN );
break;
case 'red':
$this->setFormColor( self::FORM_COLOR_RED );
break;
default:
$this->setFormColor( self::FORM_COLOR_DEFAULT );
break;
}
}
public function process() { return TRUE; }
}
Run Code Online (Sandbox Code Playgroud)
然后你可以通过调用它获得表单颜色 $example_app->getFormColor();
| 归档时间: |
|
| 查看次数: |
4225 次 |
| 最近记录: |