Ниже приведен рабочий пример того, как в настоящее время функционирует мой сайт Codeigniter:Понимание CodeIgniter структура базового контроллера
Модель:
<?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>
Я хочу, чтобы начать использовать базовый контроллер для приведенного выше примера, и в то время как я следовал несколько онлайн примеров - я совсем не могу получить это право, и я оценил бы некоторые указания ...
- Я AutoLoad модели, никаких проблем
- The View файл остается
- я изменить файл config.php
контроллер:
<?php
class Home extends Main_Controller {
public function index()
{
$this->load->model('segment1/Page_model');
$this->load->view('page_view', $data);
}
}
MY_Controller
<?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!
//
}
}
Очевидно, что есть одна большая строка данных пропавших без вести от оригинального контроллера ...
$data['link'] = $this->Page_model->get_link();
Как все это связано?
Почему вы пытаетесь использовать базовый контроллер? Вам нужно использовать один и тот же код в каждом контроллере, потому что это, по сути, базовый контроллер? Нам нужно узнать больше о том, что вы на самом деле пытаетесь выполнить ... –
Это ТОЧНО, что я пытаюсь сделать, т.е. используйте один и тот же код на каждой веб-странице и на каждом контроллере, например, в нижнем колонтитуле веб-сайта, поэтому мне не нужно загружать одну и ту же функцию в каждый отдельный контроллер на моем сайте, пытаясь сделать его доступным на глобальном уровне. – user2505513