В случае если класс подключает к себе интерфейсы, но реализует не все методы в них, он автоматически становится абстрактным.
<?php ## Интерфейсы и абстрактные классы,
interface I {
public function F();
}
abstract class С implements I {
}
?>
Если мы пропустим ключевое слово abstract в описании класса, то получим уже знакомое нам сообщение: Fatal error: Class С contains 1 abstract methods and must therefore be declared abstract (I::F). Мы не можем создать в программе объект класса, в котором отсутствует один из методов, а такой класс как раз и называется абстрактным.
Разработать несколько интерфейсов для работы с сообщениями на форуме. Реализовать разработанные интерфейсы несколькими способами и протестировать на задаче и Лекции№9.
Термин "ошибка" имеет три различных значения.
1. Ошибочная ситуация — непосредственно факт наличия ошибки в программе. Это может быть, например, синтаксическая ошибка (скажем, пропущенная скобка), или же ошибка семантическая — смысловая (использование переменной, которая ранее не была определена).
2. Внутреннее сообщение об ошибке ("внутренняя ошибка"), которую выдает РНР в ответ на различные неверные действия программы (например, открытие несуществующего файла).
3. Пользовательское сообщение об ошибке ("пользовательская ошибка"), к которой причисляются все сообщения или состояния, генерируемые и обрабатываемые самой программой. Например, в скрипте авторизации ситуация "введен неверный пароль".
Внутреннее сообщение об ошибке означает ошибку, которую нет смысла показывать в браузере пользователя (за исключением, разве что, ситуации отладки скрипта, когда в роли пользователя выступает сам разработчик). Такое сообщение лучше всего записывать в файлы журнала для дальнейшего анализа, а в браузер выводить стандартный текст, например: "Произошла внутренняя ошибка, информация о ней будет доступна разработчику скрипта позже".
Для записи сообщений об ошибках в журнал в РНР существуют специальные средства: директивы log_errors, error_log, а также функция error_log(). Пользовательское сообщение об ошибке предназначено для отображения пользователю. При возникновении ошибочной ситуации такого рода пользователь должен увидеть осмысленный текст в браузере.
Информация об ошибке включает в себя текст диагностического сообщения, также уточняться и дополнительные данные, например, номер строки и имя файла, где возникла ошибочная ситуация. Если в программе возникла ошибочная ситуация, необходимо принять решение, что же в этом случае делать.
Все ошибки можно подразделить на два больших класса:
· серьезные ошибки с невозможностью автоматического восстановления. Например, если вы пытаетесь открыть несуществующий файл;
· "несерьезные" (нефатальные) ошибки, восстановление после которых не требуется, например, предупреждения (warnings), уведомления (notices). Обычно в случае возникновения такого рода ошибочных ситуаций нет необходимости предпринимать что-то особенное и нестандартное, вполне достаточно просто сохранить где-нибудь информацию об ошибке.