php上手需要多久?
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
PHP多久能学会?
PHP几乎是入门最简单的一种流行语言了,熟悉语法、常用的函数就可以做些简单的web开发。php基础知识需要学习 1~4 个月才能做到熟练掌握,但想要精通,至少要花一年时间才可以。
PHP包含的东西也很多,如果简单点,一个小留言板大概学了2个月就差不多了,但是PHP当中还有很多别的比如面向对象、GD库、cookie、session……。想要做个真正像样的网站,CSS、JS、SQL也是必不可少(ajax无非就是js+css做前台,php、asp或jsp做后台)。如果这些都要学会,至少要一年时间。
学PHP如果只是想学到可以看懂并修改像PHPWind、Discuz、WordPress等流行的应用代码的话,大概学3、4个月就差不多。
php网站项目运行速度慢,什么原因?
排查 PHP 网站运行速度慢的原因 首先,使用浏览器的开发人员工具(Chrome)或Firefox的Firebug,确定,问题出在前端,还是后端。查看瀑布图,看看是卡在了服务器处理脚本上(典型特征是文档Waiting的时间特别长),还是前端(大量的图片、大量的JS、好多Flash)。90%网站性能问题是由前端造成的。 若确定是服务器端问题,看看PHP版本是不是过低了、使用XDebug的Profile结合Webgrind等,看看到底哪些函数执行的次数最多、单次时间最长、执行总时间最长,找到根源一击必杀!PHP的编译器不对PHP代码进行任何优化,所以某种意义上蛮考研PHPer的功力。
php在表达式中 优先级最高的运算符是?
在PHP中,优先级最高的运算符是递增/递减运算符(++/--)。这些运算符在表达式中具有最高的优先级,意味着它们会首先被执行。递增/递减运算符用于增加或减少变量的值。例如,$a++表示先使用$a的值,然后将$a的值增加1。这些运算符的优先级高于其他运算符,包括算术运算符(+、-、*、/等)和比较运算符(<、>、==等)。
因此,在表达式中使用递增/递减运算符时,它们会首先被执行,然后才会执行其他运算符。
php执行的生命周期是怎样的?
PHP的执行分三个阶段:
处理请求的开始阶段、处理请求阶段、请求之后的结束阶段。
处理请求的开始阶段:
1 模块初始化阶段(MINIT),在整个SAPI生命周期内(例如Apache启动以后的整个生命周期内或者命令行程序整个执行过程中),该过程只进行一次。(这应该就是为何修改了php.ini之后,要重启Apache的原因);
PHP_MINIT_FUNCTION(extension_name){
/* Initialize functions, classes etc */
}
2 请求初始化阶段(RINIT),该过程发生在请求阶段, 例如通过url请求某个页面,则在每次请求之前都会进行模块激活。(为何不先激活呢?因为方便模块在RINIT阶段针对各种请求设置环境变量或其他的操作);
PHP_RINIT_FUNCTION(extension_name) {
/* Initialize session variables, pre-populate variables, redefine global variables etc */
}
处理请求阶段:
1 词法分析:将php文件翻译成一个个的token;
2 语法分析:根据生成的token和语法规则进行分析;
3 Zend引擎:将代码编译为opcode后并执行,在执行的过程中还会重复进行编译-执行,例如执行了include语句 (为何不在第一次编译就把这些包含进来的文件也一起编译好?);
4 调用SAPI的输出函数返回执行结果。
处理请求的结束阶段:
1 关闭请求:RSHUTDOWN对应于RINIT,释放资源等操作
2 关闭模块:MSHUTDOWN对应于MINIT,SAPI生命周期结束(Web服务器退出或者命令行脚本执行完毕退出)
PHP_RSHUTDOWN_FUNCTION(extension_name) {
/* Do memory management, unset all variables used in the last PHP call etc */
}
PHP_MSHUTDOWN_FUNCTION(extension_name) {
/* Free handlers and persistent memory etc */
}
还没有评论,来说两句吧...