私は自分のプロジェクトにcodeigniterを使用しており、このクラスモデルをGenesisと呼んでいます。これは次のようになります。
class Genesis_model extends CI_Model {
function __construct() {
parent::__construct();
}
function get() {
return 'human soul';
}
}
そして、同じディレクトリに保存されている、Genesis_modelを拡張する別のモデルがあります。
class Human_model extends Genesis_model {
function __construct() {
parent::__construct();
}
function get_human() {
return $this->get();
}
}
Human_modelはHumanコントローラーによって使用されます
class Human extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('human_model');
}
function get_human() {
$data['human'] = $this->human_model->get_human();
$this->load->view('human/human_interface', $data);
}
}
コードを実行すると、$ this-> get()を返すエラーが発生します。「致命的なエラー:クラス'Genesis_model'が2行目の...\ application \ models\human_model.phpに見つかりません」と表示されます。
ほぼすべてのモデルがほぼ同じ構造を共有しているため、この方法を使用します。Genesisで同様の機能を収集しますが、他のモデルは、それらが表すテーブルに固有のデータサプライヤとしてのみ機能します。それは私のasp.net(vb.net)でうまく機能しますが、codeigniterでそれを行う方法はありません。
Human_modelがGenesis_modelを継承する方法はありますか。include('genesis_model.php')の使用は許可されていないと思います。それがうまくいくかどうかもわかりません。
前もって感謝します。