Вы обращаетесь к нему правильно (при условии, что оба метода находятся в одном и том же классе контроллера), но в случае, если вы не знаете, ваш метод __avail()
на самом деле не является частным. Префикс двойного подчеркивания (__) является условием, но это всего лишь соглашение. Ваш «приватный» метод действительно публичен в действительности. Чтобы сделать его закрытым, необходимо указать его в подписи:
private function __avail() { ... }