Php Programming Code Examples
Php > Php Classes Code Examples
PHP5 And The Singleton Pattern
PHP5 And The Singleton Pattern
in this example i will show you how to use the singleton pattern in your classes so that only one instance of the object is ever created. and you can access your object anywhere without the need to use global $obj;
Filename: user.class.php
<?
Class User {
static private $instance;
private $_name;
private $_email;
private function __construct() {
}
static function instance() {
if(!Self::$instance) {
Self::$instance = new User();
} else {
return Self::$instance
}
}
public function name($name) {
if(!$name) {
return $this->$_name;
} else {
$this->$_name = $name;
}
}
public function email($email) {
if(!$email) {
return $this->$_email;
} else {
$this->$_email = $email;
}
}
}
?>
Filename: index.php
<?
include_once('user.class.php');
// call the user class and check to see if there is already an instance
// of the user class, if so return it otherwise create the instance.
$user = User::instance();
// set the name and email
$user->name('red');
$user->email('xxx@www');
// echo the name and email
echo $user->name();
echo '<br>';
echo $user->email();
//now say you have a class or a function that you need to gain access to the user object for, rather than doing global $user; you should do something like this.
class Something {
private $user;
public function __construct() {
$this->user = User::instance();
}
}
//this will then allow you to use $this->$user->name(); in the class.
?>