Jump to content

Recommended Posts

I'm programming in an OO mannor. I have several util, factory, and DAO classes. My question is, who should be creating the database connection? Should the connection get aggregated into the static method or should the method create its own connection. Consider the following example:

 

class TemplateUtil
{
// Method creates its own connection and logic is fully encapsulated 
public static function convertSiteNameToID($name)
{
	$name = strtoupper(trim($name));
	$conn = ADOConnectionUtil::createDefaultConnection("flashfac_templates");
	$sql = "SELECT id FROM templates WHERE name = '$name'";
	$row = $conn->GetRow($sql);
	$id = $row["id"];

	return $id;
}

   // Method needs a connection passed into it and relies on the context to 
   // do so....perhaps this makes less connections and more control who connects when.
public static function convertSiteNameToID($conn, $name)
{
	$name = strtoupper(trim($name));
	$sql = "SELECT id FROM templates WHERE name = '$name'";
	$row = $conn->GetRow($sql);
	$id = $row["id"];

	return $id;
}
}

 

I don't have enough experience with php to know what is the better of the options. Any ideas?

 

Thanks guys! :)

Thanks for the input.

 

I'm kind of leaning that way too because if the DB user and pass changes, I'd have to go into all the utils and change the request for the connection as well, which I don't want to do.

 

cheers

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.