Обработка нескольких статических страниц в CodeIgniter: пример метода контроллера

Я предоставлю вам метод контроллера CodeIgniter, который может обрабатывать несколько статических страниц, а также несколько примеров кода. Вот пример:

class Pages extends CI_Controller {
    public function view($page = 'home') {
        if (!file_exists(APPPATH.'views/pages/'.$page.'.php')) {
            show_404();
        }

        $data['title'] = ucfirst($page);

        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
    }
}

В этом примере у нас есть контроллер Pagesс методом view. Параметр $pageиспользуется для определения того, какая статическая страница должна отображаться. По умолчанию, если страница не указана, загружается страница home.php.

Метод сначала проверяет, существует ли соответствующий файл представления. Если это не так, вызывается функция show_404()для отображения страницы ошибки 404.

Далее метод устанавливает заголовок страницы, используя заглавную букву параметра $page. Этот заголовок передается представлению как переменная данных.

Три оператора load->view()используются для загрузки представлений верхнего колонтитула, содержимого страницы и нижнего колонтитула. Массив $dataпередается каждому из этих представлений, что позволяет передавать данные от контроллера к представлениям.

Чтобы использовать этот метод контроллера, вы обычно определяете маршруты в файле routes.phpвашего приложения CodeIgniter. Например, вы можете добавить следующий маршрут для обработки страницы about:

$route['about'] = 'pages/view/about';

Это сопоставит URL-адрес example.com/aboutс методом viewконтроллера Pages, передав 'about'в качестве Параметр $page.