I have this User class
class User{
  private    $logged = false;
  private    $id;
  public function User() {
      //> Check if the user is logged in with a cookie-database and set $logged=true;
  }  
  public function isLogged() {}
  public function editPerms() {}
  //> other methods    
}
Well now considering I can't have more than 1 user logged (of course because we are talking for a single http request) in Where should i store the ref of my istance?
This is the case where singleton would be useful but these days everyone say singleton is evil (like static methods).
- http://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/
 - http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability/
 
I could do a $GLOBALS['currentUser'] = new User(); and having it accesible everywhere but I think this is worse than a singleton.
So what Can I do?
Please note I don't need to save this instance between requests. I just need a way to access this instance in my framework within the same request.
If you want to know what i do now for all of my Helper Objects is a Service Container (that's considered as well bad):
function app($class) {      //> Sample
    static $refs = array();
    if (!isset($refs[$class]))
        $refs[$class] = new $class();
    return $refs[$class];
}
//> usage app('User')->methods();
(IE what symfony does)