ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.05.2024

Просмотров: 59

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

// якщо дані цієї форми відправлені, то викликаємо функцію показу

}

//т же саме, якщо була обрана особистість

if (isset($_GET["pers_create"])){

$art = new Person;

$art_vars = get_class_vars(get_class($art));

Make_form($art,$art_vars,"pers_create");

if (isset($_GET["create_real"])){ Show_($art_vars); }

}

// функція створення форми

function Make_form($art,$art_vars,$glob){

$str = "<form>"; // html код форми записується у рядок $str

//перебираємо список змінних класу об’єкта $art

foreach ($art_vars as $var_name => $var_value){

$str .="$var_name<input type=text name=$var_name><br>";

//створюємо елемент форми з ім’ям властивості класу

}

$str .= "<input type=hidden name=$glob>"; // щоб не забути, що ми створюємо

$str .= "<input type=submit name=create_real

value=‘Create and Show’></form>";

echo "$str"; // виводимо форму

}

// функція показу об’єкта

function Show_($art_vars){

global $art; //використається глобальне ім’я об’єкта

$k = count($art_vars); //число властивостей класу (змінних у формі)

$p=0; //допоміжна змінна

foreach ($art_vars as $name => $value){

$p++;

if ($_GET["$name"]=="") $val= $art->$name;

else $val = $_GET["$name"];

if ($p<>$k) $par .=‘"‘. $val.’",’;

else $par .=‘"‘. $val.’"‘;

}

$const=get_class($art);

$par = ‘$art->‘.$const ."(" .$par.");";

/* тепер $par являє собою php-код для виклику методу класу $art, споконвічно записаного в $par. наприклад, $art->Person(‘Vasia’,’Petrov’,’vas@intuit.ru’); */

eval($par); // функція eval виконує код, утримується в $par

$art->show();

}

?>

Листинг 6.6. Використання об’єктно-орієнтованого підходу

Висновок

Отже, ми вивчили основні поняття об’єктної моделі, використовуваної в мові PHP. Були описані правила створення класів й їхніх представників-об’єктів, способи завдання початкових значень змінним класу, способи одержання значень властивостей і виклик методів класів.

Контрольні питання

  1. Дайте визначення об’єкту.

  2. Дайте визначення класу.

  3. Що входить в опис класу?

  4. Для чого використовується ключове слово this?

  5. Які існують обмеження на імена класів?

  6. Яким чином ініціалізуються змінні класу?

  7. Як створюється об’єкт класу?

  8. Що таке успадкування? Яким чином відбувається успадкування в мові РНР?

  9. Що таке механізм розширення? В чому сенс його використання?

  10. Що таке оператор "::"? В чому сенс його використання?

  11. Що таке оператор "parent"? В чому сенс його використання?


10