PHP 全局变量 和常用 SPL Api

创作人 Leo


编辑时间 Wed Jan 1,2020 at 10:13


PHP 全局变量 和常用 SPL Api

预定义变量

服务器相关

$_POST $_GET $_SERVER $_REQUEST $_COOKIE $_SESSION …

http_response_header 的返回值

例:

file_get_contents(’http://www.zol.com’);

var_dump($http_response_header); 打印从访问的连接返回的response信息

$GLOBALS

全局变量

例:

<?php
 
$GLOBALS["lala"]="lalalalal";
 
say();
 
function say(){
     echo $GLOBALS["lala"];
}

$argc 和 $argv

例:

//argv是命令行下执行php文件附带参数的数组,argc是参数数量
//第一个永远是当前脚本名称
for($i=1;$i<$argc;$i++){
     echo $argv[$i]."
";
}

预定义异常

Exception 和 ErrorException

错误级别不同

预定义接口

iterator 接口实例

<?php
class DemoIterator implements Iterator{
     private $index; //位置标记
     private $array; //迭代内容
     
     public function __construct($array){
          $this->array=$array;
          $this->index=0;
     }
     
     /* 复写方法 */
     public function current (){ return $this->array[$this->index]; }
     public function key (){ return $this->index; }
     public function next (){ ++$this->index; }
     public function rewind (){ $this->index=0; }
     public function valid (){ return isset($this->array[$this->index]); }
 
}

Serializable 接口

实现此接口的类将不再支持 __sleep() 和 __wakeup()。

例:

<?php
class Person implements Serializable {
     private $name;
     private $age;
     
     public function __construct($paramArray){
          $this->name=$paramArray['name'];
          $this->age=$paramArray['age'];
     }
     
     public function say(){
          return 'My name is '.$this->name.' and age is '.$this->age.'. ';
     }
     
     //自定义序列化接口
     /* 方法 */
     public function serialize (){
          return serialize($this->name.'|'.$this->age);
     }
     public function unserialize ( $s ){
          $data= explode('|',unserialize($s));
          $this->name=$data[0];
          $this->age=$data[1];
     }
 
}

阅读:606
搜索
  • Linux 高性能网络编程库 Libevent 简介和示例 2578
  • web rtc 学习笔记(一) 2354
  • Mac系统编译PHP7【20190929更新】 2304
  • react 学习笔记(一) 2244
  • zksync 和 layer2 2237
  • Hadoop 高可用集群搭建 (Hadoop HA) 2182
  • Hadoop Map Reduce 案例:好友推荐 2151
  • 小白鼠问题 2085
  • Linux 常用命令 2082
  • 安徽黄山游 2058
简介
不定期分享软件开发经验,生活经验