PHP类中的__get()和__set函数到底有什么用
PHP类中的__get()和__set函数到底有什么用
一、总结
一句话总结:当试图获取一个不可达变量时,类会自动调用__get。同样的,当试图设置一个不可达变量时,类会自动调用__set。在网站中,这两个并不是什么非用不可的函数。所以可以用于输出提示消息,或者返回值。
1、php中使用什么代替java面相对象中的常用的get和set方法?
类默认自带的__get()和__set()
2、php中类中默认自带的__get()方法什么时候被调用?
当试图获取一个不可达变量时,类会自动调用__get
所以在php中相当于可以直接用对象访问私有属性(因为会自动调用__get()方法)
3、php中如何调用类的私有属性?
a、new对象($modelTime =new ModelTime();)
b、用new出来的对象直接调用属性(echo $modelTime->perDayTS;die;)
c、在类中要写__get()方法返回值
10 public function __get($my_var){ 11 return $this->$my_var; 12 }
二、PHP类中的__get()和__set函数到底有什么用?
当试图获取一个不可达变量时,类会自动调用__get。
public function __set($vname,$value)
{
$this->$vname = $value;
}
参考:
PHP类中的__get()和__set函数到底有什么用? - East2_100 - 博客园
https://www.cnblogs.com/east2-100/p/5272699.html
三、php中使用类默认自带的__get()和__set()代替java中的常用的get和set方法
关键代码
1 class Time extends Common 2 { 3 private $perDayTS; 4 public function __construct() { 5 parent::__construct(); 6 $this->perDayTS=24*60*60; 7 echo "正在调用构造函数".$this->perDayTS; 8 } 9 10 public function __get($my_var){ 11 return $this->$my_var; 12 }
调用
1 public function test1(){ 2 $modelTime =new ModelTime(); 3 echo $modelTime->perDayTS;die; 4 }
转载于:https://www.cnblogs.com/Renyi-Fan/p/9487387.html
PHP类中的__get()和__set函数到底有什么用相关推荐
- C++多继承中重写不同基类中相同原型的虚函数
在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数.下面就是一个例子: class CBaseA { public: virtual void TestA(); }; class ...
- C++类与对象(类中的六大默认成员函数)
文章目录 类的默认成员函数 构造函数 概念 特征 自己定义构造函数 类中编写 传参方法 编译器自动生成的构造函数 定义变量方式 初始化规则 析构函数 概念 特性 自己定义析构函数 编译器自动生成的析构 ...
- PHP中的__get()和__set()方法获取设置私有属性
在类的封装中,获取属性可以自定义getXXX()和setXXX()方法,当一个类中有多个属性时,使用这种方式就会很麻烦.为此PHP5中预定义了__get()和__set()方法,其中__get()方法 ...
- python类中调用另一个程序函数_Python:如何在另一个类中调用函数
我被一些python脚本困住了 https://python4kids.brendanscott.com/2014/12/02/hooking-up-the-sunfish-chess-engine- ...
- 模板类中 typename的用法,以及函数的定义和声明
typename 的用法: 第一种 template<typename T> 这种大家都知道, 和 template<class T> 一样,就不多讲解了 第二种: 嵌套从属名 ...
- C++ string类中的find()函数的简单使用
#include<iostream> using namespace std; int main(){string s1 = "abcdefa";string s2 = ...
- Random类中的nextInt()函数
Random的两个nextInt函数: 1.Random的nextInt()是无参函数,用来随机生成-~范围之间的整数: 2.Random的nextInt(int n)函数用来随机生成[0,n)之间的 ...
- C++学习笔记-----永远不要在派生类中改变虚函数的默认参数值
提到虚函数,我们就会自然而然的想到多态,但是当虚函数中存有默认参数值的时候,在派生类中重定义这个虚函数时不可以改变这个参数的值. 请看下面的例子: #include "stdafx.h&qu ...
- python 类方法 函数_Python OOP类中的几种函数或方法总结
概述 实例方法 使用实例调用时,默认传递实例本身到实例方法的第一个参数self 使用类调用时,必须传递一个实例对象到实例方法的第一个参数 静态方法 使用实例调用和类调用效果相同; 类方法 装饰器版: ...
最新文章
- VS不显示最近打开的项目
- arXiv | 图表示方法驱动大分子计算研究
- python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp
- 从源码角度看Android系统SystemServer进程启动过程
- 音视频技术开发周刊 | 152
- Spring核心接口之Ordered
- 【MySQL】源码安装MySQL
- 笔记本电脑下载python视频-Python的用法笔记本
- shell第二次练习
- Linux根据端口号或者关键字查询进程,重启Tomcat服务脚本优缺点说明
- Android APP压力测试 之Monkey日志自动分析脚本
- 外壳防护等级/IP防护等级说明
- 设置页数自增页眉/页脚——Word中page域代码的使用
- win10系统进行电脑分盘
- CDN加速是什么?具体有什么用?
- 用Matlab把SMAP vegetation optical depth (VOD)数据转换成带投影信息EASE GRID2的tif文件
- java代码随机取名字
- Altium Designer PCB板框扩大
- 片上总线Wishbone 学习(四)接口信号定义
- 【计算机毕业设计】课堂考勤微信小程序 基于微信小程序的课堂考勤管理系统