PHP基础语法测试回顾与小结

抽时间在PHP方面做了一次在线测试,大致是一些PHP的基础语法测试,包括变量,数组,对象,邮件发送,session,exception等方面的测试,测试的答题大约有45题,每题测试时间是2 min,这次测试的结果让我深感遗憾,结果为了不让自己颜面无存就容我保密一下吧。

测试回顾

对自己的总结就是:框架用的太多,反而没有去关注最基础的语法和编程思想。这和我的学习路线和业务环境也多少是有联系的。

框架使用过多

也许是我个人对新技术的感觉很好,所以当有新的技术和框架出现时总是会去尝试,也因此在尝试ThinkPHP(TP)的过程中,迅速上手封装好的语法,甚至忘记了原生语法的使用。

例如简单的判断session是否开启,是调用session_id()方法,这个方法此前我甚至是不知道的,而一股脑直接使用TP的session对象方法。

另外对于try catch这样的异常处理,此前也只是开启了TP的debug模式,出错时自动显示trace错误跟踪信息,完全忽略了这部分的用法。

业务环境需求增长

另外一个方面是近两年对于研发需求的快速增长,对于一个one man开发来说为了跟得上需求的进度,就无法深入的去自己造合适需求的轮子,而是把网上的轮子拿来改造成适合业务的轮子,快速拼凑成一辆业务的大车,在这个同时还要保证这辆车的稳定,高速,承载。于是在这个过程中关注点完全已经从基础层面分离。

在目前的系统中,对Model,Service,Logic层的理解,也是逐渐理清,然后在每次的迭代中慢慢的改掉之前未理解时错误的架构。

答错的题与相关知识

现在回过头来看,在从框架层面先深入,然后在回头来看基础的PHP语法知识,虽说是本末有些倒置,但是其实这也是相对的降低了学习的成本。

这里我根据回忆将印象深刻的题目简单记录一下,以后回过头来看的时候,估计也会嘲笑自己基础掌握居然都还不行呢

邮件发送相关

有一题是如果使用php发送邮件,函数方面考的是sendmail还是mail,并且函数的参数顺序也是测试的点,这里我摘录了mail函数的语法

1
mail(to,subject,message,headers,parameters);

差不多是这样的,首先函数名是mail,参数分别是接收方,标题,内容,头部信息(包含发送放,抄送,密送方等等),额外参数。

这题我记得是做错了,参数部分顺序没有弄清楚。

array_search方法相关

有一题关于数组的,给出一个数组,寻找对应元素在数组中是否存在,测试的是使用array_search()还是另外一个错误的方法,同时测试返回的值是键名还是索引。php手册提到:

array_search — 在数组中搜索给定的值,如果成功则返回相应的键名

也就是说返回的其实不是索引,而是键名,这样看来这题我记得也是错了

set_exception_handler方法相关

异常处理这块问题我更加不熟悉,根据我的理解,一个try必须得对应一个catch,当然对应多个也是没问题的,这点我算是对的,然后关于set_exception_handler这个方法名,完全无法区分出其真实方法名和实现作用。php手册提到:

set_exception_handler — 设置一个用户定义的异常处理函数。

这个函数用于出错时回调一个自定义函数,用于处理对应的出错,与try catch这种是全局与局部的区别。

小结

暂时先想起这么多,如果后面想起再补充。不仅仅是php,对于javascript同样也是处于一个框架优先的情况中,就目前前端中js语法的盛行,我也需要同时对js进行基础部分的梳理。还是那一句话:想学的东西实在太多,但时间和精力真的是有限的,愿继续努力。

坚持原创技术分享,您的支持将鼓励我继续创作!