introduction screenshots faq forum blog modules components download
Please use the search function and/or read the FAQ first.

Go to Topic: PreviousNext
Go to: Message ListNew TopicSearchLog InPrint View

EasyPHP et les classes



Posted by: bihou
August 18, 2008 02:26PM
Bonjour,

Je n'arrive pas à faire fonctionner les classes dans EasyPHP (v2 bêta 1). Pourtant, les fichiers strictement identiques contenant les mêmes méthodes fonctionnent correctement sur le serveur de mon hébergeur. Je suppose que le problème vient de la configuration d'EasyPHP ?

Dans le fichier php.ini :
- la variable "disable_classes" est vide
- dans la section "Windows Extensions", la ligne extension=php_classkit.dll est validée (commentaire supprimé)

Dans les fichiers contenant les classes, les variables et fonctions sont déclarées avec l'attribut public.

Merci par avance pour votre aide.
Options: ReplyQuote
Posted by: mega-squall
August 18, 2008 02:47PM
>> Je n'arrive pas à faire fonctionner les classes dans EasyPHP

C'est assez vague comme remarque ...
Qu'est-ce qui ne marche pas ?
Est-ce que le script suivant fonctionne ?

<?php

class A {

public static $var;
public $value;

public function __construct() {
echo "A::__construct()\n";
$this->value = "init";
}

public function __destruct() {
echo "A::__destruct()\n";
}

public function echo() {
echo "A::echo()\n";
}

};

A::$var = "test";
$a = new A();
echo $a->value . "\n";
$a->echo();
echo A::$var;

?>

Doit afficher :

A::__construct()
init
A::echo()
test
A::__destruct()

---
mega-squall
Options: ReplyQuote
Posted by: bihou
August 22, 2008 02:35PM
Bonjour et merci à mega-squall pour ta réponse.

Désolé de ne pas être plus précis dans la description du pb, mais je ne sais pas par où le prendre !
Dans l'utilisation de mes scripts de classe, il n'y a pas d'erreur d'exécution. (L'appel de l'objet « $variable = new nom_class(); » ne génère aucune erreur, mais les instructions suivantes « $variable->xxx » ne sont pas prises en compte.)

Dans l'exemple que tu me donnes, EasyPHP répond le message d'erreur suivant :

Parse error: parse error, unexpected T_ECHO, expecting T_STRING in C:\Documents and Settings\...\test.php on line 17
(La ligne 17 correspond à l'instruction « public function echo() { ».)
Options: ReplyQuote
Posted by: mega-squall
September 03, 2008 02:27AM
ah oui, là c'est ma faute, on ne peut pas appeler une méthode echo puisque c'est un mot clef réservé.
Essaye en remplaçant echo par display partout par exemple ?

---
mega-squall
Options: ReplyQuote
Posted by: bihou
September 04, 2008 02:13PM
OK, merci ! L'erreur a disparu. Voila ce qui s'affiche :
A::__construct() init A::display() testA::__destruct()
Est-ce concluant ?

La différence entre cet exemple et les fichiers classes qui posent problème est dans l'emploi de l'opérateur "::" Est-il indispensable dans le cas de EasyPHP ?
Options: ReplyQuote


Go to: Message ListSearchLog In
Your Name: 
Your Email: 
Subject: 
Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.