### 開發注意事項
#### 1、dump()函數打印輸出瀏覽器
在http服務開發時,為了方便開發,可以使用dump()函數將內容輸出值瀏覽器中,因為swoole時基于cli程序的,如果使用var_dump()打印輸出的話,只會在終端屏幕輸出,這對開發不方便,**當然這個dump()輸出也只是針對http服務,對于websocket,rpc,udp等服務的話,還時是需要用var_dump()打印輸出**
#### 2、全局變量
在php中我們可能會用到的3類全局變量:
* 使用 global 關鍵詞聲明的變量
* 使用 static 關鍵詞聲明的類靜態變量、函數靜態變量
* PHP的超全局變量,包括 $_GET、$_POST、$_COOKIE、$_REQUEST 等,由于支持協程,請不要在代碼中使用這些全局變量。
在swoole_server中,這些全局變量在請求結束后,它是不會自動銷毀的,下一次請求到來時,依然存在,一方面可能會造成存在判斷錯誤,另一方會造成內存溢出。那么一般需要開發者在每次處理請求后自行處理這些變量的銷毀。
但是在類文件中使用的static變量,則需要開發者自行處理,所以建議盡量不要使用static。
3、exit|die函數禁止使用
在swoolefy中禁止使用原生的exit()或者die()函數,這樣會造成worker|task進程的退出。swoolefy封裝了一個_die()函數來替代exit|die函數,**此函數只能在http服務中使用**
- 歡迎使用swoolefy
- 環境說明
- 開發部署
- 安裝
- 創建應用
- 啟動|停止服務
- nginx代理
- 創建Controller
- 應用結構
- App應用對象
- Event請求處理
- 超全局管理
- 熱更新
- inotify實現worker進程熱重啟
- http服務
- 應用層配置
- 協議層配置
- 路由規則
- 控制器
- 數據模型
- websocket服務
- 應用層配置
- 協議層配置
- 數據封裝格式
- 控制器
- 數據模型
- 二進制數據處理
- rpc服務
- 應用層配置
- 協議程配置
- 數據包協議格式
- 服務控制器
- 服務數據模型
- udp服務
- 應用層配置
- 協議層配置
- 數據包封裝格式
- 控制器
- 存在問題
- 常用組件
- log
- view
- session
- cache(redis)
- db(mysql)
- mongodb
- 其他服務管理
- 自定義進程管理
- 異步任務管理
- 內存表管理
- 定時器管理
- 異常捕捉處理
- 進程池管理
- systerm采集進程服務