###### 記一些坑
```//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 ...