Создание первого контроллера и представления в CodeIgniter

Ранее мы провели подготовительную работу по настройке CodeIgniter, настройке подключения к БД в CodeIgniter и созданию базы данных с помощью phpmyadmin. Если Вы всё это успешно проделали можем двигаться дальше.

Теперь созданим первый контроллер (он будет единственным) и представление (их будет по меньшей мере два). Если не помните о контроллерах и представлениях, читайте справку по фрэймворку и статьи, написанные ранее.

Создание первого контроллера:

  • в файле system/application/config/config.php нужно указать, начало адреса вашего сайта. то есть в строке 14 изменить текст таким образом: $config['base_url'] = "http://localhost/ci";
    Этот адрес будет использоваться вспомогательными средствами при построении ардесов страниц.
  • в каталоге system/application/controllers создайте файл page.php, соблюдая регистр букв;
  • запишите в него следующие строки:
    <?php
    class Page extends Controller {
    function Page()
    {

parent::Controller();

}

function index()

{

$data['heading'] = 'Главная страница';

$data['page_text'] = 'Текст главной страницы';

$this->load->view('main_view', $data);

}

}

 

?>

  • в этом тексте описывается контроллер Page. Обращение к нему будет происходить по адресу: http://localhost/ci/index.php/page/index. Так как функция index вызывается по-умолчанию при отсутствии второго аргумента адресов строки, то можно просто http://localhost/ci/index.php/page.
  • чтобы контроллер заработал, нужно ещё создать представление main_view, к которому мы и обращаемся в тексте функции index. Другие две строки описывают создание массива data, содержимое которого передается представлению для отображения.
  • в папке system/application/views создайте файл main_view.php. Содержимое файла:
    <html>
    <head>
    <title><?php echo $heading;?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link type="text/css" rel="stylesheet" media="all" href="style.css"/>
    </head>
    <body>
    <h1><?php echo $heading; ?></h1>
    <p><?php echo $page_text; ?></p>
    </body>
    </html>
  • здесь мы видим как отображаются те данные которые были переданы в наше представление;
  • теперь необходимо сделать созданный контроллер, контроллером по-умолачнию, чтобы он вызывался при обращении к http://localhost/ci
  • в файле system/application/config/routes.php в строке 43 пропишите: $route['default_controller'] = "page";

Проверьте всё ли работает правильно. На этом пока остановимся.

вернуться назад