- •Распределенные базы данных.
- •Назначение, основные характеристики и компоненты клиент/серверных систем.
- •Преимущества клиент/серверных систем
- •Возможности ms sql .
- •Характеристики языка Transact-sql
- •Переменные,типы переменных в Transact-sql.
- •Типы переменных
- •Команда if…else Пример программы.
- •Команды delet, insert, update. Примеры программы. Синтаксис оператора insert
- •Синтаксис
- •Понятие хранимой процедуры. Пример программ.
- •Понятие транзакции. Пример программы.
- •Понятие триггера. Пример программ.
- •Объектно-ориентированное программирование в рнр-5.
- •Реализация наследования в php5.
- •Создание классов, атрибутов и операций в php-5.
- •Константы в классах
- •Статические атрибуты и методы
- •Создание экземпляра класса в рнр5.
- •Конструкторы и деструкторы в php-5. Вызов операций класса.
- •Классы в php-5 для работы с базами данных и их методы.Ответ в вопросе 14 и в 18.
- •Связь php с базой данных MySql
Константы в классах
В PHP5 в качестве атрибутов классов можно объявлять константы. Они всегда доступны как public, и к ним невозможно применить модификаторы public, protected или private. Обращаться к константам можно только через имя класса. Обращения через $this или другой указатель на объект класса не поддерживаются. В качестве константы может быть объявлено только значение примитивного типа, т.е. строка или число. Константы, как и другие атрибуты классов, наследуются и могут быть переопределены в классах-потомках.
Код: <? class MyClass { const Property = 5; } echo "Constant member: " . MyClass::Property; ?>
Вывод: Constant member: 5
Статические атрибуты и методы
В PHP5 переменные и методы могут быть объявлены как статические. Статические методы можно вызывать без создания объекта этого класса. Для обращения к статической переменной класса так же нет необходимости создавать объект этого класса.
Код: <? class MyClass { static function Display() { echo "Static function of class<br>\n"; } } MyClass::Display(); ?>
Вывод: Static function of class
Код: <? class MyClass { static public $Property = 5; } echo "Static member: " . MyClass::$Property; ?>
Вывод: Static member: 5
Создание экземпляра класса в рнр5.
Напишем класс:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php // описываем класс с именем Example // и двумя свойствами (обычными переменными) class Example { public $var1; public $var2; } // создаем экземпляр класса $ex1 = new Example(); // устанавливаем значения свойствам $ex1->var1 = 'hello there '; $ex1->var2 = 'how are you?'; // выводим свойства echo $ex1->var1; echo $ex1->var2; // создаем еще один экземпляр класса // просто чтобы показать что это возможно $ex2 = new Example(); // у $ex2 теперь тоже есть свойство var1 // к которому можно обратиться: $ex2->var1 = 'значение'; ?> |
Что мы только что сделали?
Мы создали класс с именем Example и двумя свойствами (обычными переменными): $var1 и $var2
$ex = new Example(); -Эта строка, создает экземпляр класса. Переменная $ex, теперь является экземпляром класса Example и она содержит 2 свойства. Это очень простой класс, экземпляр которого, в данном случае, представляет из себя всего лишь коробочку для 2 переменных: $var1 и $var2
Далее мы воспользовались этими переменными. Мы записали в них значения и считали их.Когда мы создаем экземпляр класса, то получается, что он имеет все переменные, которые описаны в классе. Мы можем создать сразу несколько экземпляров класса:
1 2 3 |
$ex1 = new Example(); $ex2 = new Example(); $ex3 = new Example(); |
В результате, мы имеем 3 переменные ($ex1, $ex2, $ex3) с экземплярами нашего класса. И каждая имеет по 2 свойства, к которым мы можем обратиться, что нибудь туда записать или считать.
Конструктор - __construct и деструктор __destruct запускаются неявно при создании и уничтожении экземпляров классов.
Создается экземпляр класса так:
Ex1 = new Example(); //выполняется __construct()
уничтожить экземпляр класса можно обычным способом:
unset(Ex1); // выполняется __destruct()
Специальное ключевое слово instanceof в PHP 5 позволяет определять является ли объект экземпляром определенного класса, или же экземпляром класса производного от какого-либо класса.
<?php class MyClass { } $obj1 = new MyClass(); if ($obj1 instanceof MyClass) { echo "\$obj1 - объект класса MyClass"; } class MyClass1 extends MyClass { } $obj2 = new MyClass1(); if ($obj2 instanceof MyClass) { echo "\$obj2 - объект класса, производного от MyClass"; } interface Int { } class MyClass2 implements Int { } $obj3 = new MyClass2(); if ($obj3 instanceof Int) { echo "\$obj3 - объект класса, созданного на основе интерфейса Int"; } ?>
Также с помощью instanceof можно определить является ли объект экземпляром класса, созданного на основе определенного интерфейса.