|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话: </p> 关于PHP的中的数据来历, 不过乎有俩种:
关于代码中的变量(也就是直接量)来讲, 变量分派/赋值在编译期, 活泼在履行器, 在恳求封闭期被烧毁.关于这些变量来讲, 利用APC停止Opcode缓存, 则会缓存这局部变量的值.
而关于来自内部的变量, 变量分派/赋值在编译器后, 履行期前, 在恳求封闭期被烧毁,关于这些变量来讲, 利用APC停止OpCode缓存, 是不会被缓存的.
明天就侧重存眷下内部变量的一个局部,GET来的数据的全部性命周期.
假定, 有以下恳求到来:
而, 在index.php中:
- [list=1]
- [*]<?php
- [*] $name = 关于PHP的中的数据来历, 不过乎有俩种:
- [code]1. 来自代码中
复制代码 关于代码中的变量(也就是直接量)来讲, 变量分派/赋值在编译期, 活泼在履行器, 在恳求封闭期被烧毁.关于这些变量来讲, 利用APC停止Opcode缓存, 则会缓存这局部变量的值.
而关于来自内部的变量, 变量分派/赋值在编译器后, 履行期前, 在恳求封闭期被烧毁,关于这些变量来讲, 利用APC停止OpCode缓存, 是不会被缓存的.
明天就侧重存眷下内部变量的一个局部,GET来的数据的全部性命周期.
假定, 有以下恳求到来:
而, 在index.php中:
咱们晓得, 在最初的履行期, $_GET数组必定包括以下片断:
- [list=1]
- [*] 关于PHP的中的数据来历, 不过乎有俩种:
- [code]1. 来自代码中
复制代码 关于代码中的变量(也就是直接量)来讲, 变量分派/赋值在编译期, 活泼在履行器, 在恳求封闭期被烧毁.关于这些变量来讲, 利用APC停止Opcode缓存, 则会缓存这局部变量的值.
而关于来自内部的变量, 变量分派/赋值在编译器后, 履行期前, 在恳求封闭期被烧毁,关于这些变量来讲, 利用APC停止OpCode缓存, 是不会被缓存的.
明天就侧重存眷下内部变量的一个局部,GET来的数据的全部性命周期.
假定, 有以下恳求到来:
而, 在index.php中:
- [list=1]
- [*]<?php
- [*] $name = 关于PHP的中的数据来历, 不过乎有俩种:
- [code]1. 来自代码中
复制代码 关于代码中的变量(也就是直接量)来讲, 变量分派/赋值在编译期, 活泼在履行器, 在恳求封闭期被烧毁.关于这些变量来讲, 利用APC停止Opcode缓存, 则会缓存这局部变量的值.
而关于来自内部的变量, 变量分派/赋值在编译器后, 履行期前, 在恳求封闭期被烧毁,关于这些变量来讲, 利用APC停止OpCode缓存, 是不会被缓存的.
明天就侧重存眷下内部变量的一个局部,GET来的数据的全部性命周期.
假定, 有以下恳求到来:
而, 在index.php中:
咱们晓得, 在最初的履行期, $_GET数组必定包括以下片断:
那末, 咱们明天就重点存眷下, Query String是若何构建成_GET数组的(关于GET变量的生成, 请一并浏览我之前的文章: “PHP的GET/POST等大变量生成进程“):
在恳求到来时辰,php_request_startup(界说在main.c)被挪用,来做初始化现场. 在这个过程当中包含设置超时价,挪用各个模块的恳求初始化函数. 固然也包含咱们关怀的, 创立变量情况.
php_hash_environment依据php.ini中的variables_order来顺次初始化各个预界说大变量, 那末关于$_GET来讲:
大体可以看出,这段逻辑,起首经由过程treat_data来生成变量hash(PG(http_globals)[TRACK_VARS_GET]), 假如翻开了auto_register_globals,则再把$_GET数组中的变量到场到符号表中.
treat_data是属于sapi_module_struct中的一个成员:
如今回过火来持续看treat_data(也就是php_default_treat_data):
在下面的逻辑中, 给res复制为query_string, SG(request_info)是一个代表了以后恳求信息的布局体, 个中query_string是在php_apache_request_ctor中经由过程复制apache的reqeust_rec布局体中的args而来的.
关于本文的例子来讲, 此时res即为”name=laruence&career[]=yahoo&career[]=百度”,
持续在treat_data中, 随后的逻辑是:
起首, 经由过程php_strtok_r把res依据”&”朋分成一个一个的”key=value”段, 接上去分离为var和val复制为key和value, 注重到这个过程当中会分离对var和val做php_url_decode.
最初经由过程php_register_variable_safe, 给array_ptr(此时指向PG(http_globals)[TRACK_VARS_GET], 也就是$_GET)添加一个名为var值为val的成员.
到了这一步, 咱们的$_GET数组中, 就包括了以下的成员:
未完待续(变量的烧毁进程)…
GET['name'];
[/code] 咱们晓得, 在最初的履行期, $_GET数组必定包括以下片断:
那末, 咱们明天就重点存眷下, Query String是若何构建成_GET数组的(关于GET变量的生成, 请一并浏览我之前的文章: “PHP的GET/POST等大变量生成进程“):
在恳求到来时辰,php_request_startup(界说在main.c)被挪用,来做初始化现场. 在这个过程当中包含设置超时价,挪用各个模块的恳求初始化函数. 固然也包含咱们关怀的, 创立变量情况.
php_hash_environment依据php.ini中的variables_order来顺次初始化各个预界说大变量, 那末关于$_GET来讲:
大体可以看出,这段逻辑,起首经由过程treat_data来生成变量hash(PG(http_globals)[TRACK_VARS_GET]), 假如翻开了auto_register_globals,则再把$_GET数组中的变量到场到符号表中.
treat_data是属于sapi_module_struct中的一个成员:
如今回过火来持续看treat_data(也就是php_default_treat_data):
在下面的逻辑中, 给res复制为query_string, SG(request_info)是一个代表了以后恳求信息的布局体, 个中query_string是在php_apache_request_ctor中经由过程复制apache的reqeust_rec布局体中的args而来的.
关于本文的例子来讲, 此时res即为”name=laruence&career[]=yahoo&career[]=百度”,
持续在treat_data中, 随后的逻辑是:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中0
复制代码 起首, 经由过程php_strtok_r把res依据”&”朋分成一个一个的”key=value”段, 接上去分离为var和val复制为key和value, 注重到这个过程当中会分离对var和val做php_url_decode.
最初经由过程php_register_variable_safe, 给array_ptr(此时指向PG(http_globals)[TRACK_VARS_GET], 也就是$_GET)添加一个名为var值为val的成员.
到了这一步, 咱们的$_GET数组中, 就包括了以下的成员:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中1
复制代码 未完待续(变量的烧毁进程)…
GET = array(
'name' => 'laruence',
'career' => array(
'yahoo', '百度',
),
[/code] 那末, 咱们明天就重点存眷下, Query String是若何构建成_GET数组的(关于GET变量的生成, 请一并浏览我之前的文章: “PHP的GET/POST等大变量生成进程“):
在恳求到来时辰,php_request_startup(界说在main.c)被挪用,来做初始化现场. 在这个过程当中包含设置超时价,挪用各个模块的恳求初始化函数. 固然也包含咱们关怀的, 创立变量情况.
php_hash_environment依据php.ini中的variables_order来顺次初始化各个预界说大变量, 那末关于$_GET来讲:
大体可以看出,这段逻辑,起首经由过程treat_data来生成变量hash(PG(http_globals)[TRACK_VARS_GET]), 假如翻开了auto_register_globals,则再把$_GET数组中的变量到场到符号表中.
treat_data是属于sapi_module_struct中的一个成员:
如今回过火来持续看treat_data(也就是php_default_treat_data):
在下面的逻辑中, 给res复制为query_string, SG(request_info)是一个代表了以后恳求信息的布局体, 个中query_string是在php_apache_request_ctor中经由过程复制apache的reqeust_rec布局体中的args而来的.
关于本文的例子来讲, 此时res即为”name=laruence&career[]=yahoo&career[]=百度”,
持续在treat_data中, 随后的逻辑是:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中0
复制代码 起首, 经由过程php_strtok_r把res依据”&”朋分成一个一个的”key=value”段, 接上去分离为var和val复制为key和value, 注重到这个过程当中会分离对var和val做php_url_decode.
最初经由过程php_register_variable_safe, 给array_ptr(此时指向PG(http_globals)[TRACK_VARS_GET], 也就是$_GET)添加一个名为var值为val的成员.
到了这一步, 咱们的$_GET数组中, 就包括了以下的成员:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中1
复制代码 未完待续(变量的烧毁进程)…
GET['name'];
[/code] 咱们晓得, 在最初的履行期, $_GET数组必定包括以下片断:
那末, 咱们明天就重点存眷下, Query String是若何构建成_GET数组的(关于GET变量的生成, 请一并浏览我之前的文章: “PHP的GET/POST等大变量生成进程“):
在恳求到来时辰,php_request_startup(界说在main.c)被挪用,来做初始化现场. 在这个过程当中包含设置超时价,挪用各个模块的恳求初始化函数. 固然也包含咱们关怀的, 创立变量情况.
php_hash_environment依据php.ini中的variables_order来顺次初始化各个预界说大变量, 那末关于$_GET来讲:
大体可以看出,这段逻辑,起首经由过程treat_data来生成变量hash(PG(http_globals)[TRACK_VARS_GET]), 假如翻开了auto_register_globals,则再把$_GET数组中的变量到场到符号表中.
treat_data是属于sapi_module_struct中的一个成员:
如今回过火来持续看treat_data(也就是php_default_treat_data):
在下面的逻辑中, 给res复制为query_string, SG(request_info)是一个代表了以后恳求信息的布局体, 个中query_string是在php_apache_request_ctor中经由过程复制apache的reqeust_rec布局体中的args而来的.
关于本文的例子来讲, 此时res即为”name=laruence&career[]=yahoo&career[]=百度”,
持续在treat_data中, 随后的逻辑是:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中0
复制代码 起首, 经由过程php_strtok_r把res依据”&”朋分成一个一个的”key=value”段, 接上去分离为var和val复制为key和value, 注重到这个过程当中会分离对var和val做php_url_decode.
最初经由过程php_register_variable_safe, 给array_ptr(此时指向PG(http_globals)[TRACK_VARS_GET], 也就是$_GET)添加一个名为var值为val的成员.
到了这一步, 咱们的$_GET数组中, 就包括了以下的成员:
- <?php $name = 关于
PHP的中的数据来历
, 不过
乎有俩种: 1. 来自代码中1
复制代码 未完待续(变量的烧毁进程)…
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_- |
|