# 一定要用良好的第三方類庫
封裝封裝,都說封裝,既然目的明確的,功能相同的代碼,很容易封裝成通用的函數或類,所以很多東西早早有大神實現好了,實現得還非常好,開箱即用。
舉個例子,在很多時候,我都能在群上看到有人問關于php的curl的問題,都知道curl是
用來發網絡請求的。網絡請求這個東西在哪門語言都有非常好的實現,我們要做的不是用原始的curl去拼接請求參數,我們應該到github上搜索,百度上搜索,`php網絡請求庫`這樣打關鍵字都百度搜。然后看看這個實現好不好用,適不適合用,合適就用,到`composer.json`里去聲明依賴。
php網絡請求推薦使用以下類庫,git星星很多,文檔完善(英文),文檔雖然是英文的,但很容易看懂。
注意:底層還是要依賴curl
[php網絡請求庫](http://docs.guzzlephp.org/en/latest/)
## 第三方類庫推薦
* [php網絡請求庫](http://docs.guzzlephp.org/en/latest/)
* [php圖片處理](https://github.com/Intervention/image)
* [php關于輸入驗證](https://github.com/Respect/Validation)
* [php單元測試](https://github.com/sebastianbergmann/phpunit)
* [php日期時間處理](https://github.com/briannesbitt/Carbon)
* [php處理markdown](https://github.com/michelf/php-markdown)
* [根據注釋生成漂亮的api文檔](https://github.com/phpDocumentor/phpDocumentor2)
* [郵件發送](https://github.com/swiftmailer/swiftmailer)
* [PHPOffice](https://github.com/PHPOffice)
* [依賴注入容器](https://github.com/PHP-DI/PHP-DI)