up:
una costante dentro ad una classe, posso utilizzarla quante volte voglio? Mi spiago meglio, ho questa classe:
Code:
class Issue extends CActiveRecord
{
const TYPE_BUG=0;
const TYPE_FEATURE=1;
const TYPE_TASK=2;
const STATUS_NOT_YET_STARTED=0;
const STARTED=1;
const FINISHED=2;
public function getTypeOptions()
{
return array(
self::TYPE_BUG=>'Bug',
self::TYPE_FEATURE=>'Feature',
self::TYPE_TASK=>'Task',
);
}
public function getStatusOption()
{
return array(
self::STATUS_NOT_YET_STARTED=>'Not yet started',
self::STARTED=>'Started',
self::FINISHED=>'Finished',
);
}
// ecc ...
Cioè io posso usare tranquillamente la costante TYPE_BUG=0; per utilizzarla nel metodo GetStatusOption() ?
Sono 2 menu a tendina praticamente
che con questo grazie a questo metodo:
Code:
public static function model($className=__CLASS__)
{
return parent::model($className);
}
faccio il render:
Code:
<div class="row">
<?php echo $form->labelEx($model,'type_id'); ?>
<?php echo $form->dropDownList($model,'type_id', $model->getTypeOptions()); ?>
<?php echo $form->error($model,'type_id'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'status_id'); ?>
<?php echo $form->dropDownList($model,'status_id',$model->getStatusOption()); ?>
<?php echo $form->error($model,'status_id'); ?>
</div>
(scusate il casino, ma non tiene una sega di indentazione il code)