首页 后端开发 php教程 php中魔术方法的说明

php中魔术方法的说明

Jun 28, 2018 pm 03:40 PM

* 魔术方法:

 * 1.类中以双下划线开头的方法,这是由系统内置的,用户方法不要用双下划线开头;

 * 2.魔术方法由系统在一定条件下自动触发调用,用户不能直接调用;

 * 注意:将类中的私有成员前面添加单下划线是一个好习惯;

 * 例如: private $_salary;    private function _listUsers(){...}

 * 使用魔术方法实现几个对象访问拦截器

 * 所谓拦截器:就是对用户的一些错误或非法访问进行检测和控制。

 * 之前我们学过__get($fieldName)和__set()这是二个最常用的拦截器

 * 现在我们再学习一组: __isset($fieldName)和__unset($fieldName)

 * 1. __isset():当在类外检测一个类属性是否存在时会自动调用

 * 2. __unset():当在类外销毁一个类属性时会自动调用  

class Demo 
{
    private $name = 'peter';
    private $email = 'peter@php.cn';
    
    //当在类外使用isset()检测某个属性是否存在时自动调用
    public function __isset($name)
    {
        //对访问进行过滤:如果属性名是'name',返回false,否则允许访问
        //即除了'name'属性外的其它属性允许外部进行isset()检测
        return ($name=='name') ? false : true;
    }
}
//实例化 Demo 类
$obj = new Demo;
//检测$obj中是否有name属性,返回 
echo isset($obj->name)?'存在':'不存在';
echo &#39;<hr>&#39;;
登录后复制

检测$obj中是否存在email属性,返回存在,因为类中__isset()返回true

echo isset($obj->email)?&#39;存在&#39;:&#39;不存在&#39;;
登录后复制

在外部使用unset()来销毁类属性

以上是php中魔术方法的说明的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP方法的命名规范与最佳实践 PHP方法的命名规范与最佳实践 Feb 29, 2024 pm 01:51 PM

PHP方法的命名规范与最佳实践作为一种流行的服务器端脚本语言,PHP被广泛用于开发网站和Web应用程序。在PHP开发中,方法(函数)是非常重要的一部分,良好的命名规范和最佳实践能够提高代码的可读性、可维护性和可扩展性。本文将分享一些关于PHP方法命名的规范和最佳实践,同时提供具体的代码示例。方法命名规范1.使用有意义且描述性的名称方法的名称应当准确地描述方

什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? 什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

深入理解PHP方法体的概念 深入理解PHP方法体的概念 Mar 29, 2024 am 08:00 AM

在PHP编程中,方法体是指封装在类中的函数,用于实现特定功能的代码块。通过方法体,我们可以将功能代码独立出来,提高代码的可维护性和复用性。在本文中,我们将深入探讨PHP方法体的概念,并结合具体的代码示例进行说明。1.类与方法的基本概念首先,让我们了解一下类和方法的基本概念。类(Class)是面向对象编程的基本概念,表示具有相似特征和行为的对象的模板或蓝图。

解释PHP中的__ Invoke Magic方法。 解释PHP中的__ Invoke Magic方法。 Apr 12, 2025 am 12:07 AM

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

PHP方法参数传递及返回值详解 PHP方法参数传递及返回值详解 Feb 29, 2024 pm 06:18 PM

PHP方法参数传递及返回值详解在PHP中,方法参数传递和返回值是非常重要的概念,它们在程序开发中起着至关重要的作用。本文将详细讨论PHP中方法参数传递和返回值的具体用法,并附上相应的代码示例,以帮助读者更好地理解。方法参数传递在PHP中,方法可以接受参数并对其进行处理。方法参数传递主要有以下几种方式:传值调用(默认):在PHP中,默认情况下,方法是通过传值调

PHP方法定义及使用指南 PHP方法定义及使用指南 Feb 29, 2024 pm 05:51 PM

PHP方法定义及使用指南PHP是一种功能强大的服务器端脚本语言,广泛应用于Web开发。在PHP中,方法(也称为函数)是一种用来封装可重复使用的代码块的机制。本文将为您介绍PHP方法的定义和使用方法,并附有具体的代码示例供参考。方法的定义在PHP中,方法的定义遵循以下语法格式:function方法名(参数1,参数2,...){//方法体}

PHP方法体的定义与用法 PHP方法体的定义与用法 Mar 28, 2024 pm 03:03 PM

PHP是一种广泛应用于Web开发的服务器端脚本语言,PHP方法体的定义与用法在PHP编程中是非常重要的部分。方法体指的是函数的具体实现代码部分,通过定义方法体可以实现对相同功能的代码进行封装和复用,提高代码的可维护性和可读性。在PHP中,方法体的定义遵循一定的语法规则,下面将介绍PHP方法体的定义和使用,并附有具体的代码示例。PHP方法体的定义在PHP中,定

PHP程序中的魔术方法最佳实践 PHP程序中的魔术方法最佳实践 Jun 07, 2023 am 08:01 AM

魔术方法是PHP程序中重要的特性之一,它们被称为魔术方法,是因为它们提供了一种在类中自动执行某些操作的方式,而无需显式地调用它们。在PHP中,有多个魔术方法,包括__construct、__destruct、__get、__set、__call、__toString、__sleep、__wakeup、__isset和__unset等等。这些方法不仅有助于提

See all articles