Jump to content

Příručka:ContextSource.php

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

ContextSource je abstraktní třída, která obsahuje kontejnery objektů závislých na požadavcích.

Implementuje IContextSource.

Veřejné metody

  • getContext()
  • setContext()
  • etc.

Rozšířeno o

Poznámky

Z třídy ContextSource můžete použít setContext() k nastavení kontextu, ve kterém se vaše třída nachází. Například konstruktor, který vyžaduje kontext, lze zapsat takto:

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

Protože zatím nemůžeme použít traits[1], pokud potřebujete, aby vaše třída rozšiřovala jinou třídu, budete muset implements IContextSource a implementovat pomocný standard přímo ve třídě.

Pokud opět nemůžete rozšířit ContextSource, budete muset pomocný standard zapsat přímo do své třídy. Protože bohužel nemůžeme použít traits[1] k povolení něčeho takového:

class SomeClass extends SomeOtherClass implements IContextSource {
  use TContextSource;
  public function __constructor( IContextSource $context ) {
    $this->setContext( $context );
  }
}
  1. 1.0 1.1 V PHP 5.4 se objevily vlastnosti (traits), které umožňují omezit omezení jednoduché dědičnosti v PHP tím, že umožňují deklarovat metody (i abstraktní) s jejich modifikátory přístupu (public, private, protected), které lze použít v několika třídách.