Перейти к основному содержимому

5.07. ООП

Разработчику Архитектору

ООП

ООП

Класс и объект:

class User {
public $name;

public function __construct($name) {
$this->name = $name;
}

public function sayHello() {
return "Привет, " . $this->name;
}
}

$user = new User("Петр");
echo $user->sayHello();

Наследование:

class Admin extends User {
public function role() {
return "Администратор";
}
}

Интерфейсы:

interface Logger {
public function log(string $message);
}

class FileLogger implements Logger {
public function log(string $message) {
file_put_contents('log.txt', $message . PHP_EOL, FILE_APPEND);
}
}

Трейты:

trait Loggable {
public function log($msg) {
echo "[LOG] $msg";
}
}

class Service {
use Loggable;
}