PHP中的依赖倒置原则

由于PHP是一种松散类型的语言,如何在PHP中应用DIP原则? 一个实际的例子将不胜感激。     
已邀请:
PHP 5引入了“类型提示”,它使函数和方法能够声明“类型化”参数(对象)。对于大多数情况,端口示例应该不是一项大任务,例如从Java到PHP 5。 一个非常简单的例子:
interface MyClient
{
  public function doSomething();
  public function doSomethingElse();
}

class MyHighLevelObject
{
  private $client;

  public __construct(MyClient $client)
  {
    $this->client = $client;
  }

  public function getStuffDone()
  {
    if ( any_self_state_check_or_whatever )
      $client->doSomething();
    else
      $client->doSomethingElse();
  }

  // ...
}

class MyDIP implements MyClient
{
  public function doSomething()
  {
    // ...
  }

  public function doSomethingElse()
  {
    // ...
  }
}
    
DIP是一个指导原则: A.高级模块不应该依赖于低级模块。两者都应该依赖于抽象。 B.抽象不应该依赖于细节。细节应取决于抽象。 无论天气“模块”实际上是类,函数,模块(php本身不存在),特征还是其他任何东西,它都是相关的。 所以是的你可以在PHP中使用DIP。事实上,您可以在PHP中使用它而无需编写类!您可以像在DIP下的类一样管理函数之间的依赖关系。     

要回复问题请先登录注册