PHP 4 postrádá popisovače přístupnosti proměnných (public, protected, private). Proto přišli programátoři s praktickou pomůckou. Podtržítko připojené před proměnnou představuje příznak private případně protected. Prefixový princip pojmenování přetrval paradoxně podnes. Proč? Používání podtržítek v „pětce“ považuji za překonané.

PHP

Poznámka: prezentovat postoje pouze pomocí přináší podstatné problémy, pročež s tím končím.

Protected vs. public

Předně, považovat protected a private za podobné příznaky je pěkná pí…(ok, vážně už s  končím) … je nesmysl. Za příbuzné lze spíš označit viditelnosti public a protected. K oběma totiž můžeme přistupovat z vnějšku. V případě protected členů je to mírně komplikovanější v tom, že musíme vytvořit potomka třídy a člen předeklarovat na public, ale to není překážka.

Už samotný fakt, že protected je možné povýšit na public, dokladuje blízkost těchto viditelností. A je zároveň hlavním argumentem proti jejich prefixování. Kdybychom totiž chráněné (tedy protected) proměnné označovali podtržítkem, tak se ho po předeklarování nezbavíme.

Používat podtržítka u chráněných metod nebo proměnných je přežitek, který může situaci pouze zkomplikovat. Vyhněte se mu.

A co private?

Kdyby PHP mělo podporu pro tzv. property, jako mají objektově vyspělejší jazyky, mělo by prefixování soukromých (tedy private) proměnných velký význam. Za stávající situace ho však pozbývá. A pokud jde o soukromé metody, tady žádný objektivní důvod pro používání podtržítek nevidím.

Naopak, určitou roli může sehrát subjektivní pocit, že podtržítka u privátních členů zlepšují orientaci v kódu. To je sice možné, ale zároveň roste i riziko jejich zapomenutí. Proto používání spíš nedoporučuji, nicméně pokud se pro ně rozhodnete, používejte je důsledně všude.