2 votes

Erreur dans une classe php avec des valeurs prédéfinies ?

Dans mon fichier PHP, j'ai créé une classe comme ci-dessous mais j'obtiens une erreur à la 3ème et 5ème ligne.

class CommonPath{
    var $baseurl = 'http://mysite.com/';
    var $docroot = realpath(dirname(__FILE__));
    var $root = '/';
    var $images = $this->root.'/img';           
}

Mon Dreamwaver CS5 montre ces lignes (3ème et 5ème) comme des lignes erronées et j'obtiens l'erreur suivante en exécutant ce code.

Parse error: parse error, expecting \`','' or \`';'' in D:\\wamp\\www\\site\\libs\\CommonPath.php on line 3

7voto

linepogl Points 5110

Vous ne pouvez avoir que des littéraux et des constantes comme valeurs par défaut. Les fonctions et autres expressions ne sont pas autorisées.

5voto

Andrea Points 7050

Il y a deux erreurs différentes. Tout d'abord, vous ne pouvez pas utiliser de fonctions pour définir des variables de classe (ligne 3). De plus, $this n'a pas de sens à la ligne 5, puisque vous n'avez pas encore d'objet.

4voto

JohnP Points 29302

Vous ne pouvez pas attribuer les valeurs de cette manière au moment où vous déclarez vos propriétés de membre. Attribuez-les dans le constructeur

class CommonPath{
    var $baseurl = 'http://mysite.com/';
    var $docroot = '';
    var $root = '/';
    var $images = '';

    function __construct() {
        $this->docroot  = realpath(dirname(__FILE__));;
        $this->images = $this->root.'/img';
    }
}

1voto

Gaurav Points 14339

Vous ne pouvez pas concat et assigner toute valeur à la variable qui doit appeler toute fonction, au moment de la déclaration de la variable de classe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X