Как выводить ошибку 404 (Not Found)

Чтобы сообщить пользователю, что страницы или файла не существует, то есть отдать ему 404 ошибку, мы будем использовать родной метод setController, библиотеки module. Вот так:
phpfox::getLib('module')->setController('error.404')

Допустим мы получаем какие либо данные, и в случае, если нужная запись не найдена, выводим 404 ошибку:
		if ($editID = $this->request()->getInt('id'))
		{
			if (!($row = phpfox::getService('ad')->getAd($editID)))
			{
				// В случае ненайденной записи выводим 404 ошибку
				return phpfox::getLib('module')->setController('error.404');
			}

			// Тут код при успешно найденной записи
		}

URL страницы останется именно таким, каким на него перешли. А если надо отправить пользователя по адресу: "site/error.404/", делаем так:
phpfox::getLib('url')->send('error.404');

На мой взгляд, первый вариант лучше.
Автор:  20:59 11.04.2024