찾다
php教程php手册PHP中__construct(), __destory(), __get(), __set(), __call(),

(1)__construct() 是PHP内置的构造函数, 是同PHP 解析引擎自动调用的, 当实例化一个对象的时候,这个对象的这个方法首先被调用。

例:class Test

       {

             function __construct()

            {

                  echo "This is __construct function!";

             }

            function Test()

           {

                  echo "This is Test!";

           }

     }

$objTest = new Test;      // 运行结果是“This is __construct function!”


(2)__destory()是PHP内置的析构函数,当删除一个对象或对象操作终止的时候,调用该方法,所以可进行释放资源之类的操作。

class Test

{

      function __destory()

      {

            echo "This is __destory function!";

       }

}

$objTest = new Test;       // 运行结果是“This is __destory function!”


(3)__get()当试图读取一个并不存在的属性的时候被调用,类似java中反射的各种操作。

class Test

{

      function __get($key)

     {

           echo $key, "doesn't exist!";

      }

}

$objTest = new Test;

$objTest->Name;    // 运行结果是“Name does'nt exist!”


(4)__set()当试图向一个并不存在的属性写入值的时候被调用。

class Test

{

      function __set($key, $val)

       {

              echo “Can't assign\"” . $val . "\" to ". $key;

      }

}

$objTest = new Test;

$objTest->Name = "ljlwill";    // 运行结果是“Can't assign "ljlwill" to Name”


(5)__call()当试图调用一个对象并不存在的方法时,调用该方法。

class Test

{

     function __call($key, $args)

    {

          echo "The function \"". $key ."\" doesn't exist. it's args are ". print_r($args);

    }

}

$objTest = new Test;

$objTest->getName("2004", "ljlwill");

// 运行结果是 The function "getName" doesn't exist. it's args are: Array(

   [0] => 2004;

   [1] => ljlwill;

)


(6)__toString() 当打印一个对象的时候被调用,类似于java的toString方法,当我们直接打印对象的时候回调用这个函数。

class Test

{

     function __toString()

     {

              return "This is Test!";

     }

}

$objTest = new Test;

eho $objTest;         // 运行结果是“This is Test!”


(7)__clone() 当对象被克隆时,被调用。

class Test

{

        function __clone()

         {

                echo "I am cloned!" ;
         }

}

$objTest = new Test;

$objCloneTest = clone $objTest;     // 运行结果是“I am cloned!”
 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구