Predefining requirements before starting a controller object. Is it called DI container?
<p>I've been using registry pattern for a very long time. Basically, I load all the classes using a main object (even if they're not required by the controller itself) and controllers can reach them.</p>

<p>It loads like 20 classes currently and I want to change my approach.</p>

<p>I want to define dependencies for my controllers. For example, my register controller only depends on database class, recaptcha class and filter class.</p>

<p>So, I want to create a solution like this:</p>

<pre><code>//dependencies 
$registerDependencies = array(new Database(), new Recatpcha(), new Filter());

//load register controller
$this-&gt;loadController-&gt;('register', $this-&gt;loadDependencies($registerDependencies));
</code></pre>

<p>Is it called DI/DI Container? 
Is this a better approach than my current system?</p>
