Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

<?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;

// методы:
function Getname() {
echo "<h3>John</h3>";
}

}

// Создаем объект класса 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();

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

<?php
// Создаем новый класс 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();
}





Дата публикования: 2015-07-22; Прочитано: 280 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...