PHP e Codeigniter - Como você verifica se existe um modelo e / ou não gera um err
bschaeffer's
responda paraest pergunta - em seu último exemplo:
$this->load->model('table');
$data = $this->table->some_func();
$this->load->view('view', $data);
Como você lida com isso quando'table'
não existe?
try {
$this->load->model('serve_' . $model_name, 'my_model');
$this->my_model->my_fcn($prams);
// Model Exists
} catch (Exception $e) {
// Model does NOT Exist
}
Mas ainda depois de executar isso (obviamente o modelo não existe - mas às vezes o existe), ele falha com o seguinte erro:
Um erro foi encontrad
Não foi possível localizar o modelo que você especificou: serve_formes
Estou recebendo essa chamada de função por:
1) Obtendo JSON:
"model_1:{"function_name:{"pram_1":"1", "pram_2":"1"}}
2) E transformá-lo na chamada de função:
$ this-> load-> model ('serve_'. "modelo_1", 'meu_modelo');
3) Para onde eu ligo:
$this->my_model->function_name(pram_1=1, pram_2=1);
SOLUÇÃ O problema está no fato de que o @ CodeIgnitshow_error(...)
função @ exibe o erro eexit;
... Não é legal ... Então eu substituí:model(...)
->my_model(..)
(você receberá erros se apenas substituí-lo) e removeu oshow_error(...)
porque, por algum motivo, você não pode substituí-lo - estranho para o Codeigniter). Então emmy_model(...)
fez lançar uma exceção
Minha opinião pessoal: a função de chamada devereturn show_error("message");
onde show_error retornaFALSE
--- isso ou você pode remover oexit;
- e fazershow_error(...)
substituível