發(fā)布時間:2021-09-13 11:03:16來源:轉(zhuǎn)載
PHP程序員職業(yè)發(fā)展規(guī)劃和技術(shù)需求是什么?很多PHPer在進階的時候總會遇到一些問題和瓶頸,業(yè)務(wù)代碼寫多了迷茫沒方向,不知道該從哪兒入手去提升自己。小編整理了一些資料,進階知識體系可供參考覆蓋各個技術(shù)棧:分布式架構(gòu)、高可擴展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個知識點高級進階干貨。
PHP 初級程序員
定義: 剛剛進入 PHP 編程行業(yè),正在以 PHP 謀生,但是經(jīng)驗?zāi)芰€不足的人.
描述: 這些人已經(jīng)以 PHP 為主要謀生手段,主要是剛剛加入 PHP 程序員行列的人
為主,也有部分做了很多年,但是還只會 curd 的老人.
技術(shù)要求:
一: 服務(wù)器方面(linux:系統(tǒng)):
熟練安裝 Linux 系統(tǒng)、熟練使用 Linux 常用命令和某些日常使用的命令、 熟悉 linux 常用軟件包安裝
熟練搭建 lnmp(lamp)環(huán)境.熟練項目上線,域名配置
能夠使用一些簡單的 shell 對服務(wù)器進行維護
二:web 頁面技術(shù)及相關(guān):
其實 web 嚴格來說并不屬于 php 技術(shù),但是對于中小公司而言,基本每一個 PHP
程序猿都要編寫簡單的前端頁面.
1. 熟練掌握 HTML, CSS,JS,JQ 使用,能夠編寫簡單的前端頁面
2.會運用前端樣式框架,比如 layUI,Bootstrap 等
3.會 ajax 及其相關(guān)技術(shù).能完成常見 ajax 頁面制作.
三: MySQL 技術(shù)
熟練掌握 SQL 語句(增刪改查必備).
熟練掌握 MySQL 的操作.包括安全、訪問控制和權(quán)限、備份和恢復(fù),復(fù)制、 導(dǎo)入和導(dǎo)出記錄.
熟練掌握 phpMyAdmin 或 Navicat 等管理維護工具
四:PHP 技術(shù)
PHP 語法,常用函數(shù)等不用說,必須的基礎(chǔ),.
面對對象(oop),簡單的設(shè)計模式必須(單例,工廠...)
熟悉 PHP 常用庫,比如:gd,curl 等
至少熟練使用一種 PHP 開發(fā)框架,比如 tp,laravel
對于二開項目有一定了解,比如 dedecms,ECShop。
5 項目相關(guān)
1. 實際完成過有價值的 PHP 項目(自己開發(fā)玩的博客啥不算).或全程參與 過 php 網(wǎng)站開發(fā)與建設(shè)
PHP 中級程序員
定義: 正在以 PHP 程序謀生,能夠獨立完成小規(guī)模的 PHP 項目設(shè)計和開發(fā) .描述: 這些人已經(jīng)以 PHP 為主要謀生手段,一般是 PHP 開發(fā)五年以內(nèi)的人為主, 也有部分老人一直卡瓶頸,還停留這一個級別,也是 PHP 開發(fā)人數(shù)較多的一個級別.
技術(shù)要求:
一: 服務(wù)器運行系統(tǒng)( linux 系統(tǒng)):
(初級的全部具備,高一級的需要全部具備初一級的全部技能,下同,我就不再
重復(fù)描述)
能夠?qū)?MySQL 和 Apache(nginx)進行優(yōu)化以提升網(wǎng)站性能.
能夠配置小型服務(wù)器集群(雙服務(wù)器或三服務(wù)器).
能夠進行 Linux 系統(tǒng)安全配置、Iptables、syslog 日志管理
二: web 頁面技術(shù)及相關(guān):
對于前段要求反而不高了,畢竟 PHP 是后端語言,我們不是做前端開發(fā)了,沒
必要在前端過于投入精力,當(dāng)然如果會 vue,node.js 會更好。
三: MySQL 技術(shù)
會根據(jù)需求設(shè)計 mysql 數(shù)據(jù)庫
mysql 原理,儲存引擎,事務(wù),視圖都要會了
簡單的 mysql 語句優(yōu)化也要會了
四: PHP 技術(shù)
對于框架不光要會用了,框架底層源碼有一定了解
支付技術(shù),接口開發(fā),微信開發(fā)(現(xiàn)在公眾號,小程序這么火,你能不掌握么)socket/curl 網(wǎng)絡(luò)編程也要熟練了
redis,mecached 緩存使用也必須了
五:項目相關(guān)
1.能夠較為的進行項目開發(fā)
1. 良好的編碼習(xí)慣,編寫的程序代碼清晰,注釋清楚
說到注釋,想起了一個小段子:
程序猿較煩的 100 件事:1.寫文檔, 10.別人不寫文檔 11.寫注釋 100. 別人不
寫注釋!
PHP 高級程序員
定義: 正在以 PHP 程序為主要工作,建設(shè)過多個 PHP 項目,有多年 PHP 經(jīng)驗,在公司里面擔(dān)任核心崗位.
描述: 這些人在普通編程人員眼里已經(jīng)是大佬級別的存在了,他們的分布以加入
PHP 程序員行列 5 年以上的人為主.高級程序員是 PHP 項目的核心力量.
技術(shù)要求:
一: 服務(wù)器運行系統(tǒng):
nginx 完全熟練,反向代理,負載均衡,集群等順手捏來
服務(wù)器安全防護輕松搞定
二:MySQL 技術(shù)
理解 mysql 底層 Btree 機制
mysql 索引優(yōu)化,語句優(yōu)化,慢查詢分析,mysql 鎖機制
mysql 主從復(fù)制,讀寫分離,分庫分表
數(shù)據(jù)庫中間件 mycat 也要會了
三: PHP 技術(shù)
PHP 底層內(nèi)核,PHP 垃圾回收機制,對象內(nèi)存優(yōu)化
微服務(wù)也要接觸了,swoole 使用,API 結(jié)構(gòu)設(shè)計,接口實現(xiàn),性能優(yōu)化
對于并發(fā)優(yōu)化相關(guān)知識也需要會了 比如:redis 批量查詢優(yōu)化,緩存擊穿,緩存雪崩預(yù)防策略
四: 項目相關(guān)
1.高級開發(fā)已經(jīng)是中下公司的核心了,要求能夠帶領(lǐng)團隊對項目中遇到的難點, 新技術(shù)都可以攻關(guān),搞定
PHP 工程師
定義: 正在以 PHP 程序為主要工作,并正在進行新產(chǎn)品的研發(fā).可以同時使用其他
語言(C/GO)等輔助提高 PHP 程序性能的人是 PHP 工程師.
描述: PHP 工程師已經(jīng)是開發(fā)的天花板了,也俗稱架構(gòu)師.
技術(shù)要求:
都已經(jīng)是行業(yè)天花板了,我就不再分類列技術(shù)要求了。
核心有:
對于 linux 底層了解(所以不光要會 PHP,像 C/C++語言 go 語言較好也會其中一種或多種)
分布式架構(gòu)要會了 像分布式緩存,分布式 PRC
消息中間件 MQ,高并發(fā)分流