小女巫 发表于 2015-1-16 22:16:06

PHP编程:PHP5+引进$GLOBALS提早初始化观点

实现固定数量的几张图片的上传;再如调试软件ZendStudio的使用,看了很多次老师的应用,但总感觉用的不顺手,不懂那么多的数据值,到底哪一个才是真正的问题所在;还有如数据库语句的封装,我只会用简单的函数来进行封装。明天在利用$GLOBALS来替换$_SERVER来会见相干的情况变量,老是会报“_SERVERundefined”毛病。以下用例:
用例1:
<?php
print_r($GLOBALS);
此时输入中并没有_SERVER相干信息:
Array

=>Array
*RECURSION*
=>Array


=>Array


=>Array


=>Array




用例2:
<?php
print_r($GLOBALS);
print_r($_SERVER);
此时输入中含有_SERVER相干信息:
Array

=>Array
*RECURSION*
=>Array


=>Array


=>Array


=>Array


=>Array



查了下PHP手册关于$GLOBALS形貌,援用therandshowatgmaildotcom的批评:
therandshowatgmaildotcom
AsofPHP5.4$GLOBALSisnowinitializedjust-in-time.Thismeanstherenowisanadvantagetonotuse
the$GLOBALSvariableasyoucanavoidtheoverheadofinitializingit.Howmuchofanadvantagethatis
Imnotsure,butIveneverliked$GLOBALSmuchanyways.
追根数源,发明PHP5Changelog更新日记的形貌:
UnorderedListItemImprovedZendEngine,performancetweaksandoptimizations
UnorderedListItemChanged$GLOBALSintoaJITautoglobal,soitsinitializedonlyifused.(thismayaffectopcodecaches!)www.2cto.com
718;Whenenabled,theSERVERandENVvariablesarecreatedwhentheyrefirst
719;used(JustInTime)insteadofwhenthescriptstarts.Ifthesevariables
720;arenotusedwithinascript,havingthisdirectiveonwillresultina
721;performancegain.ThePHPdirectivesregister_globals,register_long_arrays,
722;andregister_argc_argvmustbedisabledforthisdirectivetohaveanyaffect.
723;http://php.net/auto-globals-jit
724auto_globals_jit=On
终究弄分明了,PHP5+中在开启auto_globals_jit=On情形下,$_SERVER变量和$_ENV变量不会在剧本启动时就创立,而是会在第一次利用$SERVER和$ENV时才会创立。以是就会呈现上述两个用例的情形。

备注:
实测结论:
auto_globals_jitsettingisalsoaffecting$_REQUESTsuperglobalin5.3Itisnotexplicitlystatedindocumentation.
最少5.3.13版本中开启auto_globals_jit=On情形下,$_REQUEST也只会在第一次利用时才会创立。
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。

小妖女 发表于 2015-1-19 06:27:57

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

金色的骷髅 发表于 2015-1-24 13:07:43

基础有没有对学习php没有太大区别,关键是兴趣。

爱飞 发表于 2015-2-1 16:00:46

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

再现理想 发表于 2015-2-7 07:44:04

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

愤怒的大鸟 发表于 2015-2-21 03:28:22

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

莫相离 发表于 2015-3-6 19:48:11

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

海妖 发表于 2015-3-13 07:08:46

兴趣是最好的老师,百度是最好的词典。

透明 发表于 2015-3-20 16:17:21

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
页: [1]
查看完整版本: PHP编程:PHP5+引进$GLOBALS提早初始化观点