« Retour à la librairie Net_I2C
- Documentation de Net_I2C
- Code source de Net_I2C
Documentation de Net_I2C
Description
Cette classe est une interface entre le site utilisateur et les services i2c. Elle permet d’obtenir le code ISO (deux lettres) du pays de l’adresse IP (v4 ou v6) fournie.
Deux modes de connexion disponibles :
- SOAP (par défaut)
- HTTP (requête GET)
Ainsi, après la création simple de l’instance Net_I2C, vous pouvez obtenir le pays d’origine de n’importe quelle adresse IP (v4 comme v6) de cette manière: <?php $i2c = new Net_I2C(‘soap’); // ou ‘http’ $country = $i2c->getCountry(’12.34.56.78′); var_dump($country); ?> Affiche: string(2) "us"
Variables
Méthode de connexion choisie pour cette instance de Net_I2C
Détermine si l’on est connecté à l’API ou non…
Contient la liste des méthodes de connexion autorisées comme clé et comme valeur un tableau associatif de la fonction à utiliser pour la récupération, la fonction à utiliser pour la connexion ainsi que de l’URL du service.
Méthodes
Constructeur de Net_I2C.
Net_I2C__construct([
string $methode =
'soap'])
- string$methode: Méthode de connexion
Retourne le pays en fonction de l’adresse IP fournie.
string(2)getCountry(string $adresse_ip)
- string$adresse_ip: Adresse IP v4 ou v6
Connexion via HTTP.
En réalité, cette fonction ne fait rien puisqu’il ne faut pas se connecter avant pour utiliser HTTP.
boolean_connectWithHTTP()
Connexion à l’API i2c avec SOAP
boolean_connectWithSOAP()
Appelle la fonction de connexion spécifique à la méthode utilisée.
void_connexion()
Récupèrer le pays de l’IP en HTTP
string_getCountryWithHTTP(string $adresse_ip)
- string$adresse_ip: Adresse IP
Récupèrer le pays en utilisant SOAP
string_getCountryWithSOAP(string $adresse_ip)
- string$adresse_ip: Adresse IP
Code source de Net_I2C
-
-
-
* Cette classe est une interface entre le site utilisateur et les services i2c. Elle
-
* permet d’obtenir le code ISO (deux lettres) du pays de l’adresse IP (v4 ou v6) fournie.
-
* Deux modes de connexion disponibles :
-
-
-
-
* Ainsi, après la création simple de l’instance Net_I2C, vous pouvez obtenir le pays
-
* d’origine de n’importe quelle adresse IP (v4 comme v6) de cette manière:
-
-
* $i2c = new Net_I2C(‘soap’); // ou ’http’
-
* $country = $i2c->getCountry(’12.34.56.78′);
-
-
-
* Affiche: string(2) "us"
-
-
-
-
* @author Samuel ROZE <samuel.roze@d-sites.com>
-
* @copyright 2009 Samuel ROZE
-
* @link http://www.d-sites.com/projets/i2c/
-
* @link http://www.d-sites.com/librairies/Net_I2C/
-
* @link http://pear.php.net/package/Net_I2C
-
-
-
-
-
-
-
* Contient la liste des méthodes de connexion autorisées comme clé
-
* et comme valeur un tableau associatif de la fonction à utiliser
-
* pour la récupération, la fonction à utiliser pour la connexion
-
* ainsi que de l’URL du service.
-
-
* @var array Méthodes de connexion disponibles
-
-
-
-
‘func_connect’ =>
‘_connectWithSOAP’,
-
‘func_get’ =>
‘_getCountryWithSOAP’,
-
‘url’ =>
‘http://i2c.mes-stats.fr/i2c.wsdl’
-
-
-
‘func_connect’ =>
‘_connectWithHTTP’,
-
‘func_get’ =>
‘_getCountryWithHTTP’,
-
‘url’ =>
‘http://i2c.mes-stats.fr/get?ip=’
-
-
-
-
-
* Détermine si l’on est connecté à l’API ou non…
-
-
* @var boolean True == Connecté, False == Non Connecté
-
-
-
-
-
* Méthode de connexion choisie pour cette instance de Net_I2C
-
-
* @var string Méthode de connexion
-
-
-
-
-
-
-
* Constructeur de Net_I2C.
-
-
* @param string $methode Méthode de connexion
-
-
* @throws Exception quand la méthode est invalide
-
-
-
-
-
throw
new Exception(‘La méthode est invalide’, E_USER_ERROR);
-
-
-
-
-
-
-
-
* Retourne le pays en fonction de l’adresse IP fournie.
-
-
* @param string $adresse_ip Adresse IP v4 ou v6
-
* @return string(2) $country Pays de l’IP
-
* @throws Exception si la fonction de récupération n’éxiste pas.
-
-
-
-
-
-
-
-
-
-
if (!($country =
$this->$function($adresse_ip))) {
-
throw
new Exception(‘La fonction de récupération n’éxiste pas’, E_USER_ERROR);
-
-
-
-
-
-
-
// {{{ _getCountryWithSOAP()
-
-
* Récupèrer le pays en utilisant SOAP
-
-
* @param string $adresse_ip Adresse IP
-
* @return string $country Pays de l’IP
-
-
-
-
$country =
$this->_methodes['soap']['client']->getCountry($adresse_ip);
-
} catch
(SoapFault $exception) {
-
throw
new Exception(‘SOAP Exception: ’.
$exception, E_USER_ERROR);
-
-
-
-
-
-
// {{{ _getCountryWithHTTP()
-
-
* Récupèrer le pays de l’IP en HTTP
-
-
* @param string $adresse_ip Adresse IP
-
* @return string $country Pays de l’IP
-
-
-
-
-
throw
new Exception(‘Impossible d’ouvrir la connexion’, E_USER_ERROR);
-
-
-
-
-
throw
new Exception(fgets ($fp), E_USER_ERROR);
-
-
-
-
-
-
-
-
-
-
* Appelle la fonction de connexion spécifique à la méthode utilisée.
-
-
-
* @throws Exception si la fonction de connexion définie par la méthode n’éxiste pas
-
-
-
-
-
-
if (!$this->$function()) {
-
throw
new Exception(‘La fonction de connexion n’éxiste pas’, E_USER_ERROR);
-
-
-
-
-
-
-
/// {{{ _connectWithSOAP()
-
-
* Connexion à l’API i2c avec SOAP
-
-
-
* @throws Exception si la connexion à échoué.
-
-
-
-
-
-
} catch
(SoapFault $exception) {
-
throw
new Exception(‘SOAP Exception: ’.
$exception, E_USER_ERROR);
-
-
-
-
-
-
-
/// {{{ _connectWithHTTP()
-
-
-
* En réalité, cette fonction ne fait rien puisqu’il ne faut pas se connecter
-
* avant pour utiliser HTTP.
-
-
-
-
-
-
-
-
-
-