一、魔术常量

__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),
而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。
在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。
在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。
注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。
当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。
Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

二、魔术方法

__get()
在类外访问私有化成员属性时,__get会被自动触发。
__get()必须给一个参数。参数就是访问的私有化成员属性。

__set()
在类外设置私有化成员属性时,__set()会被自动触发。
__set()必须给两个参数。参数就是设置的私有化成员属性名称。设置的值。

__clone()
在应用关键词clone时,魔术方法__clone会被自动触发。
作用:给成员属性赋初值。

__call()
当访问类中一个不存在的成员方法时,会被自动调用。
魔术方法__call有两个必须的参数。第一个参数是请求的不存在的方法名称,格式是字符串。第二个参数是请求不存在方法时给的参数。格式是数组。
作用:可以将多个功能相似的成员方法都写入到魔术方法__call里面。

__autoload()
功能自动加载。在实例化类对象时,会被自动触发。
有一个必须的参数。参数实例化时的类名称。

__toString()
- 不需要参数
- 当企图以字符串形式输出类对象时
- 要求必须return 一个内容
- 返回toString 魔术方法中return 的字符串。
- 介绍类

转载于:https://www.cnblogs.com/yuanwanli/p/5835709.html

PHP魔术方法和魔法变量详解相关推荐

  1. php魔术方法get,PHP魔术方法之__get,__set详解(代码实例)

    本文目标: 1.了解PHP中魔术方法的定义 2.了解__get()魔术方法的使用场景 3.掌握__get()魔术方法的用法 4.了解__set()魔术方法的使用场景 5.掌握__set()魔术方法的用 ...

  2. php 魔术方法 unset,PHP魔术方法之__iset,__unset详解(代码实例)

    本文目标: 1.了解PHP中魔术方法的定义 2.了解__isset()魔术方法的使用场景 3.掌握__isset()魔术方法的用法 4.了解__unset()魔术方法的使用场景 5.掌握__unset ...

  3. Java简单类、变量详解(概念和分类、声明、命名、初始化)

    1初识JAVA简单类 (1)创建第一个Java程序的具体步骤: 第一步:创建一个工程,在Package Explorer空白区域中右击New->点击Java Project->填写Proj ...

  4. php的 静态变量,PHP之static静态变量详解

    在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...

  5. ubuntu下环境变量详解 bashrc, profile, environment

    ubuntu下环境变量详解 bashrc, profile, environment 本博客转载自:http://blog.csdn.net/hipkai/article/details/415486 ...

  6. Android JNI使用方法,JNI机制详解

    Android JNI使用方法,JNI机制详解 JNI的出现使得开发者既可以利用Java语言跨平台.类库丰 富.开发便捷等特点,又可以利用Native语言的高效. JNI是JVM实现中的一部分,因此N ...

  7. c语言path环境变量,Windows下PATH等环境变量详解(转载)

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  8. 主成分分析(PCA)方法步骤以及代码详解

    主成分分析(PCA)方法步骤以及代码详解 前言 上一节我们了解到在构建神经网络模型,除了掌握如何搭建神经网络架构,了解参数具体含义,规避风险等方法.第一步是要对采用数据集的详细了解,无需接触任何神经网 ...

  9. 在oracle环境变量里,oracle环境变量详解

    共享存储文件系统(NFS) 通常情况下,ORACLE_SID这个环境变量全称Oracle System Identifier,,用于在一台服务器上标识不同的实例,默认情况下,实例名就是ORACLE_S ...

  10. java测试类 main方法_Java使用agent实现main方法之前的实例详解

    Java使用agent实现main方法之前的实例详解 创建Agent项目 PreMainExecutor 类,在main方法之前执行此方法 public class PreMainExecutor { ...

最新文章

  1. 消息中间件消费到的消息处理失败怎么办?
  2. 【Tomcat】Tomcat 系统架构与设计模式,第 1 部分: 工作原理
  3. HTML和CSS初级前端面试题汇总(持续补充)
  4. [云炬python3玩转机器学习笔记] 3-8Numpy中的聚合运算
  5. BZOJ 1188: [HNOI2007]分裂游戏(multi-nim)
  6. 17 张程序员壁纸(赶快挑一张吧)
  7. 通过Docker或虚拟机快速搭建私有云平台--使用Nextcloud和ONLYOFFICE创建您的WebOffice云办公系统
  8. 从右边开始放_幸福的生活,从入住新房开始,效果很漂亮,忍不住给大家晒晒全屋...
  9. 不可错过!斯坦福课程3D数据的机器学习方法(Machine Learning for 3D Data)第二部分Geometry Foundations: Surface Representations
  10. c语言实验学生版最新版答案,C语言实验新-学生版
  11. 高性能服务器天梯,2019服务器CPU天梯图 多路CPU性能排名
  12. r4900g3系统安装linux_H3C UniServer R4900 G3
  13. 记一次从 git pull 出现 Untracked FilesPervent Merge
  14. RK3588 Android12 SDK 中在device介绍及如何新建自己的产品lunch项
  15. php高级工程师面试题,行不行对照看下自己的实力
  16. 聚合支付代理的有利可图之处
  17. SEO究竟是什么?SEO的相关基础概念介绍
  18. 《简约之美-软件设计之道》- 笔记
  19. 学习笔记:深度学习(3)——卷积神经网络(CNN)理论篇
  20. 用 wingrub 引导Linux安装详述

热门文章

  1. 通过 JavaScript调用Asp.net(C#)后台方法
  2. javascript 计算每行中的列数
  3. 使用辅助任务来提升情感分类领域适应
  4. BERT源码分析(一)
  5. 神经网络基础模型--Logistic Regression的理论和实践
  6. 字节跳动 AI Lab 21届校招启动啦!
  7. 深度学习2.0-35.ResNet-18实战
  8. 数据科学包7- pandas高级内容之分组运算
  9. python 用法 argparse.ArgumentParser()用法解析
  10. Kotlin:比 Java 做得更好