Manual:Globals are evil/pt-br

From MediaWiki.org
Jump to navigation Jump to search

O código do MediaWiki original é invocado por variáveis globais para o processamento de contexto com muita frequência. O desenvolvimento do MediaWiki, desde então, tem sido um histórico de lentas movimentações de contexto de variáveis ​​globais para dentro de objetos. Armazenar contexto de processamento na versão variáveis membro de objetos permite que os objetos sejam reutilizados de uma forma muito mais flexível. Considere a elegância de:

# Gerar o artigo HTML como se visto por um pedido web
$article = new Article( Title::newFromText( $t ) );
$article->view();

ao contrário de

# Salvar variáveis globais atuais
$oldTitle = $wgTitle;
$oldArticle = $wgArticle;

# Gere o código HTML
$wgTitle = Title::newFromText( $t );
$wgArticle = new Article;
$wgArticle->view();

# Restaurar variáveis globais
$wgTitle = $oldTitle
$wgArticle = $oldArticle

Alguns dos atuais desenvolvedores do MediaWiki têm uma fantasia ociosa de que, algum dia, variáveis globais serão eliminadas do MediaWiki inteiramente, substituídas por um objeto do aplicativo, que seria passado para construtores. Se isso seria uma forma eficiente e uma conveniente solução, ainda não se sabe, mas certamente o PHP 5 torna esses modelos de programação orientada a objeto mais fáceis do que em versões anteriores.

Por enquanto, porém, os programadores do MediaWiki terão que trabalhar em um ambiente com algum contexto global.

Para mais informações sobre as variáveis ​​globais usadas no MediaWiki, consulte Manual:Global object variables .