Blogger Information
Blog 18
fans 0
comment 0
visits 10937
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
超全局变量与命名空间
手机用户1631860753
Original
515 people have browsed it

一.超全局变量

  • 因为我们需要长久保存数据的功能,并且这个数据能在不同的页面中被访问并且加载出来,所有我们需要用到超全局变量
  • cookie 是把数据存在浏览器上,存在用户电脑上

  • $_COOKIE 超全局变量,服务器对用户访问的跟踪手段

  • 直接用$_COOKIE 超全局变量数组,存进去的数据不能在其他页面访问
  • $_COOKIE 只能用来获取,存进去的都是临时的
  1. $_COOKIE[name] = '路飞'; // 临时储存为名字是路飞
  2. print_r(#_COOKIE); // 只能在自己的域名下才能访问
  • setcookie 可以把数据存进超全局变量中,
  • setcookie 有两个参数,第一个参数是下标,第二个参数是值
  • setcookie 第一次是存,获取不到数据,只有第二次刷新才能获取到数据
  1. setcookie('name','山治'); // 两个参数,第一个是下标.第二个是值
  2. print_r($_COOKIE); // 需要刷新两次,第一次是储存进去,不能获取值,第二次才能获取值
  • cookie 只能在自己的域名下才能访问
  • setcookie 的值可以被覆盖,没有时间限制,但是我们可以设置过期时间,
  • 过期时间: 时间戳 + 要存放的时间 ,是秒
  1. setcookie('name','索隆',time() + 60*60*12); // 第三个参数是就是设置过期时间, 现在设置的是12个小时后过期
  • 还可以进行数组存放
  1. setcookie('php[id]',18);
  2. setcookie('php[name]','路飞');
  3. setcookie('php[email]','lufei@php.cn'); // 存放数组
  • 删除cookie
  1. setcookie('php[id]','',time() - 100); // 马上删除 id
  2. setcookie('php[name]','',time() - 100); // 马上删除 name
  3. setcookie('php[email]','',time() - 100); // 马上删除 email

2. SESSION

  • $_SESSION 超全局变量数组
  • $_SESSION 是存在服务器上的
  • session_start() 开启一个SESSION会话

session_start(); // 开启一个SESSION会话

  • 添加和设置
  1. $_SESSION['id'] = 20;
  2. $_SEESION['name'] = '龙';
  3. $_SESSION['email'] = 'long@php.cn'; //可以直接这样添加数据
  • 修改数据
  1. $_SESSION['id'] = 24;
  2. // 更改id 改为24
  • 删除
  1. unset($_SESSION['id']); // 删除session 的 id
  2. session_unset(); // 全清空,但是服务器会把之前session 生成的文件保留下来
  3. session_destro(); // 这个是把服务器上的文件也删除
  • 获取session的数据
  1. echo session_id();
  2. // 获取当前session的 id,并且是加密保存的
  3. // 一个用户就相当于一个 id

1.cookie数据是存在用户电脑,session数据是存在服务器上

2.cookie浏览器储存有限,session存在服务器上是没有限制的(容量大)

3.session 基于cookie, cookie会保存session的id

4.session 和 cookie 是不分离的

一.命名空间

  • PHP不能有重复的函数,变量和类;

  • 命名空间关键词: namespace

  • 用了namespace 后下面的函数都是这个命名空间的
  • 命名空间:采用了目录结构方式
  • windows:不能有重复名字的文件,并且不能有重复名字的目录,但是文件名和目录名重名没事
  • 有括号{}的和没有括号的命名空间不能同时用
  • 命名空间要访问其他空间的函数,需要带上目录结构
  • 除了函数不能重名外,还有变量,类,命名空间也不能重名
  • 我们一般的代码都是一个文件,一个类,一个命名空间,所以之后我们都是 ; 号结束的多
  • 命名空间,要放在代码的第一行,但是可以放在严谨函数之后: 严谨函数: declare

  • 命名空间

  1. namespace a {
  2. $name = 'A';
  3. function php()
  4. {
  5. return 'A';
  6. }
  7. class A
  8. {
  9. }
  10. }
  11. namespace b {
  12. $name = 'B';
  13. function php()
  14. {
  15. return 'B';
  16. }
  17. class B
  18. {
  19. }
  20. echo php(); // 输出本空间的值
  21. echo '<hr>';
  22. echo \a\php(); // 访问a 空间,输出值 A
  23. }
  24. // 子命名空间
  25. namespace a\s {
  26. $name = 'S';
  27. function S()
  28. {
  29. return 'S';
  30. }
  31. }
  32. // 什么都不加,默认是根空间
  33. namespace {
  34. echo \a\s\s(); // 输出子命名空间里的值
  35. }
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post