Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 5 měsíci

maarlin
dibi guru
Registrovaný: 20. 8. 2009
Příspěvky: 204

DibiConnection – proč se při překladu dotazu pojit k databázi?

Proč se dibi samovolně při překladu dotazu – např. takto:

$query = (string) $this->connection->select('*')->from('articles');

pokouší připojit k databázi?

To snad z principu DB layeru není v tento moment potřeba, nebo se mýlím? Překladem na string bych očekával, že dostanu prostě syntakticky přeložený dotaz a k jeho sestavení imho opravdu není potřeba spojení do databáze.

Jde mi konkrétně o tato dvě místa (dvě metody, které volá __toString()) v DibiConnection:

/**
 * Returns the driver and connects to a database in lazy mode.
 * @return IDibiDriver
 */
final public function getDriver()
{
        $this->connected || $this->connect(); // Here
        return $this->driver;
}

/**
 * Generates SQL query.
 * @param  array
 * @return string
 */
private function translateArgs($args)
{
        $this->connected || $this->connect(); // Here
        return $this->translator->translate($args);
}

 

#2 před 5 měsíci

Milo
dibi guru
Registrovaný: 4. 5. 2010
Příspěvky: 298

Re: DibiConnection – proč se při překladu dotazu pojit k databázi?

Myslím, že jedním z důvodů je mysql_real_escape_string() v MySQL driveru.

 

Zápatí