Sounds like more trouble than it's worth. There's always
phpGACL and
seagull to use unless you just want to write it.
The way I've structured things in the past is that each public function is defined group access. eg: So only members of "foo_add" can execute it. All users are part of the "users" group, but they can also be assigned to others as well.
Most of my applications required something more fine grained, so I ended up having more validation code anyway. (eg: user can excute the delete function in the FAQ class, but only on items they created or were specifically assigned to..)
-r