Desvantagem de usar filtros e ganchos várias vezes

Estou planejando impor uma regra no meu projeto para escrever os códigos para um único filtro ou gancho em uma única function para facilitar a manutenção do código, então em vez de ter

add_filter('wp','function_a'); function_a() { //code A goes here } add_filter('wp','function_b'); function_b() { //code B goes here } 

Será reduzido a:

 add_filter('wp','function_ab'); function_ab() { //code A goes here //code B goes here } 

A minha pergunta é, também existe um benefício de desempenho significativo ao fazer isso?

Solutions Collecting From Web of "Desvantagem de usar filtros e ganchos várias vezes"

Criar um programa deve ser equilibrado sobre como a eficiência do código funciona e como é fácil para a manutenção futura.

Para a eficiência de programação, tanto o estilo 1 quanto o estilo 2 do seu código não causam muito impacto. Por causa do PHP hoje em dia, ele converte o código no bytecode apenas uma vez e lê-lo quando o visitante o usa. Então, o desempenho é quase o mesmo.

Para manutenção futura, depende do estilo de codificação de sua equipe. Escolha um que você mais compreende sobre isso. Para mim, o primeiro estilo é mais prático porque 1 function faz apenas 1 trabalho e é muito mais fácil para a manutenção. Isso é.

A adição de callbacks é basicamente gratuita. Adicione isso às suas funções.php ou crie um novo plugin para ele.

 timer_start(); $test = new test(); add_filter( 'all', [ $test, 'all' ] ); add_action( 'shutdown', [ $test, 'shutdown' ] ); class test { protected $num = 0; function all( $var ) { $this->num = $this->num + 1; return $var; } function shutdown() { var_dump( $this->num ); var_dump( timer_stop() ); } } 

Observe o número de callbacks (o primeiro número var_dumped). Provavelmente será em centenas ou milhares. Agora remova all filtro. O segundo número despejado irá diminuir, e por um número notável, mas ainda notavelmente pequeno.

Quando eu tentei isso na minha checkbox, eu tinha cerca de 3000 callbacks que triggersram. Quando então all filtro foi adicionado, demorou cerca de 0.02s a renderizar e quando não foi adicionado, demorou cerca de 0.01s a renderizar. Então, a adição de 3.000 callbacks fez a página renderizar 0.01s mais devagar. Se você é o Google, isso faz uma grande diferença. Mas você não está, então não.