2017-05-10 5 views
1

PHP 5.6 Symfony 3Erreur non définie constante lors de l'utilisation dans l'espace de noms Symfony

J'ai un fichier dans un paquet qui contient un espace de noms avec des constantes définies ...

constfile.php

<?php 
namespace Some\Interesting\ConstFile { 
    const NAME_OF_CONSTANT = 'Some Constant'; 
} 
namespace Some\Interesting\ConstFile\Specific { 
    const NAME_OF_SPECIFIC_CONSTANT = 'Some Specific Constant'; 
} 

Ensuite, j'ai un autre fichier dans un autre paquet que j'essaie d'utiliser les constantes ...

stuff.php

<?php 
namespace More\Cool\Stuff; 

use Some\Interesting\ConstFile as CF; 
use Some\Interesting\ConstFile\Specific as CFS; 

class Stuff { 
    public function doit() {  
     $output->writeln(CF\NAME_OF_CONSTANT); 
     $output->writeln(CFS\NAME_OF_SPECIFIC_CONSTANT); 
    } 
} 

PHPStorm ne se plaint pas de cette configuration. Cependant, lorsque j'exécute ceci, j'obtiens une erreur 'Fatal error: Undefined constant NAME_OF_CONSTANT in stuff.php'.

Des pensées sur ce que je fais de mal?

Répondre

1

La charge automatique ne fonctionne pas bien lorsque vous essayez de charger ce type de fichiers, essayez d'inclure le fichier d'origine manuellement.

require 'path/to/constfile.php' 
-1

Cette erreur peut également se produire lorsque vous faites une erreur et préfixez votre espace de noms avec un anti-slash. Utilisez déclarations peuvent être préfixées par \, espace de noms ne peut pas. Un anti-barre oblique dans l'espace de noms oblige php à comprendre toute la ligne comme constante.