Astuce CodeIgniter : définir le timezone de la base de données

Voici une astuce publiée sur le forum de CodeIgniter qui permet de définir le timezone à utiliser par la base de données un seule fois pour tous les modèles de l’application.

Pour réaliser cette tâche, l’auteur à simplement dérivé la classe Model de CodeIgniter afin d’exécuter la requête SQL modifiant le timezone à la construction de l’objet. Ainsi, comme lorsqu’on utilise ACICRUD, les modèles de l’application doivent étendre la classe mère au lieu de la classe Model.

Voici l’exemple de code proposé :

class Master_model extends Model{
    public function __construct(){
        parent::__construct();
        
        $this->set_timezone();
    }
    
    public function set_timezone(){
        $this->db->query("SET time_zone='+0:00'");
    }
}

class Some_model extends Master_model{
    public function __construct(){
        parent::__construct();
    }
} 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Expert qui démontre notre expertise concernant leur logiciel e-commerce. Nous avons également obtenu deux certifications officielles PrestaShop Fullstack Developer.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.

Klaviyo

Klaviyo, leader mondial du marketing automation, propose une solution complète qui s'interface avec vos canaux de vente.