php对象初始化(new)及属性方法调用内存原理

$this,class和new之间的关系原理

1、class是定义类结构,属于非执行段代码,因此会被加载到代码段(编译阶段)

2、new是实例化对象,先判定类在内容(代码段)是否存在

(a)类不存在,报错;

(b)类存在,将类内存的属性部分复制一份,然后在内存(堆区)开辟一块内存空间(此内存空间即为对象在内存的存储空间),将属性放到里面,同时内部有一个指针指向类的内存空间(代码段)

(c)对象访问属性即访问的是对象空间存储的部分

(d)对象访问方法是对象通过内部指针找到类空间中的方法,然后在内存(栈区)开辟空间运行

3、$this是系统在方法内值得对象通用名字

(a)对象在调用方法的时候,系统会自动找到对象保存的内存地址(堆区),然后把地址赋值给¥this

(b)方法内部的$this就代表调用当前$this所在方法的外部对象

(c)$this的本质是函数内部的一个局部变量,只是系统自动对其进行赋值,而且一定是导演方法的对象本身

以下视频是详细的执行过程

面向对象基础(内部对象$this和内存原理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值