$this,class和new之间的关系原理
1、class是定义类结构,属于非执行段代码,因此会被加载到代码段(编译阶段)
2、new是实例化对象,先判定类在内容(代码段)是否存在
(a)类不存在,报错;
(b)类存在,将类内存的属性部分复制一份,然后在内存(堆区)开辟一块内存空间(此内存空间即为对象在内存的存储空间),将属性放到里面,同时内部有一个指针指向类的内存空间(代码段)
(c)对象访问属性即访问的是对象空间存储的部分
(d)对象访问方法是对象通过内部指针找到类空间中的方法,然后在内存(栈区)开辟空间运行
3、$this是系统在方法内值得对象通用名字
(a)对象在调用方法的时候,系统会自动找到对象保存的内存地址(堆区),然后把地址赋值给¥this
(b)方法内部的$this就代表调用当前$this所在方法的外部对象
(c)$this的本质是函数内部的一个局部变量,只是系统自动对其进行赋值,而且一定是导演方法的对象本身
以下视频是详细的执行过程
面向对象基础(内部对象$this和内存原理)