Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


Design a class that should always return a single object ?

Answers were Sorted based on User's Feedback



Design a class that should always return a single object ?..

Answer / webguy

The answer is to use : The singleton pattern

Description:

Some application resources are exclusive in that there is
one and only one of this type of resource. For example, the
connection to a database through the database handle is
exclusive. You want to share the database handle in an
application because it's an overhead to keep opening and
closing connections, particularly during a single page fetch.

The singleton pattern covers this need. An object is a
singleton if the application can include one and only one of
that object at a time. The code in Listing 3 shows a
database connection singleton in PHP V5.

Ex: Singleton.php


<?php
require_once("DB.php");

class DatabaseConnection
{
public static function get()
{
static $db = null;
if ( $db == null )
$db = new DatabaseConnection();
return $db;
}

private $_handle = null;

private function __construct()
{
$dsn = 'mysql://root:password@localhost/photos';
$this->_handle =& DB::Connect( $dsn, array() );
}

public function handle()
{
return $this->_handle;
}
}

print( "Handle = ".DatabaseConnection::get()->handle()."\n" );
print( "Handle = ".DatabaseConnection::get()->handle()."\n" );
?>


This code shows a single class called DatabaseConnection.
You can't create your own DatabaseConnection because the
constructor is private. But you can get the one and only one
DatabaseConnection object using the static get method. The
UML for this code is shown in Figure 3.

Figure 3. The database connection singleton
The database connection singleton

The proof in the pudding is that the database handle
returned by the handle method is the same between two calls.
You can see this by running the code on the command line.

% php singleton.php
Handle = Object id #3
Handle = Object id #3
%


The two handles returned are the same object. If you use the
database connection singleton across the application, you
reuse the same handle everywhere.

You could use a global variable to store the database
handle, but that approach only works for small applications.
In larger applications, avoid globals, and go with objects
and methods to get access to resources.

Is This Answer Correct ?    1 Yes 0 No

Design a class that should always return a single object ?..

Answer / amitverma

class DB {
private static $_singleton;
private $_connection;

private function __construct(){
$this->_connection = mysql_connect();
}

public static function getInstance(){
if (is_null (self::$_singleton)) {
self::$_singleton = new DB();
}
return self::$_singleton;
}
}

$db = DB::getInstance();

Is This Answer Correct ?    2 Yes 2 No

Design a class that should always return a single object ?..

Answer / sam

In my opinion class can not return any object. Only methods
can return the objects

Is This Answer Correct ?    0 Yes 1 No

Post New Answer

More PHP Interview Questions

Which function would you use to replace a record in a database in php?

0 Answers  


please can any one tell is there any openings for freshers in PHP ...please tell the company name and address sir where can i find ..php related companies and how much i expect salary as a fresher in php ..i finished my LAMP course i done my mca ..i seen in many job portals there is no job for freshers in php can any one tel me please in chennai i need php jobs ..? thank u friends

1 Answers  


when ever the user logged in the database table the current registered date will be appeared

3 Answers  


What is php crud api?

0 Answers  


What are the advantages of indexes in php?

0 Answers  


How to open standard output as a file handle?

0 Answers  


What is string and its function?

0 Answers  


What is exception in php?

4 Answers  


Explain object-oriented methodology in php?

0 Answers  


What is substr in php?

0 Answers  


How would you impletement download and upload a file in php

2 Answers   A1 Technology,


Tell me how can we display information of a variable and readable by human with php?

0 Answers  


Categories