【PHP】关于接口

我在我目前参与的一个项目中看到了编写接口的场景,所以我做了一个备忘录。

<?php
  interface インターフェース名
  {
      public function findById(int $id): userEntity;
      public function findByIds(array $ids): array;
  }
  class UserController implements インターフェース名
  {
      public function findById(int $id): userEntity
      {
          // 取得処理
      }
      public function findByIds(array $ids): array
      {
          // 取得処理
      }
  }

在接口中只能编写”公有函数”。
无法编写受保护或私有成员。
这只是一个”声明”,说明这个函数存在而已。

在课堂上采用接口时,我们使用implements关键字。
虽然我有点理解,但由于代码量的增加,不太清楚有什么好处呢?

interfaceに記述されている関数が、interfaceを採用しているクラスで利用されていないとエラー表示してくれる
--> 関数の記述漏れを防ぐメリットがある。

インターフェイス内の関数が用意されていることが保証されている。そのため、クラスの関数をあらかじめ把握しやすくなる。
--> インターフェイスはある特定の関数群の概要を記述したものなので、クラスの仕様書みたいな使い方もできる。

有关使用与此相关的接口进行依赖注入的问题,我会在有时间时整理一下。

bannerAds