程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php魔術方法功能與用法實例分析

php魔術方法功能與用法實例分析

編輯:PHP綜合

本文實例講述了php魔術方法功能與用法。分享給大家供大家參考,具體如下:

<?php
//php中的魔術方法
header('content-type:text/html;charset=utf-8');
class Person{
 public $name;
 protected $sex;
 private $salary;
 //構造方法,實例化對象是自動觸發的方法
 public function __construct($name,$sex,$salary){
  $this->name=$name;
  $this->sex=$sex;
  $this->salary=$salary;
 }
 //魔術常量__CLASS__
 public function getClassName(){
  echo __CLASS__;
 }
 // __FUNCTION__
 public function getMethod(){
  echo __FUNCTION__;
 }
 //__tostring()
  public function __tostring(){
   return '對象必須用var_dump()'.'姓名是'.$this->name;
  }
 //__clone() 在使用clone方法的時候會自動調用
  public function __clone(){
   echo '這個對象是被克隆出來的';
   $this->name='李四';
  }
  //__get() 當調用一個不存在或權限不夠的屬性自動觸發的方法
  public function __get($a){
   echo $a.'屬性不存在或權限不夠';
  }
  //__set() 當設置一個不存在或權限不夠的屬性時自動觸發的方法
  public function __set($name,$value){
   echo $name.'為'.$value;
  }
  //__isset() 當在類外判斷一個不存在或權限不夠的屬性時自動觸發的方法
  public function __isset($name){
   echo $name.'不能為空';
  }
  //__call() 當去訪問一個權限不夠或者不存在的方法的時候,會自動觸發的魔術方法
  public function __call($method,$a){
   echo '您請求的方法'.$method.'不存在';
   $this->getname();
  }
  public function getname(){
  echo $this->name;
  }
}
//實例化對象
$person=new Person('張三','男',12223);
$person1=new Person('張三','男',12223);
//$person2=new Person('李四','女',11111);
var_dump($person);
var_dump($person1);
exit;
$person->getClassName();
$person->getMethod();
//echo $person->name;
//echo $person;
$person1=$person; //同一個對象
//var_dump($person);
//var_dump($person1);
$person2=clone $person; //克隆會產生不一樣的對象
//var_dump($person);
//var_dump($person2);
//echo $person2->name;
//$person->salary=10000;
//var_dump(isset($person->salary));
//$person->getName();

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved