php 代碼改進

  1. 數組php

$arr[] = 'x'; 代替 array_push($arr, 'x'), 沒有函數調用的消耗laravel

  1. 多分支選擇c++

switch case代替多個if else
順便說一下, 當只有一個正確的輸出, 可是中間要排除不少的錯誤是, 不要用多個if else, 能夠這樣,會是代碼優雅一點數組

function demo(){
    if () return false;
    if () return false;
    if () return false;
    return 'x';
}
  1. 面向對象與面向過程的選擇框架

能簡化的事情, 儘可能簡化, 不要事事都想建一個類再來作, 類的實例化的消耗比函數調用更耗內存, 類的實例化要在是分配堆內存, 不是棧內存, 固然這和代碼可讀性比起來, 都是小事
若是要擴展性, 確定是須要抽象的, 就面向對象函數

  1. 儘可能使用php自帶的函數.net

不要想到本身實現, php自帶的函數都是使用c語言來寫的, 你用php寫的運行效率能比c高?
要實現這個儘可能通讀php.net, 知道要實現什麼功能在哪裏找, 不要盲目,debug

  1. 關於命名調試

必定要語義話, 看了laravel 我真以爲這麼多年變量函數命名都是假的code

  1. 這是php, 不是c/c++

在c中i++只須要一條cpu指令, 因此我一直覺得$i++的效率很高, 可是我看到的框架(好比tp)都沒用使用$i++, 而是使用$i += 1, 才發現我太年輕了, 在php中$i++須要4條opcodes

  1. 內存泄漏

php中通常不會內存泄漏的(運行完了就退出了, 沒有常駐進程), 但我就遇到過同事寫的程序, 莫名奇妙的返回空的頁面, 可是看代碼邏輯好像又沒問題, 用xdebug調試才發現, 遞歸沒有出口致使無限調用, 因此是程序就有可能出現內存泄漏可是也要注意有的php server是常駐進程的,

相關文章
相關標籤/搜索