数组php
$arr[] = 'x'; 代替 array_push($arr, 'x'), 没有函数调用的消耗laravel
多分支选择c++
switch case代替多个if else
顺便说一下, 当只有一个正确的输出, 可是中间要排除不少的错误是, 不要用多个if else, 能够这样,会是代码优雅一点数组
function demo(){ if () return false; if () return false; if () return false; return 'x'; }
面向对象与面向过程的选择框架
能简化的事情, 尽可能简化, 不要事事都想建一个类再来作, 类的实例化的消耗比函数调用更耗内存, 类的实例化要在是分配堆内存, 不是栈内存, 固然这和代码可读性比起来, 都是小事
若是要扩展性, 确定是须要抽象的, 就面向对象函数
尽可能使用php自带的函数.net
不要想到本身实现, php自带的函数都是使用c语言来写的, 你用php写的运行效率能比c高?
要实现这个尽可能通读php.net, 知道要实现什么功能在哪里找, 不要盲目,debug
关于命名调试
必定要语义话, 看了laravel 我真以为这么多年变量函数命名都是假的code
这是php, 不是c/c++
在c中i++只须要一条cpu指令, 因此我一直觉得$i++的效率很高, 可是我看到的框架(好比tp)都没用使用$i++, 而是使用$i += 1, 才发现我太年轻了, 在php中$i++须要4条opcodes
内存泄漏
php中通常不会内存泄漏的(运行完了就退出了, 没有常驻进程), 但我就遇到过同事写的程序, 莫名奇妙的返回空的页面, 可是看代码逻辑好像又没问题, 用xdebug调试才发现, 递归没有出口致使无限调用, 因此是程序就有可能出现内存泄漏可是也要注意有的php server是常驻进程的,