Язык программирования PHP - [26]

Шрифт
Интервал


>

>Создать элемент "строка ввода текста":

> type=checkbox name=types[]

> value=string>

>Количество элементов:

> name=numbers[string]

> size=3>

>

>Создать элемент "текстовая область":

> type=checkbox

> name=types[] value=text>

>Количество элементов:

> name=numbers[text]

> size=3>

>

>


Когда мы пишем в имени элемента формы, например types[], это значит, что его имя – следующий элемент массива types. То есть у нас первый элемент формы ("строка ввода текста") будет иметь имя types[0], а второй (текстовая область) – types[1]. В браузере task_form.html будет выглядеть примерно так:



Рис. 5.1.  Форма для выбора создаваемых элементов и их количества

После отправки данных этой формы мы получим информацию о том, какие элементы и сколько элементов каждого типа нужно создать. Следующий скрипт запрашивает названия для этих элементов:


Допустим, нужно создать два элемента типа «текстовая строка» и один элемент типа «текстовая область», как и отмечено в форме выше. Тогда скрипт ask_names.php обработает ее таким образом, что мы получим такую форму:



Рис. 5.2.  Форма для ввода названий создаваемых элементов

Введем в эту форму, например, строки «Название», «Автор» и «Краткое содержание». Эти данные будет обрабатывать скрипт task.php.


Результатом работы этого скрипта с входными данными, приведенными выше, будет следующая форма:



Рис. 5.3.  Пример формы, сгенерированной нашей программой

Заключение


Подведем итоги. В этой лекции мы изучили функции, определяемые пользователем, их синтаксис и семантику, способы передачи их аргументов и возвращаемых значений. Кроме того, обсуждались способы задания и работы с функциями, имеющими переменное число аргументов и альтернативный способ вызова функции (с помощью переменной, значение которой есть имя функции). В следующей лекции будет рассмотрена объектная модель языка PHP.

Объекты и классы в PHP


В этой лекции мы рассмотрим объектную модель, предлагаемую языком PHP. Будут представлены понятия класса и объекта, способы их задания и использования, способы расширения классов, конструкторы классов, механизмы наследования и т.п. Кроме того, мы затронем некоторые нововведения, касающиеся объектной модели, появившиеся в PHP5.


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


Классы и объекты


Начнем с основных понятий объектно-ориентированного программирования – класса и объекта. Существует множество определений этих понятий. Мы дадим следующее: объект – это структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии, класс – это описание таких объектов и действий, которые можно с ними выполнять.


В PHP класс определяется с помощью следующего синтаксиса:


>class Имя_класса{

> var $имя_свойства;

> /*список свойств*/

> function имя_метода( ){

> /* определение метода */

> }

> /*список методов*/

>}


Имена свойств объектов класса объявляются с помощью ключевого слова var, методы, применимые к объектам данного класса, описываются функциями. Внутри определения класса можно использовать ключевое слово this для обращения к текущему представителю класса.


Например, нам нужно создать класс, описывающий категорию статей. У каждой статьи имеются такие свойства, как название, автор и краткое содержание. Какие действия мы хотим совершать со статьями? Возможно, нам понадобится задавать значения перечисленным свойствами статьи, отображать статью в браузере. Тогда определение этого класса может выглядеть следующим образом:


>

>class Articles { // Создаем класс Статей

> var $title;

> var $author;

> var $description;

>// метод, который присваивает значения

>// атрибутам класса

> function make_article($t, $a, $d){

> $this->title = $t;

> $this->author = $a;

> $this->description = $d;

> }

>//метод для отображения экземпляров класса

> function show_article(){

> $art = $this->title . "
" .

> $this->description .

> "
Автор: " . $this->author;

> echo $art;

> }

>}

>?>


Итак, для описания физических объектов типа «статья» мы создали класс с именем Articles, состоящий из трех переменных, содержащих характеристики статьи, и двух функций для создания конкретной статьи и для ее отображения.


Как известно, работая с PHP, можно периодически переключаться в режим HTML. В этом случае программа состоит из нескольких кусков (блоков) кода. Определение класса нельзя разносить по разным блокам php-кода и тем более по разным файлам. То есть если написать:


>

>class Articles { // Начало описания класса

> var $title;

>?>

>

>// продолжение описания класса

> function show_article(){

> // содержание метода

> }

>} // конец описания класса

>?>


то программа не будет работать корректно.


Несколько замечаний по поводу имен классов. Имя класса должно удовлетворять правилам именования объектов в языке PHP, но есть ряд имен, которые зарезервированы разработчиками для своих целей. В первую очередь это имена, начинающиеся с символа подчеркивания «_». Для создания классов и функций нельзя использовать такие имена. Кроме того, зарезервировано имя stdClass, поскольку оно используется внутри движка PHP.


Рекомендуем почитать
Готовые сочинения по былинам. 5-6 классы

Дорогие ребята!На уроках литературы вы знакомитесь с произведениями устного народного творчества. Один из самых сложных жанров фольклора – былины. У вас часто возникают трудности в изучении этих произведений – особенно в написании сочинений. Нынешнему школьнику непросто понять мир старинных былин и чувства, которые древнерусский сказитель вкладывал в них. В тексте былин всегда встречается много слов и образов, которые в умах и сердцах наших далёких предков вызывали яркие впечатления и горячие отклики, а современному человеку их необходимо пояснять.Эта книга поможет вам легко выполнить самые различные задания учителя: найти постоянные эпитеты в тексте былины, дать сравнительную характеристику персонажей, ответить на вопросы по содержанию произведения, подобрать пословицы на заданную тему и объяснить их происхождение и, конечно же, написать отличное сочинение.На темы, которые предлагает школьная программа, в книге представлены уже готовые сочинения.


Нормы русского литературного языка

Настоящее пособие помогает формированию и совершенствованию у студентов умений и навыков произношения, словоупотребления, использования грамматических форм, правописания и постановки знаков препинания. Предназначено как для практических аудиторных занятий, так и для самостоятельной работы.Для студентов, изучающих курсы «Русский язык и культура речи», «Культура речи», «Стилистика русского языка и культура речи», «Стилистика и литературное редактирование» и др. Данное пособие может быть использовано также выпускниками средних школ и абитуриентами при подготовке к Единому государственному экзамену по русскому языку.


Язык и человек. К проблеме мотивированности языковой системы

В книге развивается идея об адаптации языковой системы к биосоциальным особенностям человека и осуществлению им коммуникативного процесса как главном факторе функциональной, системно-структурной и знаковой (семиотической) специфики языка. В качестве иллюстративной языковой системы послужил главным образом русский язык в его общих с другими языками свойствах. В соответствии с поставленными задачами в книге объясняется специфика четырех семиотических измерений языка – языковых знаков, их семантики, синтактики и прагматики, чему подчинена структура книги.


Самоучитель Adobe After Effects 6.0

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.


История и культурология

Раскрываются становление культурно-исторического подхода к изучению общественного развития и воззрения его ведущих представителей. Представлены основные этапы и закономерности мирового культурно-исторического процесса от доисторического общества до наших дней. На примере величайших цивилизаций древности, средневековья и Нового времени освещаются важнейшие исторические события и явления культуры, определившие облик современной эпохи. Особое внимание уделено отечественной истории и культуре. В отличие от первого издания (М.: Логос, 1999) пособие содержит главу о западной цивилизации в XX в., а также приложения, справочный аппарат и иллюстрации.Для студентов высших учебных заведений.


Микроэкономика

В данном конспекте лекций в доступной форме изложены все основные вопросы по дисциплине «микроэкономика».Книга поможет получить основные знания и подготовиться к зачету или экзамену. Рекомендуется студентам экономических специальностей.