仓酷云

标题: PHP教程之php 变量性命周期:PHP源码剖析-PHP的生... [打印本页]

作者: 愤怒的大鸟    时间: 2015-2-16 00:22
标题: PHP教程之php 变量性命周期:PHP源码剖析-PHP的生...
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。   
PHP的最多的两种运转形式是WEB形式、CLI形式。
不管哪一种形式,PHP任务道理都是一样的,作为一种SAPI运转。
1、当咱们在终端敲入php这个号令的时分,它利用的是CLI。
它就像一个web办事器一样来撑持php完成这个恳求,恳求完成后再从头把掌握权交给终端。
2、当利用Apache作为宿主时,当一个恳求到来时,PHP会来撑持完成这个恳求。
main/php.h中界说了以下几个宏
#define PHP_MINIT_FUNCTION ZEND_MODULE_STARTUP_D
#define PHP_MSHUTDOWN_FUNCTION        ZEND_MODULE_SHUTDOWN_D
#define PHP_RINIT_FUNCTION ZEND_MODULE_ACTIVATE_D
#define PHP_RSHUTDOWN_FUNCTION        ZEND_MODULE_DEACTIVATE_D
#define PHP_MINFO_FUNCTION ZEND_MODULE_INFO_D
#define PHP_GINIT_FUNCTION ZEND_GINIT_FUNCTION
#define PHP_GSHUTDOWN_FUNCTION        ZEND_GSHUTDOWN_FUNCTION
对应的感化是
PHP_MINIT_FUNCTION        初始化module时运转
PHP_MSHUTDOWN_FUNCTION        当module被卸载时运转
PHP_RINIT_FUNCTION        当一个REQUEST恳求初始化时运转
PHP_RSHUTDOWN_FUNCTION        当一个REQUEST恳求停止时运转
PHP_MINFO_FUNCTION        这个是设置phpinfo中这个模块的信息
PHP_GINIT_FUNCTION        初始化全局变量时
PHP_GSHUTDOWN_FUNCTION        释放全局变量时
看一个自界说扩大案例片断:
int minit_time;
PHP_MINIT_FUNCTION(test)
{
minit_time = time(NULL);
return SUCCESS;
}
PHP_MSHUTDOWN_FUNCTION(test)
{
FILE *fp=fopen("mshutdown.txt","a+");
fprintf(fp,"%ld\n",time(NULL));//让咱们看看是否是每次恳求停止城市在这个文件里追加数据
fclose(fp);
return SUCCESS;
}
int rinit_time;
PHP_RINIT_FUNCTION(test)
{
rinit_time = time(NULL);
return SUCCESS;
}
PHP_RSHUTDOWN_FUNCTION(test)
{
FILE *fp=fopen("rshutdown.txt","a+");
fprintf(fp,"%ld\n",time(NULL));//让咱们看看是否是每次恳求停止城市在这个文件里追加数据
fclose(fp);
return SUCCESS;
}
PHP_MINFO_FUNCTION(test)
{
php_info_print_table_start();//挪用php_write输入HTML标签
php_info_print_table_header(2, "module info", "enabled"); 本文链接http://www.cxybl.com/html/wlbc/Php/20121221/35071.html参加PHP开发学习,或许只是一次偶然的想法吧!只是想在走向社会之前体验、学习在一个公司或者说是项目团队之中如何去更有效的沟通、交流、共同合作,还有就是为毕业实习找工作增加伐码。
作者: 再现理想    时间: 2015-2-16 00:23
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 柔情似水    时间: 2015-2-16 00:23
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 飘飘悠悠    时间: 2015-2-18 00:09
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 透明    时间: 2015-2-26 16:04
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 因胸联盟    时间: 2015-3-1 23:59
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 小妖女    时间: 2015-3-11 01:06
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 爱飞    时间: 2015-3-17 17:12
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 冷月葬花魂    时间: 2015-3-23 18:13
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 灵魂腐蚀    时间: 2015-4-4 19:39
本文当是我的笔记啦,遇到的问题随时填充
作者: 山那边是海    时间: 2015-4-6 00:11
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 愤怒的大鸟    时间: 2015-4-6 21:11
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 再见西城    时间: 2015-4-16 16:11
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 谁可相欹    时间: 2015-4-17 10:25
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 分手快乐    时间: 2015-4-18 09:22
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 小魔女    时间: 2015-4-21 07:55
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 莫相离    时间: 2015-4-21 08:03
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 不帅    时间: 2015-4-24 16:50
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 只想知道    时间: 2015-4-25 17:12
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 仓酷云    时间: 2015-5-11 11:33
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 深爱那片海    时间: 2015-6-11 17:07
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2