Я пытаюсь создать экземпляр класса, но я получаю следующее сообщение об ошибке:я не могу создать экземпляр класса на Codeigniter
A PHP Error was encountered
Severity: Notice
Message: Undefined property: DM_TemplateLoader::$load
Filename: libraries/Form_validation.php
Line Number: 147
Backtrace:
File: C:\xampp\htdocs\DataMigrator\ci_my_app\controllers\DM_FormValidator.php Line: 13 Function: __construct
File: C:\xampp\htdocs\DataMigrator\index.php Line: 292 Function: require_once
Fatal error: Call to a member function helper() on a non-object in C:\xampp\htdocs\DataMigrator\ci_my_sys\libraries\Form_validation.php on line 147 A PHP Error was encountered
Severity: Error
Message: Call to a member function helper() on a non-object
Filename: libraries/Form_validation.php
Line Number: 147
Backtrace:
Это мой код:
DM_FormValidator.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class DM_FormValidator extends CI_Controller {
public function index()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('sender_host', 'Host (Sender)', 'required');
if ($this->form_validation->run() == FALSE) {
require_once APPPATH . 'controllers/DM_TemplateLoader.php';
$template_loader = new DM_TemplateLoader();
}
}
}
DM_TemplateLoader.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class DM_TemplateLoader extends CI_Controller {
public function view($page = 'home') {
// Loading the URL helper
$this->load->helper('url');
if (file_exists(APPPATH . 'views/pages/' . $page . '.php')) {
$data['page_title'] = 'Data Migrator: Home';
// Building the template
$this->load->view('template/header', $data);
$this->load->view('pages/' . $page);
$this->load->view('template/footer');
}
else {
show_404();
}
}
}
Что я делаю неправильно?
Я попробовал ваш код, и я получаю эту ошибку: Фатальная ошибка: Вызов функции члена помощника() на не-объект в C: \ XAMPP \ HTDOCS \ DataMigrator \ ci_my_app \ libraries \ Layout.php в строке 15 –
Ну, часть, которая не работает, та самая, что я взял с вашего первого сообщения. Я предположил, что у вас есть вспомогательный помощник. Если нет, просто удалите строку. Но эта часть зависит от вас. ;) – AdrienXL
О, я вижу. Я понял, что не могу использовать $ this-> load-> view ('template/header', $ data); но он работает, когда я использую его так: $ this-> ci-> load-> view ('template/header', $ data); Я не понял, что такое $ this-> ci = & get_instance(); должно означать, но в любом случае спасибо! Теперь все работает отлично. –