高性能web应用开发笔记①

yangshaoyang.cn



一、对象在内存中的存储

1、类的自动加载机制

 传统加载方式:require和require_once

 自动加载类:_autoload()

 SPL自动加载:spl_autoload_register()

 Composer自动加载

        


2. 内存分区

  • 栈区:编译器自动分配和管理的内存单元,基本数据类型(数值型、字符串型、bool值) 变量存储在该区域,对象类型(数组、对象)中某一部分也存储在该内存单元。 

  • 堆区:由程序员手工管理的内存单元,对象类型的真实存储位置。

  • 全局静态区:全局变量和静态变量(属性)的存储位置。

  • 文字常量区:常量、类常量、字面值的存储位置。

  • 代码区:程序代码的存储位置。

yangshaoyang.cnyangshaoyang.cn

yangshaoyang.cn

yangshaoyang.cn



    





3、代码规范:

<?php
// 代码规范
$str = "";  // 字符串,变量名最好有意义
$num1 = 1;
$num2 = 2;
$result = $num1 + $num2;    // 运算符左右有空格

// 语句和关键字
if ($result == 0) {

}
for ($i = 0; $i < 5; $i++) { 
    # code...
}

// 函数
function testAdd($num1, $num2) 
{

}

// 常量
const PI = 3.14;
const STUDENT_NUMBER = 3;

// 文件末尾,不加 结束符号
// PSR-1 和 PSR-2




二、继承、接口和Traits

yangshaoyang.cn

yangshaoyang.cn

yangshaoyang.cn

trait:解决php单继承 实现代码重用

yangshaoyang.cn

yangshaoyang.cn

yangshaoyang.cn

yangshaoyang.cn

yangshaoyang.cn






三、序列化和反序列化

  对象的数据存储在堆区中,它的寿命随着生成该对象的程序的终止而终止。有时候可能需要将对象的状态保存下来,待需要时再将对象恢复。对象通过写出描述自己状态的数据来保存自身,这个过程叫做对象的序列化;另一方面,根据对象序列化结果反向恢复对象的过程,叫做反序列化。 

yangshaoyang.cnyangshaoyang.cnyangshaoyang.cnyangshaoyang.cnyangshaoyang.cnyangshaoyang.cnyangshaoyang.cn






文件资源:


1 面向对象深度剖析.pdf

H1课堂笔记.zip


橙色时光
请先登录后发表评论
  • 最新评论
  • 总共0条评论