PHP Framework的選擇

我想大多創作者都不喜歡重複性的工作。例如從小學開始學習英文的時候,老師總是要我們抄單詞表,學習漢字的時候好像也有抄過,但是印象就不那麼深了。我不否認抄有其作用,世界上沒有做任何一件事是無用功來的,但是不喜歡就是不喜歡。因為重複性的機械工作,在這個時代交給計算機、機械去做不就好了嘛?

所以很多programmer就想到了Framework框架這樣東西。

Framework核心精神就是加速開發程式,將很多一般程式開發初始的基礎架構已經包含在框架裡,以及避免讓開發者在程式架構設計出現錯誤,至少安全性上面 Framework都做的很好,當然這只是一個工具,使用者的好壞才能決定工具的好壞。現行擁有很多開源的PHP框架,隨便在google上都能搜得到。而我用得比較多的就是CodeIgniter(簡稱CI)、CakePHP,還有就是對CI的其中一批開發人員再添加上他們自己的理念後開發出來的FuelPHP也了解了一下。一般人都有先入為主的習慣,所以我也無法判定哪個比哪個更好。我為什麼用以上兩個,就是因為簡單易用吧。反正學習是要舉一反三的,學習好簡單的架構,之後跳到其它 Framework 的時候,或許就可以減少很多摸索時間了。

PHP通過User Agent判定用戶設備

判定class

deviceCheck();
    }
 
    public function deviceCheck(){
         
        //獲取User Agent
        $this->ua = $_SERVER['HTTP_USER_AGENT'];
 
        if(strpos($this->ua,'iPhone') !== false){
            //iPhone
            $this->device = 'iphone';
        }
        elseif(strpos($this->ua,'iPad') !== false){
            //iPad
            $this->device = 'ipad';
        }
        elseif((strpos($this->ua,'Android') !== false) && (strpos($this->ua, 'Mobile') !== false)){
            //Android
            $this->device = 'android_m';
        }
        elseif(strpos($this->ua,'Android') !== false){
            //Android
            $this->device = 'android_t';
        }
        else{
            $this->device = 'pc';
        }
    }
 
    public function getDevice(){
        return $this->device;
    }
}
?>

執行

getDevice();
?>

PHP5.5與Mysql服務器連接筆記

鑑於php5.5將mysql命令非推薦化,將來的php版本會將這命令刪除,而推薦使用mysqli或者PDO來連接Mysql服務器。

於是做下筆記。

源碼示例1:


源碼示例2:

prepare("SELECT District FROM City WHERE Name=?")) {
    /* 連接變量 */
    $stmt->bind_param("s", $city);
    /* 執行 */
    $stmt->execute();
    /* 獲得結果 */
    $stmt->bind_result($district);
    /* 取得值 */
    $stmt->fetch();
    printf("%s is in district %s\n", $city, $district);
    /* 關閉 */
    $stmt->close();
}
/* 關閉連接 */
$mysqli->close();
?>