Système de vue avec CodeIgniter (4.x)  3 min  

Bonjour,

Aujourd'hui, nous allons voir comment créer un système de vue avec CodeIgniter 4.x. Il faut savoir que pour CodeIgniter 3.x il s'agit du même principe, mais avec certaines fonctions différentes.

Étape 1 : Création d'un model

Comme à chaque fois que nous souhaitons créer une function, nous mettons cela dans un Model. Pour ma part, mon Model s'appellera "StatsModel".

<?php namespace App\Models;
use CodeIgniter\Model;
class StatsModel extends Model{

}

Une fois cela de mis, nous allons demander de créer une function "public" étant nommé Statistiques_vues

public function Statistiques_vues($url,$ip,$agent,$agent_version,$platform,$robot,$referer,$agent_string) {

}

Comme vous le voyez, j'ai mentionné plusieurs variables, chacune de ces variables nous serons utile pour des statistiques détaillés.
Il faut savoir que ce tutoriel ne prends pas en compte la visite unique, il faudra donc que vous le fassiez si vous le souhaitez.

Désormais, nous pouvons attaquer la function en elle-même. Pour cela, créez une table spécialement pour vos visites. Pour ma part j'appelle ma table "views".

public function Statistiques_vues($url,$ip,$agent,$agent_version,$platform,$robot,$referer,$agent_string) {
    $sessionmodel = new \App\Models\SessionModel();
    $db = \Config\Database::connect();
    helper('url');

      $builder__add_view = $db->table('views');
      $data_view = [
        'url' => $url,
        'ip'  => $ip,
        'agent' => $agent,
        'platform' => $platform,
        'version' => $agent_version,
        'robot' => $robot,
        'referrer' => $referer,
        'agent_string' => "".$agent_string."",
        'date_petit' => "".date('Y')."-".date('m')."",
        'country_code' => geoip_country_code_by_name($ip),
        'mois' => date('m'),
        'jour' => date('d'),
        'annee' => date('Y')
      ];
      $builder__add_view->insert($data_view);
	}

Comme vous pouvez l'apercevoir, nous insérons une nouvelle donnée, qui permet d'effectuer des statistiques.
Maintenant, nous allons pouvoir passer à la seconde étape des controllers.

Étape 2 : Le controller

Nous allons donc ajouter l'ajout de notre controller, ainsi que notre ligne de notre fonction ci-dessus. Pour cela, vous devez ajouter les lignes suivantes.

$statsmodel = new \App\Models\StatsModel();

Ainsi que celle-ci

$statsmodel->Statistiques_vues(current_url(),"IP",$agent,$agent_version,$platform,$robot,$referer,$agent_string);

Dans ce tutoriel, vous pouvez voir que je n'ai pas mis de fonction pour l'IP de l'utilisateur. Je ferais un tutoriel à ce sujet très prochainement. De plus, j'ai mis la function current_url(), qui permet d'avoir l'url complète de la page à laquelle vous visionnez.

Désormais, vous avez votre système de vues de réalisé. Vous pouvez donc désormais jouer pour un design, ou bien plus encore.

Auteur

KilioZ

Étudiant en BTS Travaux Publics au Pas-de-Calais. Fondateur de Dev-Time, développeur web depuis 2013.


  Discord : Matéo M.#6452   Reddit : KilioZDev