PHP类中,若要初始化成员属性,那么成员属性的初始值必须是一个常数,如果不是常数(如变量),则会报错,所以,如果你要初始化就只能是在构造函数里进行初始化,不过你可以写一个方法,这样就可以在构造函数里批量初始化,不用写那么多的$this->变量名称,而且还支持非常数的初始化。这是最简单的,如果你还想增加访问控制,可以相对改一下就行了

Class A{

function __construct(){

$vars = array(

'x' =>'china',

'y' => 'beijing',

'z' => rand(),

);

$this->initVar($vars);

}

function initVar($vars){

if(!empty($vars)){

foreach($vars as $var => $val){

$this->$var = $val;

}

}

}

function getVar($var){

return $this->$var;

}

}

$a = new A();

echo $a->getVar('z');

?>

类成员初始化顺序php,PHP-php类成员变量初始化的问题?相关推荐

  1. java static 变量 初始化一次_关于java static变量初始化的疑问

    java中,类的static变量作为类变量,只需要被一次初始化,就可使用,但是,我在程序中遇到一个问题: 在web.xml中配置listener,服务器启动时,ServletContextListen ...

  2. 1.c++中初始化列表和构造函数初始化的区别是什么?2.类的成员变量的初始化顺序是按照声明顺序吗?

    初始化列表和构造函数初始化的区别是什么? 初始化和赋值对内置类型的成员没有太大的区别,在成员初始化列表和构造函数体内进行,在性能和结果上都是一样的.只有一些需要注意的事项 初始化列表一般情况如下: D ...

  3. Java类初始化顺序(变量赋值与静态代码块的执行时间)

    前言:最近写代码的时候经常见到见到static代码块,不由对static的执行时间产生了兴趣,进而对类初始化顺序产生了兴趣. 类从编译到执行的过程: 在使用ClassLoader将字节码转换为JVM中 ...

  4. JAVA类初始化顺序总结

    类的初始化 初始化顺序 首先来看下,当一个类从main入口方法,对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序: public class ClassLoadTest {priv ...

  5. Java的,与类的初始化顺序

    转载自 https://blog.csdn.net/sujz12345/article/details/52590095 <init>与<clinit> <init> ...

  6. Java复习总结之解析类的初始化顺序

    引言 当我们需要做一些必要的事情时,我们会根据具体的情况来确定先做什么,再做什么,就像这件事很急,所以我们先把它完成.那件事不着急,我们可以把它放在靠后的顺序再做.同理,对于Java来说,对于一个类的 ...

  7. Java类初始化、变量初始化

    Java类初始化.变量初始化 摘自:https://blog.csdn.net/mocas_wang/article/details/109956014 基础知识 Java常量, final 修饰,值 ...

  8. Java 初始化顺序

    无继承关系的初始化顺序 class Sample {Sample(String s){System.out.println(s);}Sample(){System.out.println(" ...

  9. Javaamp;amp;(面试题)初始化顺序总结

    1  无继承情况下的Java初始化顺序: class Sample {       Sample(String s)       {             System.out.println(s) ...

  10. Java程序的初始化顺序

    一.使用场景 在Java程序中,当实例化对象时,对象的所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后,才会调用对象所在类的构造函数创建对象. 二.原则 1️⃣变量优先于块.静态优先 ...

最新文章

  1. hibernate mysql 模糊查询_服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到...
  2. ECMAScript 6 -- let和const命令
  3. 福建省考计算机专业,2020福建省考,这些报考专业问题你清楚吗?
  4. java栈的底层实现_JVM 底层原理总结
  5. 网管学习笔记-hybrid口配置
  6. 奇异值分解(Singular Value Decomposition, SVD)——快速教程
  7. IE8的样式兼容性适应方法【转】
  8. uiswitch样式_iOS - UISwitch 、UISegmentedControl
  9. 面向对象程序设计———大花园
  10. shadowdocksc错误;端口已被占用
  11. 额定能量不得超过160Wh, 等同是多少mAh电池容量?
  12. 支付宝营销策略效果分析 A/Btest
  13. 来晚了,秋招五投大厂,成功拿下三家Offer,最终入职美团,分享我的美团1-4面(Java岗)
  14. Ubuntu下安装rar软件,解压rar压缩文件方法
  15. 全球与中国代餐减肥食品市场深度研究分析报告
  16. 你不懂之--驻极体麦克风简介
  17. 解决windows server 2008 R2安装到D盘的问题
  18. 深交所互动平台_游资抬轿、高管减持、投资者蹭热点“大牛股”为何被深交所点名?...
  19. Arduino开发实例-DS3231实时时钟+LCD显示
  20. asp毕业设计——基于asp+access的精品课程教学网站设计与实现(毕业论文+程序源码)——精品课程教学网站

热门文章

  1. 计算机组成原理设计一个Isa,计算机组成原理
  2. eclipse查看git地址_Git大文件管理:函数计算和OSS支持的Git LFS服务器
  3. get post请求区别_LoadRunner发送GET和POST请求
  4. 实战上亿数据,如何实现秒查!
  5. 终于当了回up主,来白嫖我历时半年总结的Java思维导图吧!!!
  6. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能
  7. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
  8. 蓝桥杯-未名湖边的烦恼(java)
  9. UI组件之AdapterView及其子类(二)GridView网格视图的使用
  10. 利用银行家算法避免死锁(C++实现)