 <p>Every object instance is also an instance of it's parent. You make all properties private in the parent and offer secured access through public methods. All public methods will be available to child classes as if they were their own, without access to private properties.</p> <pre><code>class foo { private $db; public function dbSelect() { return $this-&gt;db-&gt;select();// Example } } class bar extends foo { public function loadTemplate($file) { require($file); $selected = $this-&gt;dbSelect(); } } </code></pre>