Kaedah PHP yang mengembalikan contoh antara muka ke dalam tatasusunan
P粉488464731
2023-09-01 13:40:43
<p>Saya mempunyai soalan kecil yang saya tidak dapat mencari jawapannya di Internet dan saya tidak pasti bagaimana php dan antara muka berfungsi. </p>
<p>Jadi masalahnya ialah saya mempunyai kelas if(!variable instanceof). Tetapi di sini, kelas yang disemak ialah antara muka dan harus berada dalam tatasusunan, anda boleh lihat dalam kod berikut</p>
<pre class="brush:php;toolbar:false;">abstract class Action
{
panggilan fungsi awam akhir(Bone $bone)
{
$sites = $this->getSites($bone);
foreach ($tapak sebagai $tapak) {
jika (!$site instanceof Site) {
buang Pengecualian baharu("Entri tidak sah");
}
}
}
}
kelas BonesSite
{
fungsi awam getSites(rentetan $site): array
{
jika ($tapak === 'Mesir') {
kembali [
[
'siteId' =>
'name' => 'Kaherah',
'tulang' => 'T-Rex tulang',
],
[
'siteId' =>
'name' => 'Giza',
'bone' => 'Tulang raptor',
],
[
'siteId' =>
'name' => 'Alexandria',
'tulang' => 'Tulang Bronchiosaurus',
],
];
}
kembalikan ['error' => 'Tapak tidak ditemui!'];
}
}
antara muka Tulang
{
fungsi awam getName(): rentetan;
}
tapak antara muka
{
}</pre>
<p>Adakah terdapat cara untuk mengembalikan antara muka dalam tatasusunan? </p>
Anda perlu mencipta kelas tambahan yang dipanggil Tapak dan mengembalikan pelbagai objek.
Kemudian kembalikan tatasusunan tapak: