Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dado a seguinte estrutura hipotética:
conn.php
<?php
@session_start();
Define("DATABASE_SERVER", "localhost");
Define("DATABASE_USERNAME", "root");
Define("DATABASE_PASSWORD", "");
Define("DATABASE_NAME", "db1");
class dbconfig{
private $errorLog;
private $mysqli;
public function __construct(){
$this->mysqli = new mysqli(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME);
}
public function executeSelect($query){
if($this->checkConnection()){
if (!$result=@$this->mysqli->query($query)) {
$this->__errorLog($this->mysqli->error, $this->mysqli->errno, 71, 'dbconfig.executeSelect', 'MySQL', $query);
}else{
while ($row = $result->fetch_assoc()) {
$resultado[] = $row;
}
return $resultado;
}
}else{
return false;
}
}
?>
class1.php
<?php
require_once('anotherthing.php');
require_once('dbconfig.php');
class thing1{
private $dbconfig;
public function thing1(){
$this->dbconfig = new dbconfig();
}
public function getSomething() {
$query = "SELECT someting
FROM somewhere
WHERE something1 = something2
LIMIT 100";
$resultado = $this->dbconfig->executeSelect($query);
return $resultado;
}
public function getAnotherThing() {
$gAT= new AnotherThing();
$gAT->getAnotherThing();
}
?>
class2.php
<?php
require_once('dbconfig.php');
class anotherThing{
private $dbconfig;
public function anotherThing() {
$this->dbconfig = new dbconfig();
}
function getAnotherThing() {
$query = "SELECT *
FROM somewhere2
LIMIT 100";
$resultado = $this->dbconfig->executeSelect($query);
return $resultado;
}
?>
Pergunta: Quando eu instanciar a classe1 (thing) e chamar o método getAnotherThing (aquele que instancia a classe anotherThing), eu vou ter duas conexões distintas com a database?
Eu gostaria que sempre que o Flex chamasse o PHP, a primeira classe instanciada criasse a conexão (dbconfig) e se alguma classe x instanciasse outra classe y, esta segunda [y] não criaria uma nova conexão e sim usaria a conexão existente. Se a forma como estou usando cria duas conexões distintas, como eu deveria usar para criar só uma?
Outra coisa, eu devo me preocupar com isso? Acredito que o desempenho seria maior com apenas uma classe realizando a conexão.
Carregando comentários...