Это называется PHP OOP.
Возможно кто-то уже слышал об этом. Использование объектно-ориентированного программирования в PHP стало возможным начиная с 5 версии PHP. Вообще самому этому методу уже не одно десятилетие. Но чаще он применяется для создания десктопных приложений, и много реже используется в интернет программировании. И напрасно.
Что такое PHP OOP, давайте углубимся.
Преимущества PHP OOP.
- Код исполняется быстрее.
- Улучшается структура программы, она лучше воспринимается.
- Удаляются множественные повторы фрагментов кода. Что в конечном итоге уменьшает размер программы.
- Экономия времени(и места).
Вам надо разделить все «сущее» всего на два типа: классы и объекты.
Классы это множество объектов с сходными свойствами(например все красные. Или все жидкие).
Как это записать? Описать?
Простой пример синтаксиса кода:
<?php
class Fruit {
// здесь код...
}
?>
Далее. Объявим класс и переменные для объектов:
<?php
class Fruit {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
?>
Этот код вам выведет «ничего». Здесь просто декларация. Рабочий код выглядит так:
<!DOCTYPE html>
<html>
<body>
<?php
class Fruit {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');
echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>
</body>
</html>
Этот код все же еще не умеет различать свойства объектов. Добавим «цвет» :)) :
<!DOCTYPE html>
<html>
<body>
<?php
class Fruit {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_color($color) {
$this->color = $color;
}
function get_color() {
return $this->color;
}
}
$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>
</body>
</html>
Это уже интереснее. Можно разработать более сложные примеры при необходимости.
Далее. Некоторые дополнительные возможности.
$this – ключевое слово.
$this отсылает к текущему объекту. Может использоваться только внутри методов. Что такое методы? Мы уже применяли их выше:
set_name() and get_name()
Это они.
Пример:
<?php
class Fruit {
public $name;
}
$apple = new Fruit();
?>
Как изменить свойства переменной $name? Можно сделать это внутри класса:
<?php
class Fruit {
public $name;
function set_name($name) {
$this->name = $name;
}
}
$apple = new Fruit();
$apple->set_name("Apple");
?>
Или напрямую:
<?php
class Fruit {
public $name;
}
$apple = new Fruit();
$apple->name = "Apple";
?>
Ну и напоследок, как узнать какому классу принадлежит объект? Иногда может пригодиться:
<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>
Здесь появляется оператор instanceof.
Заключение.
Эта тема продвинутая. Чтобы вникнуть, надо практиковаться где-то и на чем-то... Чтобы вас не грузить, я не пишу много примеров... Все это можно найти если порыться. Я вам просто сказал что это есть :))
Спасибо за внимание. Загляните на мой блог. Там много всего разного интересного. Я не пишу там хлам, потому обновляется не каждый день... Вот вам ссылка. Я вам буду благодарен, если просто перейдете. Блог надо продвигать :))
Удачного дня! Я сюда часто не пишу. У меня нет цели забрать у Яши денег :)) У меня цель забрать денег со своего блога :)). Потому жду вас там :))