Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP_Барчук_довідник.doc
Скачиваний:
3
Добавлен:
31.08.2019
Размер:
1.14 Mб
Скачать

8.2 Конструктори

Конструктор має будь який клас, по замовченню він пустий. При створені об’єкта ми звертаємося до конструктора класу.

Конструктор створюється аналогічно до функції тільки є деякі критерії. Конструктор обов’язково повинен знаходитися в середині класу і ім’я конструктора повинно співпадати з ім’ям класу.

Приклад:

class NewClassName{

private $name;

private $surename;

//Конструктор

NewClassName($name, $surename){

$this->surename = $surename;

$this->name = $name;

}

function getName(){

return $name." ".$surename;

}

}

$myObject = NewClassName("Bill", "Vinson");

echo $myObject -> getName(); //отримаємо 'Bill Vinson';

8.3 Знищення об’єкту

Візьмемо для прикладу попередній клас NewClassName видалимо створений нами об’єкт $myObject.

Приклад:

unset($myObject);

Знищення об’єкту приводить до того що ресурси пов’язані з цим об’єктом також знищуються.

8.4 Наслідування

Для чого взагалі потрібне наслідування?

Якщо програмістові потрібно створити об’єкт який буде виконувати певні дії, наприклад виводити на екран ім’я, прізвище та вік людини, але якщо уже існує об’єкт який задає ім’я, прізвище та вік людини, тоді програміст може використати наслідування, і таким чином створить новій об’єкт але с іншими можливостями.

Розглянемо на прикладі:

class YourFirstName{

private $age;

private $firstName;

private $lastName;

function setName($firstname, $age, $lastName){

$this->age = $age;

$this->firstName = $firstName;

$this->lastName = $lastName;

}

//Створюємо методи за допомогою яких будемо отримувати доступ до

//приватних змінних

function getAge(){return $this->age;}

function getFirstName(){return $this->firstName;}

function getLastName(){return $this->lastName;}

}

//Наслідуємо клас YourFirstName для класа YourName

class YourName extends YourFirstName {

function getName(){

echo "ім'я: ".$this->getFirstName().

"<br>Прізвище: ".$this->getLastName().

"<br>вік: ".$this->getAge();

}

}

$object = new YourName();

$object->setName('Alex',19,'Barchuk'); //метод з класу YourFirstName

$object->getName(); //метод з класу YourName

Як бачимо з цього прикладу для того щоб унаслідувати клас треба використати ключове слово extends для того щоб указати який клас повинен наслідувати поточний клас.

9. Обробка web-форм за допомогою php

9.1 Отримання даних за допомогою методу post

Мова PHP була створена для того щоб з статичних web-сторінок зробити динамічні. Основна можливість мови це передача даних із однієї сторінки на іншу. Ця можливість дозволяє передавати дані в файл який буде обробляти дані і передавати їх в інший файл або в БД.

Існує два основних методи передачі даних GET i POST. Чим же відрізняються ці два методи ми переглянемо далі, але для початку я хотів сказати що ці два методи передають дані на іншу сторінку у вигляді суперглобального масиву.

Розглянемо на прикладі метод POST:

//створимо форму в яку користувач буде вводити дані

<form action="proc.php" method="POST">

<input type="text" name="youfirstname">

<input type="text" name="youlastname">

<input type="submit" name="submit">

</form>

де action – файл в який будуть передані дані,

method – тип за допомогою якого будуть передані дані,

name – буде слугувати індексом суперглобального масиву POST за допомогою якого можливо отримати передане із форми значення.

Розглянемо файл proc.php

<?

//Якщо користувач звернувся до ціго файлу не через форму тоді

//глобальний масив POST не буде містити жодного елементу.

//Створимо перевірку чи була натиснута кнопка на формі.

if(!isset($_POST['submit'])){exit("Ви не вірно звернулись до цього файлу");}

//Виводимо отримані дані на екран

echo "Ім'я: ".$_POST['youfirstname']."<br>Прізвище: ".$_POST['youlastname'];

?>

Тобто дані з форми передаються у вигляді масиву і для того щоб отримати ці дані ми повинні звернутися до певного елементу масиву за його індексом, де індексом є атрибут name.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]