1. 陣列標識
定義陣列時,應當根據php版本選擇不同的定義方式,新版本的定義方法往往更加美觀:
- 對於php 7以前的版本,只能使用array()
- 對於php 7之後的版本,定義陣列時使用更好
2. 陣列追加
在對陣列進行追加時,不可使用+=號,最美觀簡單的方法是使用php特有的連加符號:
$array1 = ["1"];
$array2 = ["2"];
$array1 = $array2;
var_dump($array1) // 輸出array([0]=>"1",[1]=>"2")
!注意:
php中所有陣列的值都是有$key字首的,如:
$array = [1,2,3];
實際上,$array應當被看做如下形式:
$array = [[0]=>1,
[1]=>2,
[2]=>3];
1. 列表匹配select
當進行類似如下操作:
foreach($idlist as $id)
我們發現這麼做會多次訪問資料庫,效率很低,這時可以使用where_in限定將訪問次數降為一次:
$this->db->select()->from('table')->where_in('id',$idlist)->get()->result_array();
2. select應當指定具體值
在進行select的時候,需要什麼值,最好在select中指定出來,一是提高**可讀性,而是提高搜尋效率、減小資料傳輸量
//bad way:
$result = $this->db->from('attachment')->where(['id'=>$id])->get()->result_array();
$id = $result[0]['id'];//其他不需要的值會浪費記憶體
//good way:
$this->db->select(['id','name','location'])->from('attachment')->where(['id'=>$id])->get()->result_array();
$id = $result[0]['id'];//只選取三個值,記憶體占用少得多
3. 函式形參應標註型別
標註形參型別的函式宣告方式可以大大減小函式出錯的概率,在debug期間就能把很多問題扼殺在初期:
public function getpage(int page){}
1. 獲取自增id值
對於資料庫中具有auto_increment的id屬性,在進行了insert操作後,可以直接使用insert_id獲得id值,不需要再select一次:
$this
->db->insert('details', $detailsarray);
$id=
$this
->db->insert_id();
2. update和delete等操作的where限定應該在確認函式前新增!使用where_in時,必須把where_in放在delete前面:
$this->db->where_in('id',idarray)->
delete('user');
!附加理解1. $_session變數只能在controller中使用,不可出現在model中1. 不要過度依賴自己定義的private函式ci的db構造器類使用時,where或where_in等限制的必須放在執行函式前
- 對於delete,update等命令來說,其執行函式為自身,也就是update(),delete()
- 對於select來說,執行函式為get()
過多的封裝private函式會降低**可讀性,因此,若不是需要多次重用的**,最好不要將其進行封裝。
2. 給定型別的函式形參在指定預設值時可能發生錯誤
在專案過程中,我們團隊發現,當測試環境苛刻時,以下**將報錯:
public function getpage(int page=1)
改為以下將恢復
public function getpage(page=1)
原因已經明了:那個兄弟用的是php 5.x php 編碼規範哪些 php編碼規範
1.php 必須以完整的形式來定界 即不要使用php 短標籤 且保證在關閉標籤後不要有任何空格。2.當乙個字串是純文字組成的時候 即不含有變數 則必須總是以單引號 作為定界符。例如 a example string 3.變數替換中的變數只允許用 變數名 的形式。例如 greeting hello n...
php 編碼規範哪些 PHP編碼規範
很多初學者對編碼規範不以為然,認為對程式開發沒有什麼幫助,甚至因為要遵循規範而影響了學習和開發的進度。或者因為經過一段時間的使用,已經形成了自己的一套風格,所以不願意去改變。這種想法是很危險的。如今的 web 開發,不再是乙個人就可以全部完成的,尤其是一些大型的專案,往往需要十幾人,甚至幾十人來共同...
php 編碼規範哪些 PHP 編碼規範
這是給小組制定的php編碼規範 該 php 編碼規範基本上是同 psr 規範的。有一部分的編碼規範 psr 中是建議,此編碼規範會強制要求。此編碼規範 是以 psr 1 psr 2 psr 2擴充套件 為藍本,並增加了相應的細節說明。通則基本編碼 php 必須使用 長標籤 或 短輸出標籤 一定不可使...