подобные низкоуровневые задачи обычно решаются методами/функциями языка. если таковые отсутствуют (что бывает крайне редко), то лучше сделать их оптимальными, за понятность путь отвечает комментарий (docBlock)
модель(или скорее группа связанных моделей) дляхранения прав + класс проверки прав
допустим для RBAC: RoleModel, UserModel, UserRoleModel и RbacManager
'use strict'; добавь вначале js, если речь о внешний файлах, то у тебя скорее всего стоит какой-то lint плагин, посмотри возможно у него есть опция для отключения подобных ошибок
$func1 - переменная, поэтому так \func1\func1 её передать нельзя, я вообще не припоминаю чтобы можно было импортировать переменные из другого пространства имен