> 백엔드 개발 > PHP 문제 > php static은 무슨 뜻인가요?

php static은 무슨 뜻인가요?

藏色散人
풀어 주다: 2023-03-10 13:22:01
원래의
2847명이 탐색했습니다.

php static은 PHP의 키워드입니다. static 키워드를 사용하면 클래스가 로드되는 동안 하나의 복사본만 유지됩니다.

php static은 무슨 뜻인가요?

이 기사의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

php static은 무엇을 의미하나요?

PHP의 static 키워드의 역할과 차이점

PHP의 static은 Java와 같은 다른 객체 지향 언어와 다릅니다. 인스턴스화된 객체는 정적 메서드에만 액세스할 수 있으며 정적 멤버에는 액세스할 수 없습니다.

정적 키워드를 사용하면 해당 멤버는 클래스 로드 프로세스 중에 하나의 복사본만 유지됩니다. 정적 변수에 대한 모든 작업은 모든 개체에 영향을 미칩니다.

정적 변수는 PHP 개체 호출에서 인스턴스화할 수 없습니다. , 정적 메소드는 객체에 의해 호출될 수 있습니다

// ----类内部----
// 调用普通成员
this->name;
// 调用静态成员
self::name_static;
// ----类外部----
// 调用普通成员需要实例化使用
Car c = new Car();
c->name;
// 调用静态方法
c::fun()  <==>  Car::fun()
// 调用静态变量
Car::name;
로그인 후 복사

코드 분석:

class Car
{
    private $name;
    private static $type = "Car";
    function __construct($name)
    {
        $this->name = $name;
        echo "Car " . $name . " has created!\n";
    }
    public static function getType()
    {
        echo self::$type . "\n";
    }
    public function getName()
    {
        echo "Car name is " . $this->name . "\n";
    }
    function __destruct()
    {
        echo "Car " . $this->name . " has destory!";
    }
}
로그인 후 복사

엔티티 클래스는 생성자, 정적 함수, 일반 함수, 소멸자 및 일반 멤버 변수와 정적 멤버 변수를 정의합니다.

테스트에 PHPunit을 사용하세요

class  test extends PHPUnit_Framework_TestCase
{
    public function test_car()
    {
        $car = new Car("BMW");
        $car::getType();
        $car->getName();
    }
}
로그인 후 복사

출력을 얻을 수 있습니다:

Car BMW has created!
Car
Car name is BMW
Car BMW has destory!
로그인 후 복사

[권장 학습: PHP 비디오 튜토리얼]

위 내용은 php static은 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿