ホームページ  >  に質問  >  本文

インターフェイスインスタンスを配列に返すPHPメソッド

<p>小さな質問がありますが、インターネット上で答えが見つかりません。php とインターフェイスがどのように機能するかよくわかりません。 </p> <p>問題は、if(!variableinstanceofclass) があることです。ただし、ここでは、チェックされるクラスはインターフェイスであり、配列内にある必要があります。次のコードでわかるように、</p> <pre class="brush:php;toolbar:false;">抽象クラス アクション { 最終的なパブリック関数呼び出し(Bone $bone) { $sites = $this->getSites($bone); foreach ($sites として $site) { if (!$site サイトのインスタンス) { throw new \Exception("無効なエントリ"); } } } } クラス BonesSites { パブリック関数 getSites(string $site): 配列 { if ($site === 'エジプト') { 戻る [ [ 'siteId' => 1、 '名前' => 'カイロ', 「骨」 => 「ティラノサウルスの骨」、 ]、 [ 'siteId' => 2、 '名前' => 'ギザ'、 '骨' => '猛禽類の骨', ]、 [ 'siteId' => 3、 '名前' => 'アレクサンドリア', 「骨」 => 「ブロンキオサウルスの骨」、 ]、 ]; } return ['error' => 'サイトが見つかりません!']; } } インターフェースボーン { パブリック関数 getName(): 文字列; } インターフェースサイト { }</pre> <p>インターフェイスを配列で返す方法はありますか? </p>
P粉488464731P粉488464731436日前560

全員に返信(1)返信します

  • P粉447495069

    P粉4474950692023-09-02 12:10:35

    Site という追加のクラスを作成し、オブジェクトの配列を返す必要があります。

    リーリー

    次に、サイト配列を返します:

    リーリー

    返事
    0
  • キャンセル返事