いろいろ準備中

[php][interface] phpのインターフェース小ネタ

6月 8th, 2008 Posted in php, webサービス

今日インターフェースを実装するにあたり、実装する関数で引数にデフォルト値を設定できないかなーとか思いました。以下のような感じです。

< ?php
interface MyInterface
{
    public function foo($val);
}
 
class ImplementedClass implements MyInterface
{
    public function foo($vals = "default") {
        if(!is_string($val)) {
            $val = (string)$val;
        }
        echo "$valn";
    }
}
 
$i = new ImplementedClass();
$i->foo();

結果

Fatal error: Declaration of ImplementedClass::foo() must be 
compatible with that of MyInterface::foo() in C:tmptest9.
php on line 7

やっぱりだめでした。残念。。。

コメントを投稿する