> 백엔드 개발 > PHP 튜토리얼 > 범위 분석 연산자를 사용한 PHP 샘플 코드 공유

범위 분석 연산자를 사용한 PHP 샘플 코드 공유

黄舟
풀어 주다: 2023-03-07 07:56:01
원래의
1796명이 탐색했습니다.

객체에 대한 프로그래밍에서는 ->와 같은 자체 연산자를 사용하며 이 기호가 사용됩니다. 객체의 멤버를 소유합니다. 다른 하나는 범위 결정 연산자입니다. 두 개의 콜론이 함께 연결됩니다(::). 이 표기법은 객체가 아닌 클래스 내의 멤버에 액세스하는 데 사용됩니다. 사용법은 다음과 같습니다:

ClassName::methodName();
ClassName::propertyName;
로그인 후 복사

이 구조는 두 가지 위치에서 사용될 수 있습니다:

1 클래스를 사용할 때 상위 클래스와 하위 클래스는 동일한 속성을 ​​가지며 사용 이는 메서드를 사용할 때 혼란을 피하기 위한 것입니다.

2. 클래스 외부에서 이 연산자를 사용하면 객체를 생성하지 않고도 클래스 멤버에 액세스할 수 있습니다.

클래스에서 $this를 사용하여 현재 개체의 인스턴스를 참조할 수 있는 것처럼 키워드 self는 현재 클래스에 대한 참조로 사용됩니다.

class SomeClass {
    function construct() {
        self::do();
    }

    protected function do(){
        echo "done!";
    }
}
로그인 후 복사

이 코드에서 self::do()는 현재 클래스의 do() 메서드를 트리거합니다.

부모 클래스의 멤버를 참조하려면 parent 키워드와 범위 확인 연산자를 사용하여 참조할 수 있습니다.

class SomeOtherClass extends SomeClass {
    function construct() {
        parent::do();
    }
}
로그인 후 복사

대부분의 경우 범위 확인 연산자를 사용하여 액세스합니다. 참고한 글쓰기 방법. 정적 및 상수 멤버에 액세스하는 데에도 사용할 수 있습니다.

참고: 정적 속성과 마찬가지로 클래스 상수는 클래스(또는 해당 하위 클래스)의 모든 인스턴스에서 액세스할 수 있습니다. 그러나 그 가치는 바꿀 수 없습니다. 클래스 상수는 const 키워드 와 상수 이름(달러 기호 없음)을 사용하여 생성됩니다. $obj->PI 또는 $obj::PI와 같은 객체를 통해 상수에 액세스할 수 없지만 ClassName::CONSTANT_NAME은 어디에서나 사용할 수 있습니다. 클래스 내의 메소드에서 self::CONSTANT_NAME을 사용할 수도 있습니다.

샘플 프로그램:

<?php  
	class Rectangle {
		protected static $_count = 0;
		protected $width;
		protected $height;

		function construct($width, $height) {
			$this->width = $width;
			$this->height = $height;
			self::$_count++;
			echo "已成功创建".self::$_count."个Rectangle对象<br>";
		}

		function destruct() {
			echo "销毁一个Rectangle对象<br>";
		}

		function getArea() {
			echo "Rectangle面积是:".($this->width * $this->height."<br>");
		}

		function getConunt() {
			return self::$_count;
		}
	}

	class Square extends Rectangle {
		function construct($side) {
			$this->width = $side;
			$this->height = $side;
			parent::$_count++;
			echo "已成功创建".parent::$_count."个Rectangle(Square)对象<br>";
		}
	}

	$rec = new Rectangle(10, 5);
	$rec->getArea();

	$square = new Square(10);
	$square->getArea();

?>
로그인 후 복사

실행 결과:


위 내용은 범위 분석 연산자를 사용한 PHP 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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