php优先级问题

结合方向 运算符 附加信息
非结合 clone new clone 和 new
[ array()
非结合 ++ – 递增/递减运算符
非结合 ~ - (int) (float) (string) (array) (object) (bool) @ 类型
非结合 instanceof 类型
右结合 ! 逻辑操作符
* / % 算术运算符
+ - . 算术运算符字符串运算符
<< >> 位运算符
非结合 < <= > >= <> 比较运算符
非结合 == != === !== 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
&& 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= = ^= <<= >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到左联表示表达式从左向右求值,右联相反

php:布尔值(boolean)数据类型判断

在PHP中,将变量明确转化为boolean值是可以使用(bool) 或者 (boolean) 来进行强制转化。

以下情况将变量转化为boolean时,值会为false

布尔值 且值为false
整型值 0(零)
浮点型值 0.0(零)
空字符串


常见的 PHP 设计模式3–单例模式(三私+一公)

单例模式

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。


常见的 PHP 设计模式2–工厂模式(接口)

工厂模式

工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。

使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方(new处)修改了。为系统结构提供灵活的动态扩展机制,减少了耦合。


常见的 PHP 设计模式1–策略模式(抽象)

策略模式

策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。

策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。


php 中instanceof的使用

作用:

(1)判断一个对象是否是某个类的实例,

(2)判断一个对象是否实现了某个接口。

第一种用法:

1
2
3
4
5
6
<?php   
$obj = new A();
if ($obj instanceof A) {
echo 'A';
}
?>

WebSocket与HTTP

一、相同点

  1. 都是一样基于TCP的,都是可靠性传输协议。
  2. 都是应用层协议。

二、不同点

  1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。

  2. WebSocket是需要浏览器和服务器握手进行建立连接的。而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接。

三、联系

WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。