Pienso que la primer forma es mejor porque permite reutilizar la función de muchas formas, la segunda forma es peor en ese sentido pues no funcionará si no hay dichas variables de sesión.
De cualquier modo no importa mucho si entiendes a la perfección las implicaciones de ambas formas, cualquiera es válida.