Here is a small example i have come up with to show how easy it is to use
encapsulation with PHP 5.
NOTE - to make this really effective you should store tha app object in a session
variable so that the app object will not be reloaded every page load, it will retain
it's values through session.
NOTE - If you have objects that you wish to have re-created with every page load don't
define the variable as static, and dont check to see if the variable is null, just return
a new instance, remember when the app object is stored in session, so are the other objects
since they are defined static and the app object is not re-created from page to page.
The following code just shows how you can have the user object within the app object and still
call it's methods very easilly without ever having to do $user = $app->User();
<?php
class App {
private static $_user;
public function User( ) {
if( $this->_user == null ) {
$this->_user = new User();
}
return $this->_user;
}
}
class User {
private $_name;
public function __construct() {
$this->_name = "Joseph Crawford Jr.";
}
public function GetName() {
return $this->_name;
}
}