CodeIgnitor編碼規範與建議

2021-07-27 17:20:18 字數 2309 閱讀 7658

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');

!附加理解

ci的db構造器類使用時,where或where_in等限制的必須放在執行函式前

- 對於delete,update等命令來說,其執行函式為自身,也就是update(),delete()

- 對於select來說,執行函式為get()

1. $_session變數只能在controller中使用,不可出現在model中1. 不要過度依賴自己定義的private函式

過多的封裝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 必須使用 長標籤 或 短輸出標籤 一定不可使...