Смекни!
smekni.com

Разработка класса в PHP (стр. 1 из 3)

Федеральное агентство по образованию РФ

Государственное образовательное учреждение высшего профессионального образования

«Волгоградский государственный университет»

Факультет математики и информационных технологий

Кафедра компьютерных наук и экспериментальной математики

КУРСОВАЯ РАБОТА

СОЗДАНИЕ КЛАССА В PHP

Выполнил:

студент 1 курса

Пшеничный Сергей Васильевич

Научный руководитель

д.ф.-м.н, заведующий кафедры КНЭМ

Клячин Владимир Александрович

Волгоград 2008


Содержание

Введение

Глава 1 – Основные понятия объектно-ориентированного программирования в PHP

1.1 Сравнение структурного и объектно-ориентированного подходов к программированию

1.2 Класс как абстрактный тип

1.3 Конструкторы и деструкторы

1.4 Объекты

Глава 2 – Реализация класса

2.1 Функция l_visited_style (изменение стиля посещенных ссылок)

2.2 Функция l_hover_style (изменение стиля ссылок при наведении)

2.3 Функция l_link_style (изменение стиля не посещенных ссылок)

2.4 Функция add_item (добавляет элемент в массив)

2.5 Функция add_img_item (добавляет ссылку-рисунок в массив)

2.6 Функция gor_nav_create (создает горизонтальное меню навигации из массива)

2.7 Функция vert_nav_create (создает вертикальное меню навигации из массива)

2.8 Функция title_create() (создает заголовок страницы)

2.9 Пример использования

Заключение

Список литературы


Введение

Язык PHP был создан осенью 1994 года, программистом Расмусом Лердорфом. Лердорф собирался написать простой «движок» для своей персональной странички и завершил эту работу к началу 1995 года. Движок был написан на языке Perl и умел делать очень немного, так как создавался только для подсчета количества посетителей странички Расмуса. Этот движок был назван Personal Home Page Tools (PHPT), и единственной его возможностью был подсчет посетителей.

Стоит заметить, что в 1994 году никаких инструментов для создания различных приложений для Web еще не было, да и сам Web только еще начинался. Поэтому те задачи, которые решала программа Расмуса, были актуальны для очень многих пользователей сети, и к нему хлынул поток писем с просьбами предоставить свой инструментарий. К концу 1997 года два программиста Зив Сураски и Энди Гутманс переписали первоначальный лексический анализатор, и к лету 1998 года в полной мере увидела свет третья версия языка – PHP 3. Развитие PHP стремительно продолжалось, в язык сотнями добавлялись новые функции, и в 1999 году число разработчиков, использующих PHP, превысило 1 миллион, что сделало PHP одним из самых популярных языков для разработки Web – приложений. К этому времени к разработке языка подключилось большое количество программистов со всего мира.

На настоящий момент используется пятая версия языка PHP. Данный язык набирает все большую популярность, ведь его возможности практически не ограничены. Однако, еще большей его популяризации мешает тот факт, что далеко не все пользователи решившие создать свой сайт или страничку умеют программировать на достаточно высоком уровне. Именно эту проблему частично мы и попытаемся решить. Целью данной работы является создание класса, облегчающего программисту создание меню навигации.


Глава 1 – Основные понятия объектно-ориентированного программирования в PHP5

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

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

1.1 Сравнение структурного и объектно-ориентированного подходов к программированию

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

Объектно-ориентированный подход моделирует не отдельные процессы, а объекты реального мира и их поведение. Программа может адаптироваться к усложнению реального мира, создавая новые типы объектов. Таким образом, объектно-ориентированный подход позволяет описать задачу в ее терминах, а не терминах компьютера.

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

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

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

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

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

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

1.2 Класс как абстрактный тип

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

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

Объект класса объявляется с помощью ключевого слова new, за которым следует название класса. Как только объект класса объявлен, появляется возможность обращаться к его компонентам с помощью уточненного имени, которое включает имя объекта, следующую за ним стрелку (->) и имя метода и члена класса.

Методы и члены класса могут вызываться не только из внешней программы, но и из самого класса. Для того чтобы обратиться к переменной или методу класса внутри класса, это обращение необходимо предварить конструкцией $this->. Переменная $this, которая неявно присутствует в каждом классе, является ссылкой на текущий объект класса и сообщает интерпретатору PHP, что вы обращаетесь к переменной данного класса, а не создаете новую. Членам класса можно присваивать значения, как обычным переменным программы.

1.3 Конструкторы и деструкторы

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