Autor Zpráva
CarlosK
Profil *
Zdravím, mám rozhraní, které vypadá takto:

<?php
interface ITest
{
    public function save($row);
}

Občas v nějaké třídě, která implementuje rozhraní "Test" potřebuji využít typehint nějaké třídy.

<?php
class Trida implements ITest
{
    public function save(Db_Row $row)
    {
        //...
    }
}

Vyskočí mi ale chybová hláška: Declaration of Trida::save() must be compatible with ITest::save($row). Je vůbec možné používat něco takového? Díky
Tori
Profil
CarlosK:
V různých implementacích toho rozhraní se asi metodě save předávají různé třídy, že? Mohly by tyto třídy taky implementovat společné rozhraní (např. IStorage)? To by se pak použilo jako typehint v ITest i jeho implementacích.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: