Personalmente, almaceno información confidencial, como detalles de conexión a la base de datos, en un archivo config.ini. archivo fuera de la raíz de mi carpeta web. Luego en mi index.php Puedo hacer:
$config = parse_ini_file('../config.ini');
Esto significa que las variables no son visibles si su servidor accidentalmente comienza a generar scripts PHP como texto sin formato (lo que sucedió antes, infamemente a Facebook); y solo los scripts PHP tienen acceso a las variables.
Tampoco depende de .htaccess en el que no hay contingencia si tu .htaccess el archivo se mueve o se destruye.
Advertencia, agregada el 14 de febrero de 2017:ahora almacenaré parámetros de configuración como este como variables de entorno. No he usado el .ini enfoque de archivos desde hace algún tiempo.