## PHP語言介紹
> PHP(1998-2018),即“PHP: Hypertext Preprocessor”,是一種被廣泛應用的開源通用腳本語言,語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域,市場上主要的應用場景有<WEB開發、移動端開發、后端應用服務、服務端腳本>等場景,服務于各大中小企業;
- PHP語言的特點:免費、開源、跨平臺、易學性、快捷、效率高;
- PHP語言的缺點:命名規范不嚴謹、單線程、不支持異步網絡;
- 使用PHP的公司:百度、網易、新浪、搜狐、騰訊、金山、滴滴、好未來、易車、58趕集集團、瓜子、51talk等,都有PHP的影子;
- PHP移動端:H5移動應用、APP服務端開發、微信小程序、公眾號、百度小程序、支付寶小程序;
- PHP一個梗:PHP(拍黃片)
## PHP版本歷程

>1. PHP3.0版本定義了PHP的基本開發的語法結構,最強大的功能就是它的可擴展性。它提供給第三方開發者數據庫,協議,和API的基礎結構之外,還吸引了大量的開發人員加入并提交新的模塊。<Mysql、Mysqli、CURL、Str、Array、OPcache、iconv、GD>等等
>2. PHP4.0從底層全面重寫的新版 PHP 內核 "Zend" 引擎于 2000 年 5 月 隨著新版 PHP4.0 發布。相較于 PHP3 的解析執行模型, Zend引擎采用了更有效的編譯執行的方式,性能最高提 升了 10 倍。包含了現在用的一些常用功能與特性,例如:超全局變量 / 垃圾回收 / 面向對象 /eval() foreach() include() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset();
>3. PHP5.0 以 Zend II 為核心的 PHP5 發布。性能更加優越,完全面向對象,支持的擴展更加豐富;
> <PDO、JSON、SPL、魔術方法、閉包、靜態方法、數組、面向對象、命名空間>等等 [http://doc.phpdaren.com/838577](http://doc.phpdaren.com/839279/)
>4. PHP7版本對Zend引擎做了大量修改,大幅提升了PHP語言的性能,使用PHP7可以使你的程序性能瞬間翻倍。
## PHP職業前景和道路


## PHP職位要求
要求|實習生 | 初級工程師 | 中級工程師 | 高級工程師
---|---|---|---|---
PHP編程| 編程語法+基礎 | 能夠掌握 | 熟練應用 | 精通編程+了解工作原理
前端技術|基本了解,會寫HTML+CSS|會寫JS+HTML| 熟練JS和jquery |前端主要框架應用(vue、node) Linux開發|了解Linux |基本命令 | 會配置和操作 |配置安裝和應用
Mysql數據庫|了解Mysql,會寫SQL語句| 會寫SQL語句 | Mysql 常用命令和優化SQL| Mysql 數據庫建模設計+性能優化,了解原理和相關操作
代碼規范|低| 一般 | psr-4 | psr-4
系統架構|Linux 命令會用| 了解Linux/nginx |基本操作命令和配置 | Linux+nginx+shell 編程,服務端命令和配置
其他技術|mysql|Memcache|Redis、Memcache|Redis、MongoDB、Nosql、微服務、RPC、消息隊列、Workerman、swoole
工作要求| 肯吃苦和學習 | 積極主動 | 獨立負責,善于思考 | 抗壓能力強,獨擋一面
### PHP社招要求
#### 中級
- 熟悉PHP編程語言,具備扎實的計算機基礎和快速學習能力; - 有基本的前端開發經驗,了解HTML、CSS、Javascript;
- 了解LNMP棧開發,具備良好的面向對象設計方法和編程思想;
- 優秀的Mysql數據庫設計&優化能力,熟練使用Redis、MongoDB等NoSQL的開發和設計良好的編碼習慣和文檔書寫能力,代碼結構清晰、命名規范、邏輯性強,主動Review和重構代碼;
- 掌握MySQL數據庫開發和應用,具備數據庫性能優化經驗;
- 良好的溝通交流能力,能夠迅速融入團隊,善于團隊合作;
- 工作態度認真、負責、積極主動;
#### 高級
- 3年以上服務端開發經驗;
- 熟練掌握LNMP開發或LAMP開發,并具備良好的編程風格;
- 熟悉PHP實現和工作原理,有PHP擴展開發經驗優先;
- 熟悉mysql,掌握mysql分區、分表、集群等相關設計方案,具備mysql優化經驗;
- 熟悉memcache、redis、mongodb等常用nosql解決方案,了解各自的優缺點以及使用場景;
- 熟悉web開發中各類緩存設計、站點優化方案;
- 有大流量網站建設或數據庫建設經驗優先;
- 善于抽象、總結、思考,對技術有執著追求。
- 對代碼和設計質量有嚴格要求,重視 Code Review,有良好的編程習慣。
## 其他軟技能 +1
- 架構思想,程序的設計模式;
- Linux 相關的知識,操作命令、配置、Shell 腳本等等;
- Redis 、Mysql 、Mongo、JS等相關技術;
- 常用的PHP框架(Laravel、symfony);
- composer,PHP包管理工具;
- Workerman - Workerman是一款開源高性能異步PHP socket即時通訊框架
- swoole - 面向生產環境的 PHP 異步網絡通信引擎
- 阿里、騰訊、百度云服務的使用;
- 如果可以會一點python 爬蟲也不錯哦;
- 自己獨立運維系統,部署服務等等;
## 實際工作中 +2
- 時間上要有觀念,梳理時間觀;
- 自我管理上自我約束和提升
- 對業務需求要能自主分解;
- 有產品思維,能夠明白為什么要這樣做;
- 團隊協作、責任感、主動性強、交流分享;
- 溝通能力很重要,真的,不騙你;
## 學習之路
> 成功來自與勤奮,智慧不是自然的恩惠,而是勤奮的結果。只有把握住勤奮的鑰匙,才能打開知識寶庫的大門。