> 백엔드 개발 > PHP 튜토리얼 > 超级全局变量是何时,如何生成的?

超级全局变量是何时,如何生成的?

WBOY
풀어 주다: 2016-06-06 20:52:41
원래의
991명이 탐색했습니다.

PHP中超级全局变量, $_POST, $_GET, $_SERVER, $_REQUEST等等这些~~~~
我想知道这些super global是怎么生成,何时生成,怎么工作的。
谁知道的给我讲一下吧

回复内容:

PHP中超级全局变量, $_POST, $_GET, $_SERVER, $_REQUEST等等这些~~~~
我想知道这些super global是怎么生成,何时生成,怎么工作的。
谁知道的给我讲一下吧

这些变量有相当大一部分是web server传递给php的

以nginx为例,当一个request过来的时候,nginx先查看自己的配置文件是如何定义把一些值传递给fastcgi的(nginx的配置文件fastcgi_params就是做这个用的)

当nginx初始化好这些变量以后,就把它们通过fastcgi的端口把这些值传递进了php,大部分这些变量都能在$_SERVER里看到。

当然,nginx还会同时把客户端发送过来的请求原封不动的传递给php fcgi来处理,php自己会通过解析这些请求来获取$_GET以及$_POST等超级变量里面的值。

其实正是因为php默认帮我们做了事情,所以使用php来做网络程序才变的如此简单——当然也因为如此所以导致php框架的泛滥

At first, please refer to http://www.slideshare.net/laruence/th...

All the super global variables should be generated in the RINIT process.

所谓全局就是在任何程序的任何生命周期内都存在的变量,是php天生的。
但这些变量也仅仅是天生存在,其生命周期与普通的global没有区别,只是很多系统级的数据会写他们,而开发者直接调用。
可以认为是系统与开发者的约定。

这是个很好的问题,从前面几位的回答中学到很多,感谢各位。深入思考这个问题,可以深化php的理解。

所谓超级估计是指这几个变量比较特殊。
全局变量要慎用

是不是可以学习stackoverflow的社区wiki功能呢?

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿