Ao examinar várias bibliotecas PHP, notei que muitas pessoas optam por prefixar alguns métodos de classe com um único sublinhado, como
public function _foo()
...ao invés de...
public function foo()
Percebo que, no final das contas, isso se resume à preferência pessoal, mas fiquei imaginando se alguém teria alguma ideia de onde esse hábito vem.
Meu pensamento é que provavelmente está sendo transferido do PHP 4, antes que os métodos de classe possam ser marcados como protegidos ou privados, como uma maneira de sugerir "não chame esse método de fora da classe". No entanto, também me ocorreu que talvez ele se origine em algum lugar (um idioma) com o qual eu não esteja familiarizado ou que possa haver um bom raciocínio por trás dele que eu me beneficiaria de saber.
Quaisquer pensamentos, idéias e / ou opiniões serão apreciados.