函数参数中的PHP接口类

时间:2016-05-21 07:11:53

标签: php function class interface listener

我想使用像Java接口这样的PHP接口。 我是如何在PHP中完成这项工作的?

Android(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 个答案:

答案 0 :(得分:2)

看来PHP7对此有所支持。 http://php.net/manual/en/language.oop5.anonymous.php

<header>

  <div role="navigation" aria-labelledby="utility-nav" class="utility-nav">
    <h2 class="visuallyhidden" id="utility-nav">Account and store pages</h2>
      <div class="align-right">
        <a href="#">my account</a>
        <a href="#">find a store</a>
        <a href="#">credit center</a>
        <a href="#">track order</a>
        <a href="#">wishlist</a>
      </div>
  </div>  <!-- utility bar -->

  <div id="logo-search">

   <!-- logo -->
   <!-- search -->
   <!-- mini cart/shopping bag -->

  </div> <!-- logo, search, shopping bag container -->     

  <nav id="top-nav">
    <a href="#">Women</a>
    <a href="#">Men</a>
    <a href="#">Juniors</a>
    <a href="#">Baby</a>
    <!-- etc -->              
  </nav>  <!-- top nav -->

</header> <!-- header -->

使用PHP5,您可以做的最好的事情就是使用闭包来模仿行为:http://www.clock.co.uk/blog/mimicking-anonymous-classes-in-php-using-closures