Вывод 404 ошибки в CodeIgniter

В этом уроке мы создадим отличную функцию, которая позволит определять ошибки вывода в CodeIgniter. В примере этого урока мы будем загружать модели и пытаться получить записи, выводя 404 ошибку, если запрос не выполняется.

Начнем с создания контроллера:

if (!defined('BASEPATH')) exit('Нет прямого доступа.');
	
class Users extends Controller() {
	
	public function __construct() {
		parent::__construct();
	}
		
	public function view($username) {
		$this->load->model('user');
		$data['user'] = $this->user->get($username) or show_404();
		$this->load->view('user_info', $data);
	}
}

Другим ключевым компонентом является сама модель, обеспечивающая значение как FALSE, если объект не может быть найден. Вот так она будет выглядеть:

if (!defined('BASEPATH')) exit('Нет прямого доступа.');
	
class User extends Model {
	
	public function __construct() {
		parent::__construct();
	}
	
	public function get($username) {
		$query = $this->db->get_where('users', array('username' => $username), 1, 0);
		if ($query->num_rows() > 0) {
			return $query->row();
		}
		return NULL;
	}
	
}

Значение NULL в свободном сравнении интерпретируется как FALSE. При присвоении значения переменной с помощью оператора OR, PHP назначит первое значение, которое будет интерпретироваться как TRUE или последнее значение состояния. Если запись не найдена, то модельь вернет значение NULL, PHP попытается присвоить возвратное значение переменной show_404(). Эта функция не возвращает значение, хот, вместо этого отправит приложение ./errors/error_404.php (с соответствующими Вашими заголовками).

Просмотров: 2010      Опубликовал: Евгений Фединчик      Дата: 19.05.2010 18:38:30
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

    В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

    Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.

    Комментарии:

    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa