Главная страница
Навигация по странице:

  • Доступ к класам и объектам в PHP

  • $this

  • Инициализация объектов

  • Преобразование в объект

  • Специальный тип

  • Контрольные вопросы

  • Содержание отчёта

  • Лабораторная работа 3. Разработка скриптов для генерации страниц


    Скачать 248.71 Kb.
    НазваниеЛабораторная работа 3. Разработка скриптов для генерации страниц
    Дата25.02.2019
    Размер248.71 Kb.
    Формат файлаdocx
    Имя файлаLab_03.docx
    ТипЛабораторная работа
    #68820
    страница7 из 7
    1   2   3   4   5   6   7

    John

    ";

    }


    }


    • Создаем объект класса Coor:

    $object = new Coor;

    ?>

    Доступ к класам и объектам в PHP

    Мы рассмотрели, каким образом описываются классы и создаются объекты. Теперь нам необходимо получить доступ к членам класса, для этого в PHP предназначен оператор ->. Приведем пример:


    • Создаем новый класс Coor:

    class Coor {

    • данные (свойства):

    var $name;


    • методы:

    function Getname() {

    echo "

    John

    ";

    }

    }


    • Создаем объект класса Coor:

    $object = new Coor;

    • Получаем доступ к членам класса:

    $object->name = "Alex";

    echo $object->name;

    // Выводит 'Alex' А теперь получим доступ к методу класса (фактически, к функции внутри класса):

    $object->Getname();

    • Выводит 'John' заглавными буквами

    ?>

    Чтобы получить доступ к членам класса внутри класса, необходимо использовать указатель $this, которы всегда относится к текущему объекту. Модифицированный метод Getname():

    function Getname() {


    echo $this->name;

    }

    Таким же образом, можно написать метод Setname():

    function Setname($name) {


    $ this->name = $name;

    }

    Теперь для изменения имени можно использовать метод Setname():

    $object->Setname("Peter"); 


    $object->Getname();

    А вот и полный листинг кода:


    • Создаем новый класс Coor:

    class Coor {

    • данные (свойства):

    var $name;


    • методы:

    function Getname() {

    echo $this->name;

    }


    function Setname($name) {

    $this->name = $name;

    }


    }


    // Создаем объект класса Coor:

    $object = new Coor;

    • Теперь для изменения имени используем метод Setname():

    $object->Setname("Nick");

    • А для доступа, как и прежде, Getname():

    $object->Getname();

    • Сценарий выводит 'Nick'

    ?>

    Указатель $this можно также использовать для доступа к методам, а не только для доступа к данным:

    function Setname($name) {


    $this->name = $name;

    $ this->Getname();

    }

    Инициализация объектов

    Иногда возникает необходимость выполнить инициализацию объекта - присвоить его свойствам первоначальные значения. Предположим, имя класса Coor и он содержит два свойства:имя человека и город его проживания. Можно написать метод (функцию), который будет выполнять инициализацию объекта, например Init():


    • Создаем новый класс Coor:

    class Coor {

    • данные (свойства):

    var $name;

    var $city;


    • Инициализирующий метод:

    function Init($name) {

    $this->name = $name;

    $this->city = "London";

    }


    }


    • Создаем объект класса Coor:

    $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.

    • ей еще не было присвоено какое-либо значение.



    • она была удалена с помощью unset().

    Синтаксис специального типа 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

    1   2   3   4   5   6   7


    написать администратору сайта