日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP拦截器的使用(转)

發(fā)布時間:2025/3/8 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP拦截器的使用(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PHP有如下幾個攔截器:

1、__get($property)
功能:訪問未定義的屬性是被調(diào)用
2、__set($property, $value)
功能:給未定義的屬性設置值時被調(diào)用
3、__isset($property)
功能:對未定義的屬性調(diào)用isset()時被調(diào)用
4、__unset($property)
功能:對未定義的屬性調(diào)用unset()時被調(diào)用
5、__call($method, $arg_array)
功能:調(diào)用未定義的方法時被調(diào)用

攔截器,顧名思義,它就“攔截”未定義的屬性和方法,有點類似__autoload和__construct等方法,應用案例如下(摘自網(wǎng)絡):

?

  • // 若訪問一個未定義的屬性,則將調(diào)用get{$property}對應的方法
  • function __get($property){
  • $method ="get{$property}";
  • if(method_exists($this, $method)){
  • return $this->$method();
  • }
  • }
  • ?
  • // 若給一個未定義的屬性設置值,則將調(diào)用set{$property}對應的方法
  • function __set($property, $value){
  • $method ="set{$property}";
  • if(method_exists($this, $method)){
  • return $this->$method($value);
  • }
  • }
  • // 若用戶對未定義的屬性調(diào)用isset方法,
  • function __isset($property){
  • $method ="isset{$property}";
  • if(method_exists($this, $method)){
  • return $this->$method();
  • }
  • }
  • // 若用戶對未定義的屬性調(diào)用unset方法,
  • // 則認為調(diào)用對應的unset{$property}方法
  • function __unset($property){
  • $method ="unset{$property}";
  • if(method_exists($this, $method)){
  • return $this->$method();
  • }
  • }
  • function __call($method, $arg_array){
  • if(substr($method,0,3)=="get"){
  • $property = substr($method,3);
  • $property = strtolower(substr($property,0,1)).substr($property,1);
  • return $this->$property;
  • }
  • }
  • 轉(zhuǎn)載于:https://www.cnblogs.com/xingmeng/p/3248612.html

    總結(jié)

    以上是生活随笔為你收集整理的PHP拦截器的使用(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。