PHP中注意點

2021-09-10 22:08:46 字數 2196 閱讀 4372

###### 記一些坑

```//phpfpm配置

pm.max_children = 最大併發數

詳細的答案:

pm.max_children 表示 php-fpm 能啟動的子程序的最大數量。

因為 php-fpm 是多程序單執行緒同步模式,即乙個子程序同時最多處理乙個請求,所以子程序數等於最大併發數。

但是實際使用中一般不用考慮,因為php預設配置為動態均衡的子程序管理,不用手動設定這些配置。

``````

//日誌除錯方法

/*** 超級除錯

** 除錯非本地環境或分布式環境,通過log檢視變數傳遞

* 寫入變數值到\var\log\php_super_debug.log

* @param  mixed  $data     日誌資料

* @param  string $log_path 日誌路徑

* @param  string $log_name 日誌名稱

// php5.6開始乾掉了@語法,php上傳相容版本寫法

if (class_exists('\curlfile')) else

$data = array('file' => '@' . realpath($destination));//<=5.5

}```

```// 序列化與反序列化

概念:序列化:把變數(所有型別)轉成能傳輸和儲存的變數(不丟失原變數的屬性和結構)

反序列化:把字串轉成原變數

函式:序列化:serialize, json_encode(不能序列化物件)

反序列化:unserialize, json_decode

``````

// 組合和聚合的區別

組合:a類在例項化物件的過程中產生了對b類的引用

聚合:a類在例項化物件的過程中,不會立即例項化b類,而是等待外界非a類的物件傳遞

```// 記乙個坑

ip2long函式

- 32位系統下會轉成帶符號的int,範圍-2^31~2^31-1

- 64位系統下會轉成不帶符號的int,範圍0~2^32-1

``````

// static和self的區別

第一種解釋:

- static: 代表當前所引用的類

- self: 代表當前**片斷所在的類

第二種解釋:

如果子類和父類都有乙個「a」方法。那麼

- static: 會呼叫到子類的a方法

- self: 會呼叫到當前類的a方法,如果在子類中self::a(),將會呼叫到子類的a方法,如果在父類中,將會呼叫父類的a方法。

``````

//json_encode 使用時的乙個坑

json_encode有中文時,需要加入json_unescaped_unicode,json_encode($data, json_unescaped_unicode); (php版本要求:必須php5.4+),否則中文會轉義為unicode編碼。

例如:$arr = array('a'=>'只有所有者有讀和寫的權' ,'b'=>'所有者有讀和寫的許可權,組使用者只有讀的許可權');

echo json_encode($arr);

1. 不加json_unescaped_unicode時,結果為:

2. 加了json_unescaped_unicode時,結果為:

``````

// 記乙個坑

strpos函式

- 查詢字串首次出現的位置,判斷函式的返回值是否是整數時,應該使用"===",而不能使用"==",因為這個函式可能返回布林值 false,

但也可能返回等同於 false 的非布林值。比如,字元出現在第乙個位置時。

- 類似的函式還有,stripos(), strrpos(),strripos()。

```###### 技巧

開發中注意點

2.storyboard和xib檔案的載入 storyboard和xib檔案本質上是乙個xml檔案,系統在載入乙個介面的時候,首先拿到這個xml檔案,然後解析它,然後將解析出來的檢視載入到介面上,在解析的時候,會自動去呼叫內部控制項的set方法,我們可以自己寫子控制項的set方法,這樣就可以在介面的...

php基礎注意點

基礎知識的紮實是高階高層知識領域的底層建築,無論學習哪門語言都是這個道理,小細節決定一切,php的學習也不例外。下面總結一些php基礎學習中經常誤解 曲解 易混淆的知識點 沒有按照php高階學習的順序 1.php基礎型別中的浮點型轉化為整型的特例 1echointval 0.1 0.7 10 有ph...

6 程式設計中注意幾點

1 給 string 賦char 型值,通過以下方式 建構函式 string const char s,size t n string const char s 要求 s指向的 c風格的字串必須以 0 結尾。或用 assign string assign const char s,size t n ...