Jump to content

Manual:ContextSource.php

From mediawiki.org
This page is a translated version of the page Manual:ContextSource.php and the translation is 58% complete.

ContextSource is an abstract class that holds request-dependent objects containers.

It implements IContextSource.

Public methods

  • getContext()
  • setContext()
  • etc.

以下によって拡張される

注記

From a ContextSource class you can use setContext() to set the context your class is in. For example a constructor that requires a context can be written like so:

class SomeClass extends ContextSource {
  public function __constructor( IContextSource $context ) {
    $this->setContext( $context );
  }
}

まだ trait[1] を使用できないため、クラスを別のクラスから継承させる必要がある場合は、implements IContextSource してヘルパーのボイラープレートをクラスに直接実装する必要があります。

繰り返しになりますが、ContextSource を継承できない場合は、ヘルパーのボイラープレートをクラスに直接記述する必要があります。 残念ながら、以下のようなことを可能にするために trait[1] を使用することはできないため:

class SomeClass extends SomeOtherClass implements IContextSource {
  use TContextSource;
  public function __constructor( IContextSource $context ) {
    $this->setContext( $context );
  }
}
  1. 1.0 1.1 trait は PHP 5.4 で導入され、複数のクラスで使用できるアクセス修飾子 (public、private、protected) 付きのメソッド (abstract も含む) を宣言できるようにすることで、PHP の単一継承の制限を軽減できます。