Как я могу реализовать шаблон фабрики с codeigniter? - PullRequest
0 голосов
/ 22 марта 2019

Мне нужно реализовать функцию под названием «Изучение навыков». В контроллере я добавил этот код:

public function learnskill( $character_id, $skillname )
{
    $this->load->model('skillfactory_model');
    // Ideally i would need that the factory returns the model
    // skill_parry_model so i can use it
    $skill_instance = $this->skill_factory_model->create($skillname);
    $skill_instance->learn($character_id);
 }

Как я могу реализовать модель 'skill_factory_model' и как я могу написать контроллер и следовать рекомендациям CI?

1 Ответ

0 голосов
/ 22 марта 2019

Найден способ сделать это:

public function learnskill( $character_id, $skillname )
{  

    $this->load->model('skillfactory_model');
    $model = $this->skillfactory_model->create($skillname]);
    $this->load->model($model);
    $this->$model->learn($character_id);
}

SkillFactory_Model:

class SkillFactory_Model extends CI_Model
{

    public function create($tag)
    {   
        $class = "Skill_" . $tag . '_model';                        
        return $class;
    }

}
...