Pré-requis

POO en PHP

6.Le langage PHP

6.10.Les variables prédéfinies

6.10.4.User-Agent

6.10.4.4.Analyse du User-Agent avec Joomla-Framework

Si vous avez installé[comment?] Joomla-Framework, vous pouvez l'utiliser pour extraire les informations pertinentes du User-Agent, plus sûrement que par le code donné précédemment.
rem
  • Seuls les fichiers base/object.php et environment/browser.php sont nécessaire pour ce chapitre.
warning Pour que ces fichiers puissent être utilisés, la constante JPATH_BASE doit être définie (REM: Peut importe sa valeur pour ce chapitre).
Ce framework contient en effet une classe baptisée JBrowser() possédant, entre autres, les méthodes:
  • getBrowser() qui retourne l'identifiant du navigateur (ex: 'msie', 'mozilla', 'opera', 'konqueror', 'palm', 'lynx', etc.)
  • getVersion() qui retourne la version du navigateur et se décline en getMajor() et getMinor() qui retournent respectivement le numéro majeur et mineur de version.
  • isRobot() qui retourne TRUE si le navigateur est en fait un robot connu.
  • getPlatform() qui retourne l'identifiant du système d'exploitation ('win', 'unix' ou 'mac')
<?php
require_once("include_path_inc.php");

define('JPATH_BASE', '');

require_once("base/object.php");
require_once("environment/browser.php");

$ua = new JBrowser();

echo "Navigateur:".$ua->getBrowser()."<br />";
echo "   Version:".$ua->getVersion()."<br />";
echo "   Robot? :".($ua->isRobot()?"oui":"Peut-être pas")."<br />";
echo "OS:".$ua->getPlatform()."<br />";
?>
avec par exemple
<?php 
// Adaptez les chemins de recherche a votre environnement
set_include_path(get_include_path().PATH_SEPARATOR.
                 // Si Joomla-Framework est au meme niveau que ce fichier
                 dirname(__FILE__)."/libraries/joomla".PATH_SEPARATOR.
                 // Si la biblotheque Joomla-Framework est a la racine du site
                 $_SERVER["DOCUMENT_ROOT"]."/libraries/joomla".PATH_SEPARATOR.
                 // Si la biblotheque Joomla-Framework est au niveau superieur
                 $_SERVER["DOCUMENT_ROOT"]."/../libraries/joomla".PATH_SEPARATOR
                 );
                 ?>
Qui donne dans votre cas:
Ici vous pouvez apprendre :
Forum PHP
Version imprimable: imprimer