PHP에서 이중 콜론 적용
"::" 연산자는 PHP 클래스 코드에서 자주 볼 수 있습니다. 이는 범위 제한 연산자로, 클래스 내 다양한 범위의 수준을 설정하는 데 사용됩니다. 왼쪽은 범위이고 오른쪽은 액세스 범위의 멤버입니다.
php에는 self와 parent라는 두 가지 범위가 정의되어 있습니다(정적 범위는 php6에서 제공됩니다).
self: 현재 클래스의 범위를 나타냅니다. 이와 달리 클래스의 특정 인스턴스를 나타내지 않습니다. Self는 클래스 외부의 코드에서 사용할 수 없으며 상속 계층에서 자신을 식별할 수 없습니다. 위치. 즉, 확장 클래스에서 self를 사용하면 상위 클래스의 메서드를 호출하지 않고 확장 클래스의 오버로드된 메서드를 호출합니다.
parent : 현재 클래스의 부모 클래스의 범위를 나타내며, 나머지는 self 속성과 동일하다.
PHP 이중 콜론 :: 연산자 예:
<?php class forasp{ static $url="http://blog.csdn.net/abandonship"; static $webname = "PHP学习之双冒号的用法"; public function writeurl(){ echo self::$url;//调用自己的内容 } public function writewebname(){ echo "测试子类调用父类内容"; } } class cn extends forasp{ function father(){ parent::wirtewebname(); } } $a = new forasp();//实例化父类 $a->writeurl();//调用自身内容 $b = new cn(); $b->writewebname();//调用父类内容 ?>
정적 메서드를 호출할 때 ::를 사용하여 클래스의 정적 메서드나 속성을 호출할 수도 있습니다. 각 클래스 인스턴스가 리소스의 일부를 차지하므로 리소스 사용량을 줄입니다.
static:: 범위는 php6에서 제안되었으므로 더 이상 self:: 및 parent::가 필요하지 않습니다. 함수를 구현하는 최종 클래스를 가리키려면 static::을 사용합니다. 이 한정자는 코드가 실행되기 직전에 상속 계층의 마지막 클래스 멤버를 계산합니다.
"범위 확인 연산자"라고도 알려진 "이중 콜론 연산자"는 클래스의 정적, 상수 및 재정의된 속성과 메서드에 액세스할 수 있습니다.
클래스 정의 외부에서 사용하는 경우 클래스 이름을 사용하여 호출하세요. PHP 5.3.0에서는 클래스 이름 대신 변수를 사용할 수 있습니다.
프로그램 목록: 클래스 정의 외부에 액세스하려면 변수를 사용
<?php class Fruit { const CONST_VALUE = 'Fruit Color'; } $classname = 'Fruit'; echo $classname::CONST_VALUE; // As of PHP 5.3.0 echo Fruit::CONST_VALUE; ?>
프로그램 목록: 클래스 정의 외부에 이중 콜론(::) 사용
<?php class Fruit { const CONST_VALUE = 'Fruit Color'; } class Apple extends Fruit { public static $color = 'Red'; public static function doubleColon() { echo parent::CONST_VALUE . "\n"; echo self::$color . "\n"; } } Apple::doubleColon(); ?>
프로그램 실행 결과:
과일색 빨간색
프로그램 목록: 상위 메소드 호출
Php 코드
<?php class Fruit { protected function showColor() { echo "Fruit::showColor()\n"; } } class Apple extends Fruit { // Override parent's definition public function showColor() { // But still call the parent function parent::showColor(); echo "Apple::showColor()\n"; } } $apple = new Apple(); $apple->showColor(); ?>
프로그램 실행 결과:
Fruit::showColor()
Apple::showColor()
프로그램 목록 : 범위 한정자 사용
Php 코드
<?php class Apple { public function showColor() { return $this->color; } } class Banana { public $color; public function __construct() { $this->color = "Banana is yellow"; } public function GetColor() { return Apple::showColor(); } } $banana = new Banana; echo $banana->GetColor(); ?>
프로그램 실행 결과:
바나나는 노란색입니다.
프로그램 목록: 호출 기본 클래스 메서드
Php 코드
<?php class Fruit { static function color() { return "color"; } static function showColor() { echo "show " . self::color(); } } class Apple extends Fruit { static function color() { return "red"; } } Apple::showColor(); // output is "show color"! ?>
프로그램 실행 결과:
show 색상

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu
