Bon après réflexion,
En fait le serveur de prod qui accueillera l'application ne permettra pas de réglages de ce types...
Du coup j'ai créer une classe étendue de Hoa_Database_Dal
Nommée Hoathis_Databaseutf8.
J'ai simplement redéfinit les méthodes statiques getInstance() et getLastInstance(),
afin d'y ajouter la requête utf8, si celle-ci n'a pas déjà été éxécutée.
Le code n'est pas encore commenté, il fonctionne tel quel.
Question: Pour les conventions de nommage, est-ce que le nom est bien choisis?
Hoathis_Database_Utf8 m'aurait bien plus, mais comment gérer ça au niveau de l'import et des modules?
Peut-on créer dans le dossier module un dossier Database (donc qui existe déjà dans Library) avec à l'intérieur une dossier Utf8 qui sera la "sous-lib" étendue de Hoa_Database
Bref la méthode est-elle à peu près bonne pour le tout?
class Hoathis_Databaseutf8 extends Hoa_Database_Dal {
private static $_setNamesUtf8 = false;
public static function getInstance ( $id,
$dalName = null, $dsn = null,
$username = null, $password = null,
Array $driverOption = array() ) {
$instance = parent::getInstance($id, $dalName, $dsn, $username, $password, $driverOption);
if(!self::$_setNamesUtf8) {
$instance->query("SET NAMES 'utf8'");
self::$_setNamesUtf8 = true;
}
return $instance;
}
public static function getLastInstance ( ) {
$instance = parent::getLastInstance();
if(!self::$_setNamesUtf8) {
$instance->query("SET NAMES 'utf8'");
self::$_setNamesUtf8 = true;
}
return $instance;
}
}