Manual:ContextSource.php
Appearance
| Ficheiro do MediaWiki: ContextSource.php | |
|---|---|
| Localização: | includes/context/ (includes/Context/ na versão 1.46 ou superior) |
| Código fonte: | master • 1.44.2 • 1.43.5 • 1.39.15 |
| Classes: | MediaWiki\Context\ContextSource |
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 );
}
}