- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
ID: php-code-style/no-this-static
Language: PHP
Severity: Error
Category: Error Prone
In PHP, $this
is a special variable that is used to reference the current object. However, static methods are not associated with an object, but with a class. Therefore, $this
is not available within a static method.
Ignoring this rule and attempting to use $this
in a static method results in a fatal error because PHP cannot resolve $this
without an instance of the class. It is critical to ensure that $this
is not used in a static context to prevent such fatal errors.
To follow this rule, you should only use $this
in non-static methods where it will refer to the current object instance. If you need to use a method or property in a static method, consider making that method or property static as well. For example, if you have a property that you need to access in a static method, you can declare it as public static $property
, and then access it in the static method using self::$property
instead of $this->property
.
<?php
class Foo {
public $debug;
static function print() {
if ($this->debug) {
echo "Testing";
}
}
}
<?php
class Foo {
public $debug;
public function print() {
if ($this->debug) {
echo "Testing";
}
}
}
|
|
For more information, please read the Code Analysis documentation
Identify code vulnerabilities directly in yourVS Code editor
Identify code vulnerabilities directly inJetBrains products