АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
341 of 410 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Ключевое слово interface

Ключевое слово interface используется для создания интерфейсов - специальных конструкций, которые определяют какие методы должен реализовать класс. Интерфейсы содержат только объявления методов без их реализации. Класс, реализующий интерфейс, должен содержать все методы, объявленные в интерфейсе.

Синтаксис

interface InterfaceName { public function method1(); public function method2($param); // ... }

Пример

Создадим простой интерфейс и класс, который его реализует:

<?php interface Logger { public function log($message); } class FileLogger implements Logger { public function log($message) { echo "Logging to file: " . $message; } } $logger = new FileLogger(); $logger->log("Test message"); ?>

Результат выполнения кода:

'Logging to file: Test message'

Пример

Интерфейс может содержать несколько методов, и класс должен реализовать их все:

<?php interface Shape { public function calculateArea(); public function calculatePerimeter(); } class Circle implements Shape { private $radius; public function __construct($radius) { $this->radius = $radius; } public function calculateArea() { return 3.14 * $this->radius * $this->radius; } public function calculatePerimeter() { return 2 * 3.14 * $this->radius; } } $circle = new Circle(5); echo "Area: " . $circle->calculateArea(); ?>

Результат выполнения кода:

'Area: 78.5'

Смотрите также

  • команду class,
    для объявления классов
  • команду trait,
    для объявления трейтов
byenru