以下は、私の Codeigniter Web サイトが現在どのように機能しているかの実例です。
モデル:
<?php
class Default_model extends CI_Model
{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function get_link()
{
$query = $this->db->query('SELECT * FROM links LIMIT 5');
return $query->result();
}
コントローラ:
<?php
class Home extends CI_Controller {
public function index()
{
$this->load->model('segment1/Page_model');
$data['link'] = $this->Page_model->get_link();
$this->load->view('page_view', $data);
}
}
意見:
<h2>Link</h2>
<ul>
<?php if (isset($link)):?>
<?php foreach ($link as $row):?>
<li><a href="<?=$row->url?>"><?=$row->link?></a></li>
<?php endforeach;?>
<?php endif;?>
</ul>
上記の例でベースコントローラーの使用を開始したいのですが、いくつかのオンラインの例に従っていますが、正しく理解できません。いくつかのガイダンスをいただければ幸いです...
- モデルを自動ロードします。問題ありません
- ビューファイルは残ります
- config.php ファイルを変更します
コントローラ:
<?php
class Home extends Main_Controller {
public function index()
{
$this->load->model('segment1/Page_model');
$this->load->view('page_view', $data);
}
}
MY_コントローラー
<?php
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
さて、ここで私は立ち往生します - Main_Controller に何が入っているのか、そしてそれがどのように構造化されているのか正確にはわかりません...
Main_Controller:
<?php
class Main_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
//
// WHAT GOES IN HERE?
// SERIOUSLY, HELP!
//
}
}
明らかに、元のコントローラーから欠落している大きなデータ行が 1 つあります...
$data['link'] = $this->Page_model->get_link();
それはどのように結びついていますか?