Класс является набором переменных и функций, или, в терминах ООП, свойств и методов. Класс является одним из типов данных. Создавая объекты определенного класса, их можно сохранять в переменных. В предыдущем разделе в качестве примера был приведен класс Animal, который будет подробно рассмотрен ниже. Описание класса начинается с ключевого слова class, за которым следует имя создаваемого класса:
В этой главе рассматриваются основы объектно-ориентированного программирования (ООП). Использование РНР вполне возможно и без объектно-ориентированного программирования. Но при создании больших сложных проектов, а также при работе в команде использование ООП является весьма серьезным преимуществом.
У вас есть число z=5. Пользователь вводит числа в цикле, если за последние 4 попытки ввода было хотя бы одно число больше или равно 15, то увеличивайте число z на 1 в ответ на каждое введенное число, а если такого числа не было, то уменьшайте на 1 в ответ на каждый ввод.
Цикл и программа должны завершиться, когда число z станет отрицательным.
Часто перед тем, как разрешить пользователю вводить какие-либо данные, следует осуществить его регистрацию. Большинство серверов (например, Apache) позволяют ограничивать доступ к определенным разделам web-сайта. Путем соответствующей настройки доступ получат только пользователи, перечисленные в конфигурационном файле сервера. При попытке доступа к защищенной части сервера будет отображено диалоговое окно, в котором следует ввести имя пользователя и его пароль, как показано на рис. 1.
Наряду с РНР, который производит проверку данных на стороне сервера, можно также использовать JavaScript, при помощи которого данные могут быть проверены на стороне клиента. Использование JavaScript уменьшает нагрузку на сервер, а также сокращает трафик. Данный раздел не относится к РНР, но для полноты охвата темы он включен в книгу. В то же время, если пользователь отключил использование JavaScript, всегда можно использовать проверку на стороне сервера.
Если форма для ввода данных содержит несколько полей, а ошибку пользователь допустил при заполнении только некоторых из них, разумно сохранить корректные данные при повторном выводе формы, чтобы пользователю не пришлось бы вводить верные данные заново. Этот подход продемонстрирован в примере 1, который содержит форму из двух полей, обязательных для ввода. Если пользователь заполнит только одно поле из двух, то при нажатии кнопки «ОК» будет сформировано соответствующее сообщение об ошибке, но уже введенное значение сохранится, и пользователю не придется набирать его повторно.
В предыдущем разделе теги просто удалялись из текста. Но что делать, если требуется отобразить текст, содержащий HTML-теги, но при этом ещё и обеспечить безопасность приложения? В этом случае уместно использовать функцию htmlentities, которая осуществляет кодирование тегов, преобразовывая их в последовательность специальных символов.
При обработке введенного текста необходимо обратить внимание на следующую деталь, в особенности, если строку потом планируется отображать. Пользователь может использовать при наборе текста теги HTML (в том числе и выражения на JavaScript), что может повлиять на корректность работы приложения при использовании этого текста для формирования страницы. Для предотвращения этой ситуации можно использовать функцию strip_tags, которая удаляет из заданной строки все теги, что и продемонстрировано в примере 1.
Нередко возникает задача проверить текстовое поле на соответствие определенным критериям. Например, требуется проверить, содержит ли заданное текстовое поле слово «РНР». В РНР имеется мощный механизм регулярных выражений, который позволяет решать подобные задачи.