당신이 PHP> = 5.3를 사용하는 경우, 당신은 당신의 문자열 선언 HEREDOC syntax을 사용할 수
class MyClass {
public $str = <<<STR
this is
a long
string
STR;
}
$a = new MyClass();
var_dump($a->str);
을하지만이 :
- 은 PHP> = 5.3
으로 만 가능합니다
- 문자열에 변수가 없어야합니다.
- 이것은 문자열의 값이 컴파일시에 알려 져야하기 때문입니다.
- btw는 연결이
.
인 이유가 작동하지 않는 이유를 설명합니다. 실행시 완료됩니다. 수도, 여부, 나쁜 일이 될 수있는 -
는 그리고 또 다른 단점은이 문자열에 줄 바꿈을 넣어 것입니다.
PHP < = 5 인 경우.2 :
당신은 그렇게 할 수 없습니다. 해결책은 클래스의 문자열을 초기화 할 수있는 '생성자 :
class MyClass {
public $str;
public function __construct() {
$this->str = <<<STR
this is
a long
string
STR;
}
}
(안 줄 바꿈과 동일) 여기
또는, 당신이 할 수있는 문자열 회씩 연결 :
class MyClass {
public $str;
public function __construct() {
$this->str = 'this is' .
'a long' .
'string';
}
}
(이쪽, 줄 바꿈 없음)
그 밖에, 당신은 하나 또는 작은 따옴표로 둘러싸여 문자열을 가지고 있고, 여러 줄에 넣어 수 있습니다
class MyClass {
public $str = "this is
a long
string";
}
(여기서 다시, 당신은 결과 문자열에서 줄 바꿈을해야합니다)
출력
본인은 위의 작동하지 않습니다 어떤 이유가 표시되지 않습니다. 코드를 정확하게 게시 할 수 있습니까? 감사. –
변수를 여러 줄로 확장 할 수 있으며 코드를 게시하고 작동하지 않는 방법을 정확히 기재 할 수 있습니까? –
그런데'global' 키워드 나'$ GLOBALS' 슈퍼 전역 배열을 사용하여 클래스 외부의 변수에 접근 할 수 있습니다. 나는 이것을 권장하지 않는다. – Zarel