Malgré ce que j'ai pu dire précédemment, il arrive parfois que je doive adapter mes scripts pour des versions anciennes de PHP. Je suis donc obligé d'avoir une petite série de fonctions de compatibilité, que je vais vous proposer au fil de mes développements.

Les fonction json (decode et encode) ne sont natives en PHP que depuis la version 5.2, mais heureusement il y a un moyen de les rendre accessibles depuis les versions antérieures. Pour cela, il faut télécharger le package JSON-PEAR et en extraire le fichier JSON.php.

Ensuite, ce petit script vous permet de créer (si nécessaire) les fonctions:

<?php
if ( !function_exists('json_decode') ){
	require_once (dirname(__FILE__).'/JSON.php');
    function json_decode($content, $assoc=false){
		if ( $assoc ){
			$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
		} else {
			$json = new Services_JSON;
		}
		return $json->decode($content);
	}
}
 
if ( !function_exists('json_encode') ){
	require_once (dirname(__FILE__).'/JSON.php');
	function json_encode($content){
		$json = new Services_JSON;
		return $json->encode($content);
    }
}
?>

Bien entendu, je pars du principe que JSON.php est dans le même répertoire que le fichier de fonctions, à vous d'adapter les chemins utilisés dans require_once