2017-05-10 17 views
1

PHP 5.6 심포니 내가 정의 된 상수와 네임 스페이스를 포함하는 번들에있는 파일이 3정의되지 않은 상수 오류

...

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'; 
} 
심포니에서 네임 스페이스를 사용하는 경우

그러면 상수를 사용하려고하는 또 다른 번들에 다른 파일이 있습니다 ...

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에는이 설정에 대한 불만이 없습니다. 그러나 이것을 실행하면 '치명적 오류 : stuff.php에서 정의되지 않은 상수 NAME_OF_CONSTANT'오류가 발생합니다.

내가 뭘 잘못하고있는 것으로 생각 하나?

답변

1

이 유형의 파일을로드하려고하면 자동로드가 제대로 작동하지 않으므로 수동으로 원본 파일을 포함 해보십시오.

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

이 오류는 실수로 네임 스페이스를 슬래시로 잘못 붙이면 발생할 수 있습니다. 사용 문은 네임 스페이스 수 없어, \ 접두어 할 수 있습니다. 네임 스페이스의 주요 안티 슬래시로 인해 PHP는 전체 라인을 상수로 인식합니다.