Manual:ContextSource.php/pt

Category:MediaWiki code/pt#ContextSource.php

ContextSource é uma classe abstrata que contém containers de objetos dependentes do pedido.

Este implementa IContextSource.

Métodos públicos

  • getContext()
  • setContext()
  • etc.

Estendido por

Notas

A partir de uma classe "ContextSource", pode utilizar setContext() para definir o contexto em que a sua classe está. Por exemplo, um construtor que requer um contexto pode ser escrito assim:

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

Porque nós não podemos utilizar traits[1] Ainda que precise de fazer a sua classe estender-se de outra classe, terá que implements IContextSource e implementar o boilerplate auxiliar diretamente na classe.

Novamente, se não puder estender o "ContextSource", terá de escrever o boilerplate auxiliar na sua classe diretamente. Como nós infelizmente não podemos utilizar "traits[1]" para permitir algo assim:

class SomeClass extends SomeOtherClass implements IContextSource {
  use TContextSource;
  public function __constructor( IContextSource $context ) {
    $this->setContext( $context );
  }
}
  1. 1 2 Traits que apareceram com PHP 5.4 e permitem reduzir as limitações da herança única do PHP, permitindo que você declare os métodos (abstratos também) com o seu modificador de acesso (público, privado, protegido) que pode utilizar nas várias classes.
Category:MediaWiki code/pt