Лабораторная работа 3. Разработка скриптов для генерации страниц
Скачать 248.71 Kb.
|
John";} }
$object = new Coor; ?> Доступ к класам и объектам в PHP Мы рассмотрели, каким образом описываются классы и создаются объекты. Теперь нам необходимо получить доступ к членам класса, для этого в PHP предназначен оператор ->. Приведем пример:
class Coor {
var $name;
function Getname() { echo " John";} }
$object = new Coor;
$object->name = "Alex"; echo $object->name; // Выводит 'Alex' А теперь получим доступ к методу класса (фактически, к функции внутри класса): $object->Getname();
?> Чтобы получить доступ к членам класса внутри класса, необходимо использовать указатель $this, которы всегда относится к текущему объекту. Модифицированный метод Getname(): function Getname() { echo $this->name; } Таким же образом, можно написать метод Setname(): function Setname($name) { $ this->name = $name; } Теперь для изменения имени можно использовать метод Setname(): $object->Setname("Peter"); $object->Getname(); А вот и полный листинг кода:
class Coor {
var $name;
function Getname() { echo $this->name; } function Setname($name) { $this->name = $name; } } // Создаем объект класса Coor: $object = new Coor;
$object->Setname("Nick");
$object->Getname();
?> Указатель $this можно также использовать для доступа к методам, а не только для доступа к данным: function Setname($name) { $this->name = $name; $ this->Getname(); } Инициализация объектов Иногда возникает необходимость выполнить инициализацию объекта - присвоить его свойствам первоначальные значения. Предположим, имя класса Coor и он содержит два свойства:имя человека и город его проживания. Можно написать метод (функцию), который будет выполнять инициализацию объекта, например Init():
class Coor {
var $name; var $city;
function Init($name) { $this->name = $name; $this->city = "London"; } }
$object = new Coor;
$object->Init(); ?> Главное не забыть вызвать функцию сразу после создания объекта, либо вызвать какой-нибудь метод между созданием (оператор new) объекта и его инициализацией (вызовом Init). Для того, чтобы PHP знал, что определенный метод нужно вызывать автоматически при создании объекта, ему нужно дать имя такое же, как и у класса (Coor): function Coor ($name) $this->name = $name; $ this->city = "London"; } Метод, инициализирующий объект, называется конструктором. Однако, PHP не имеет деструкторов, поскольку ресурсы освобождаюся автоматически при завершении работы скриптов. Преобразование в объект Если объект преобразуется в объект, он не изменяется. Если же в объект преобразуется значение любого иного типа, создается новый экземпляр встроенного класса stdClass. Если значение было пустым, новый экземпляр также будет пустым. При любом другом значении оно будет содержатся в переменной-члене scalar: $obj = (object) 'ciao'; echo $obj->scalar; // выведет 'ciao' ?> Специальный тип Null (пустой тип) Специальное значение NULL говорит о том, что эта переменная не имеет значения. NULL - это единственно возможное значение типа NULL. Переменная считается NULL если • ей была присвоена константа NULL.
Синтаксис специального типа NULL Существует только одно значение типа NULL - регистро-независимое ключевое слово NULL. $var = NULL; ?> Контрольные вопросы: 1. Что такое PHP? 2. Опишите основные этапы развития языка PHP. 3. Каких двух видов бывают комментарии в языке PHP? 4. С какого знака должны начинаться имена переменных? 5. Чувствительны ли имена переменных к регистру букв? 6. Что такое локальная переменная? 7. Как использовать глобальную переменную внутри функции? 8. В чём особенность статических переменных? 9. Какие типы данных есть в языке PHP? 10. Назовите основные управляющие конструкции языка PHP. 11. Что такое подпрограмма? Какие виды подпрограмм есть в PHP? 12. Поддерживает ли PHP объектно-ориентированное программирование? 13. Какие значения может иметь переменная типа Boolean? 14. Какого диапазона могут быть переменные типа Integer? Что произойдёт, если указанное число превысит допустимый диапазон? 15. Какими способами можно объявить строку? 16. Чем отличается сложный (фигурный) синтаксис от простого? 17. Как можно модифицировать символы в строках? 18. Назовите пару функций для работы со строками, блоками текста и отдельными символами. 19. Что такое хэш-функции? 20. Что такое массивы? Что такое списки? 21. Что такое ассоциативный массив? 22. Назовите пару функций для работы с массивами. 23. Назовите 2-3 операции с ключами и значениями массива. 24. Перечислите и поясните операторы, работающие с массивами. 25. Что такое объект? 26. Как осуществляется доступ к классам и объектам в PHP? 27. Что такое специальное значение NULL? Содержание отчёта: 1. Титульный лист. 2. Код написанных серверных скриптов php. 3. Скриншоты результата. 4. Ответы на контрольные вопросы (необязательно). 5. Вывод. Оглавление Цель………………………………………………………………………………………стр.1 Задачи…………………………………………………………………………………….стр.1 Теоретические сведения………………………………………………………………...стр.1 Контрольные вопросы…………………………………………………………………стр.71 Содержание отчёта…………………………………………………………………….стр.72 |