bonjour tout le monde
J'ai un souci concernant l'implémentation des classes php5 en php4, et j'aimerai savoir s'il y'a moyen que mon code en php5 soit fonctionnelle sur des versions antérieurs de php..
Merci
bonjour tout le monde
J'ai un souci concernant l'implémentation des classes php5 en php4, et j'aimerai savoir s'il y'a moyen que mon code en php5 soit fonctionnelle sur des versions antérieurs de php..
Merci
Tout dépend du niveau de complexité de tes classes en fait...
Parfois il suffit de modifier tous les private/public/protected en var pour que ca fonctionne, mais je crois que tu peux avoir d'autres problemes sur la surcharge, le constructeur etc.
Voilà un exemple de classe que j'utilise:
j'utilise cette classe pour la connexion à la bdd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 class myconnect { private $server; // nom du serveur mysql private $user; //nom de l'administrateur private $password; // password de l'administrateur private $database; // nom de la base de données à manipuler public $querySql; // chaîne string qui va représenter la requête SQL elle-même private $error; // récupérer le message d'erreur transmis lors de la connexion mysql private $error_no; // récupérer le code d'erreur private $true_select = FALSE; // permettra de vérifier si la requête SQL commence par select ... private $nb_arg_construct; // nombre d'arguements du constructeur private $numrows; // nombre de lignes pour le résultat private $numfields; // nombre de champs private $array_datas; // tableau contenant toutes les valeurs des enregistrements private $array_fields; // tableau contenant les noms des champs lors de la requête private $link; // identifiant de la ressource mysql private $success; // attribut qui va garantir la sélection correcte de la BD private $result; // attribut qui va stocker le résultat de ma requête SQL // déclarer le constructeur public function __construct($nameserver,$nameuser,$namepassword,$namedatabase) { session_start(); $this->nb_arg_construct = func_num_args(); if ( $this->nb_arg_construct != 4 ) { } else { // le nombre d'arguments est correct // assignation des attributs de l'objet avec les variables transmises $this->server = $nameserver; $this->user = $nameuser; $this->password = $namepassword; $this->database = $namedatabase; // vérifier les données transmises // faire notre connexion avec la fonction mysql_connect $this->link = @mysql_connect($this->server,$this->user,$this->password); if (!$this->link) { $this->error = mysql_error($this->link); $this->error_no = mysql_errno($this->link); } else { // sélectionner la base de données $this->success = @mysql_select_db($this->database,$this->link); if (!$this->success) { $this->error = mysql_error($this->link); $this->error_no = mysql_errno($this->link); } } } //fin if test arguments } //fin constructeur
Ben t'enlèves tous les type private, protected et public et remplacer par var et sa devrait marcher. C'est ce que koopajah t'as dis.
Blog - Mon espace developpez -
Oracle Certified Professional, Java SE 6 Programmer eZ Publish Certified developer
tu vas aussi avoir un probleme avec le constructeur, il me semble que __construct() ne marche que depuis PHP5 (j'ai regardé vite fait mais je n'arrive pas à l'affirmer)
donc ça serai mieux que je mette function myconnect (..) pour le constructeur??
Partager