PHP手册笔记 续

1.自动加载类
function __autoload($classname)
{
}
自动加载与实例化类同名的文件
2.重载
改写继承后类的属性和方法
3.Traits
trait myTrait
{
}
use myTrait;
被不同的类都能调用到的方法集合,代替多重继承
4.回调函数
callback
当特定的事件或条件发生的时候,被作为参数调用的函数
5.类型约束
规定函数的参数类型
6.后期静态绑定
static::who();
用于在继承范围内引用静态调用的类
7.对象复制与赋值的区别
$a = $b;
$a = clone $b;
指向的内存空间不同
8.序列化
serialize()
unserialize()
使变量、数组、对象便于在网络中传输(如URL、POST、cookies、数据库等),url中还需调用urlencode()
9.命名空间
namespace
解决重名问题,调用公共空间的方式是直接在元素名称前加 \

 

PHP手册笔记

1.静态变量
static
多次调用只初始化一次
2.全局变量
global
可以全局调用
3.可变变量
$$
变量的值变为新变量名
4.输出类型和数组
var_dump()
可以完整输出数组的key和value
5.判断类型
is_type()
type为类型名,判断是否为此类型
6.新建数组
arr[] = value;
新建一个数组,如已存在,则顺延
7.引用
$a = &$b
改变a值同时改变b值
8.新建数组2
$arr = array(“a” => “aa”,”b” => “bb”,);
使用=>符号赋值
9.赋值cookies
setcookie()
多个值赋给同一个cookie可以是数组
10.魔术引用
magic_quotes_gpc
老版本php默认打开,会给提交的特殊字符加反斜杠,建议关闭
11.常量
define(“FOO”,”something”);
传统上常量标识符都为大写,常量不加$,5.3后新增的const定义常量必须在顶端
12.魔术常量
__FILE__
双下划线开头和结尾
13.对象
$object = new class();
对象是类的实例化
14.执行运算符
$output =`ls -al`;
反引号,执行命令,效果同shell_exec()
15.数组联合
$a + $b
把右边的数组加到左边后面,如果键名一致,则只取左边
16.类型运算符
instanceof
用于确定一个PHP变量是否属于某一类class的实例
17.流程控制的替代语法
if ($a==5):
echo ‘a is equal to 5’;
endif;
把左边的{改为:,把右边的}改为endxx;
18.函数调用
函数无需在调用之前被定义,除非函数是有条件被定义时
19.双冒号
::
访问父类的成员或者访问静态属性
20.对象运算符
->
访问类的成员对象,有别于数组运算符=>
21.特殊的字符串表达方式
heredoc
<<<EOF
EOF
nowdoc
<<<‘EOF’
EOF
两个EOF之间的值不转义
22.抽象类
abstract
只能被子类继承,不能被对象实例化,且抽象方法不能有具体实现
23.构造函数和析构函数
__construct()
__destruct()
前者新建类时初始化属性,后者销毁类时执行命令
24.php中抽象类和接口的概念和区别
不同点:
抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!
一个类可以继承多个接口,而一个类只能继承一个抽象类!
接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!
共同点:
都类似于模版
25.final关键字
final
如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
26.对象复制
clone object
复制对象
27.命名空间
namespace
只可用于常量、类、函数。类似目录