PHP의 클래스에서는 static 키워드가 포함된 메서드와 properties를 static메서드라고 하며 이러한 메서드와 속성은 해당 클래스 없이 클래스를 통해 직접 액세스할 수 있습니다. PHP에서 static 키워드가 어떻게 사용되는지 설명하는 글입니다. static 키워드를 이해하지 못한 학생들도 함께 살펴보세요!
일반 클래스 및 메소드 사용 외에도 액세스 제어에는 정적 키워드 static도 있습니다. 정적 변수는 프로그램 세그먼트가 실행될 때 로컬 변수일 수도 있고 전역 변수일 수도 있습니다. 메모리에 여전히 존재하며, 다음에 정의할 때 이전 값을 유지하기 위해 자주 사용됩니다. 함수에 대해서는 자세히 설명하지 않겠습니다. 다음의 간단한 코드로 설명하겠습니다. class Human{
public $name;
protected $height;
public static $sValue="Static Value in Human";
public function eat($food){
echo $this->name . "'s eating ". $food. "\n";
}
}
class Me extends Human
{
public $team="lsl";
private $age="23";
public static $president="zzy";
public static function changePresident($newPrsdt){
static::$president = $newPrsdt;
echo parent::$sValue . "<br />";
}
//静态变量和方法操作
private static $a="abc";
public static function abc(){
echo "<br />".self::$a;
self::$a.="def";
}
}
echo Me::$president. "\n";
Me::changePresident("web");
echo Me::$president. "<br />";
Me::abc();
Me::abc();
1. 일반 정적 속성은 클래스의 공개 데이터를 저장하는 데 사용됩니다
2. 이 메서드를 포함하여 정적 메서드 내에서는 정적 속성만 액세스할 수 있습니다. 클래스 및 상위 클래스
3. 객체를 인스턴스화하지 않고도 정적 멤버에 액세스할 수 있습니다.
4. 이 클래스 내의 정적 속성에 액세스하려면 self 또는 static 키워드를 사용하고 뒤에 오는 변수에는 $ 가 포함되어야 합니다(예: self::$a 또는 static::$a
5). parent::$name
6. 클래스 외부의 정적 변수나 메소드에 액세스하는 경우 인스턴스화 없이 클래스 이름을 사용하여 직접 액세스합니다. 예: Me::$pan 및 Me::abc()
특정 점이 너무 많습니다
정적을 이해하지 못합니다:
정적 변수와 정적 변수의 차이점 분석 일반 변수위 내용은 PHP에서 정적 키워드 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!