PHP项目实践经验总结第一期,将项目中遇到的问题或需求拿出来与你分享
之前关于PHP文章都说了很多理论的东西,从本期开始,将会把php用于生产实践,尽量让更多的朋友对php更熟悉,本期PHP项目实践遇到的问题如下。
LV框架与GROUP BY
在项目中,需要执行一个拥有GROUP BY的SQL语句,并且返回一个额外的字段,即该字段没有在group by里面,如这样的SQL语句:SELECT * FROM test GROUP BY `id`,这个语句是通过LV框架的查询构造器生成的,但是执行代码的时候,发现一个明显的错误,错误的大概意思是返回了不在GROUP BY字段里面的字段,于是毫不犹豫的打开MySQL数据库,查看目前的SQL运行模式,但是发现是没有问题,于是打开LV框架的MySQL数据库配置文件部分,发现了一个配置选项,strict为true,果断将这个设置为false,问题解决。
随机数字索引数组变成有规律的数组
目前脚本的执行结果是一个随机数字索引数组,如下图
但是现在根据后面的计算和数据显示需要,需要将这个随机数字索引数组转换为从0开始递增的数字索引数组,于是,首先打开PHP的官方手册,找到一个数组处理函数array_values,成功解决这个问题。
模板引擎default修饰符的应用
不管是Smarty模板引擎还是LV的blade模板引擎,我们发现它们都是有default修饰符的,就是在显示变量的时候,如果发现这个变量没有定义,那么将显示这个默认值,有了这个修饰符,我们能够解决一个经常做的项目需求,就是修改信息的时候,我们可以将修改信息和添加信息做成一样的,只不过对于表单的value属性用这个修饰符设置一个默认值就可以了,从而避免我们用条件判断决定是添加还是修改。