PHP가 다른 언어에서 정적처럼 작동하는 클래스에서 변수 유형을 가지고 있는지 궁금합니다. 그리고 그것은 동일한 클래스의 모든 객체가 동일한 변수를 사용한다는 것을 의미하며 하나가 업데이트되면 모든 객체에서 업데이트됩니다. Static은 모든 객체에서 공유되기 때문에 닫기는 가능하지만 업데이트 할 수 있어야합니다. 이를 위해 전역을 사용해야합니까?다른 언어의 정적 변수에 해당하는 PHP는 무엇입니까?
답변
나는 정적 당신이 원하는 것을 생각합니다. . 당신은 즉, :: 연산자를 사용하여 (당신은 단지 "정적 컨텍스트"그것을해야 할 정적 변수를 업데이트 할 수 있습니다
class Class1 {
protected static $_count = 0;
public function incrementCount() {
return self::$_count++;
}
}
$instance1 = new Class1();
$instance2 = new Class1();
var_dump($instance1->incrementCount(), $instance2->incrementCount());
출력됩니다 :.
INT 0
INT 1
이것이 문제였습니다. 나는 $ 대신 this를 사용했다. – fent
PHP 파일에 Constants라는 변수를 만들면됩니다.
--Constants.php-- $ DATABASE_NAME = "MySQL은"
및 파일에 파일을 포함한다. 그 값을 변경할 수 있습니다. 그것은 당신이 원하는 것에 가깝지만, 상수가 변경되지 않기 때문에 상수 라 부르는 것이 좋지 않습니다. 그것은 저를 혼란스럽게합니다. :)
static 변수를 설명하는 것에 대해 작동하지 않는 이유는 모르겠지만 (final 키워드와 아무런 관련이 없음)?
<?php
class Bla
{
public static $var;
public function __construct()
{
Bla::$var = Bla::$var + 1;
}
}
$test = new Bla();
echo Bla::$var; // 1
$test = new Bla();
echo Bla::$var; // 2
?>
당신 수 갱신 정적 속성 :
class A {
protected static $_foo = 0;
public function increment()
{
self::$_foo++;
}
public function getFoo()
{
return self::$_foo;
}
}
$instanceOne = new A();
$instanceTwo = new A();
$instanceOne->getFoo(); // returns 0
$instanceTwo->increment();
$instanceOne->getFoo(); // returns 1
나는. static
당신이 찾고있는 키워드입니다
생각 그리고 01을 방지 아무것도 없다beeing의 "updated"속성은 PHP에서 설정되었습니다 : PHP 스크립트가 실행되는 동안 처음 초기화되고 PHP 스크립트를 실행하는 동안 값을 유지하지만 새로운 값으로 설정할 수 있습니다.
정답은 최종적으로 PHP에 상응하는 것이 없다는 것이지만 정적 인은 어쨌든 처음에 원하는 것처럼 보입니다.
정적은 특정 인스턴스와 연결되어 있지 않으므로 클래스의 모든 인스턴스에서 동일한 값을 갖게됩니다.
고정되고, 당신은 사용할 수 없기 때문에 당신이 그것을 액세스 할 수 :: 연산자를 사용해야합니다 ->합니다.- 1. 다른 정적 변수에 액세스하려고 시도하는 정적 변수
- 2. Java Servlet Filter에 해당하는 PHP는 무엇입니까?
- 3. 이 코드에 해당하는 PHP는 무엇이겠습니까?
- 4. PEAR 다른 언어의 대체물
- 5. 다른 언어의 Ipad 앱
- 6. C에서 다른 파일의 정적 변수에 액세스하는 방법은 무엇입니까?
- 7. PHP 정적 변수에 대한 참조
- 8. PHP는 filename 변수에 밑줄을 표시합니까?
- 9. 다른 언어의 OpenCV 성능
- 10. 다른 언어의 StyleCop
- 11. 다른 언어의 프로그램 병합
- 12. 정적 변수에 대한 질문
- 13. 정적 변수에 액세스하는 템플릿 메서드
- 14. 정적 언어의 런타임 최적화 : JIT for C++?
- 15. 다른 언어의 자바 스크립트를 사용하십시오
- 16. 다른 아키텍처에서의 C 언어의 크기
- 17. 다른 언어로 한 언어의 음성
- 18. Visual Studio 환경 변수에 해당하는 Xcode
- 19. $ var :: $ reference로 정적 변수에 액세스
- 20. 다른 파일에서 정적 변수에 어떻게 액세스 할 수 있습니까?
- 21. 시간과 다른 메시지보기 | PHP는
- 22. PHP는 : 다른 배열
- 23. PHP는 다른 문자열
- 24. C 언어의 한정어는 무엇입니까?
- 25. JAVA 언어의 약자는 무엇입니까?
- 26. WYSIWYG 용 다른 언어의 사용자 인터페이스
- 27. 다른 방법으로 변수에 액세스하기
- 28. Icon 프로그래밍 언어의 장단점은 무엇입니까?
- 29. PHP는 다른 클래스 런타임에서 확장됩니다 (변수로 확장?)
- 30. 정적 멤버 변수에 대한 정의되지 않은 참조
정적 속성을 언제 업데이트 할 수 있습니까? – jason
정적 변수를 수정할 수 있습니다 ... –
Const 변수는 수정할 수 없습니다. 정적 변수가 될 수 있습니다. – Extrakun