2016-05-21 2 views
1

JavaインターフェイスのようなPHPインターフェイスを使用します。 PHPでこの作業をどのように行うのですか?関数の引数のPHPインターフェイスクラス

アンドロイド(Javaの):

btnDownload.setOnClickListener(new OnClickListener() {   
    @Override 
    public void onClick(View v) { 
     //--------------------------------- 
    } 
}); 

私はPHPにしたい:

$installer->setOnInstallerListener(new IInstaller(){ 
    function onError() 
    { 
     echo 'OK'; 
    } 
}); 

IInstallerはインターフェイスです:

interface IInstaller 
{ 
    public function onError(); 
} 

答えて

1

PHP7は、このためのサポートを持っているようです。 PHP5でhttp://php.net/manual/en/language.oop5.anonymous.php

new class(10) extends SomeClass implements SomeInterface { 
    private $num; 

    public function __construct($num) 
    { 
     $this->num = $num; 
    } 

    use SomeTrait; 
} 

あなたができる最善のは、クロージャを使用して動作を模倣です:http://www.clock.co.uk/blog/mimicking-anonymous-classes-in-php-using-closures

+0

それはOKです。ありがとう。 – ABP

+0

「新しいクラス(10)」では10という意味ですか? – ABP

+0

10はコンストラクタ値です。だから、空のコンストラクタがあれば、それを残すことができます –