Basic OOP architecture about an application with a single point of entry - PHP?
===

My application has a single point of entry let's call it `index.php`.

In `index.php` it instantiates a class like below;

    final class Griff {

        public $a, $b, $c, $d, $e;

        public function __construct() {
             spl_autoload_register(array($this, 'autoload',));
             $this->a = 'a';
             // blah blah blah
             new RouterGriff($this);
        }

        private function autoload($name) {
             // autoload function
        }
    }

    new Griff();

You will notice that `RouterGriff` is instantiated inside `Griff::__construct()`, `RouterGriff` looks like below:

    final class RouterGriff {

        private $griff;

        public function __construct(Griff $griff) {
             $this->griff = $griff;
             $this->griff->b = 'b';
             $this->griff->c = 'c';
        }
    }

My question is as follows; you will notice I am setting variables for properties that are stored in `Griff` from `RouterGriff` as I want a registry kind of structure to my application but do not want to use a singleton. 

Would it be better if I just had the properties set in `RouterGriff` instead of `Griff`? Or is passing `Griff` around to every class a <em>valid</em> way of doing things, considering my application could go 10 classes deep before it outputs anything?

I hope I made sense and thank you

**EDIT**

By the other way I ment doing it this way,

    final class Griff {

        public $a;

        public function __construct() {
             spl_autoload_register(array($this, 'autoload',));
             $this->a = 'a';
             // blah blah blah
             new RouterGriff();
        }

        private function autoload($name) {
             // autoload function
        }
    }

    new Griff();

    final class RouterGriff {

        public $b, $c;

        public function __construct() {
             $this->b = 'b';
             $this->c = 'c';
        }
    }