Eu li em algum lugar, e não me lembro onde, essa echoé uma maneira mais eficiente de gerar dados print.
Por que o núcleo Drupal usa printtanto? Existe alguma razão especial por trás disso?
Eu li em algum lugar, e não me lembro onde, essa echoé uma maneira mais eficiente de gerar dados print.
Por que o núcleo Drupal usa printtanto? Existe alguma razão especial por trás disso?
Respostas:
echoé apenas mais rápido em ambientes acadêmicos. A diferença é muito marginal. Uma referência rápida que acabei de fazer: o tempo de busca de uma linha de uma tabela com mais de 2000 nós é de 1 unidade.
Para obter uma melhoria de 1 unidade, eu precisaria substituir cerca de 3.700.000 (mais de 3 milhões) de printdeclarações por echo. Em outras palavras, se você deseja melhorar o desempenho, esse dificilmente é o ponto de partida.
Visto que printpode ser usado em uma variedade muito maior de casos echo, o primeiro tem algumas vantagens. Deixa-lhe três opções:
printechoque possível e faça fallback emprintechosempre e refatorar seu código, se echonão puder ser usado, para usá-loDrupal assumiu como padrão o primeiro.
Para responder à sua pergunta real sobre por que isso foi escolhido: não foi. Simplesmente cresceu assim.
if (! print some_method() ) {print some_other_method()}. Uma vez que print retorna TRUE se realmente imprimiu alguma coisa. O eco não retorna nada, e é por isso que também é mais rápido. Outro exemplo que você verá é return print $somevalueno final de um método para retornar o status.