前言
開啓了PHP的學習,實際上也就是開啓了後端的學習。一入後端深似海,後端的知識太過繁重,需要花很多的時間去學習和研究的。
PHP學習建議
學習來源
- 通過視頻學習,雖然學習起來比較花時間,但是通過直觀的演示能跳過許多的坑
- 通過相關書籍學習,根據自己的需要自己購買
- 語言學習
- 實際應用
- 架構設計
- 通過查看相關文檔學習,技術文檔是最爲權威的,遇到問題,首先就是查找一下文檔
系統環境
環境的搭建是入門的一大坑。開始學習的時候,讓自己的程序跑起來就算很成功了。等到自己學習一段時間,用的比較熟悉了,在反過來研究運行過程和原理
- 集成開發環境
- WampServer
- XAMPP
- phpStudy
- 分模塊安裝
- php
- nginx/apache
- Mysql/MariaDB
- 重量級本地開發環境
- Vagrant盒子 => Laravel Homestead
- 輕量級的獨立虛擬機
- docker
PHP基礎
PHP總體來說中規中矩,與其他c系的語言有相通之處,入門也較爲簡單。需要花一點功夫的也就是需要把數組和字符串相關的函數操作給記一下
SQL
後臺大部分時間都在與數據庫打交道
- 最基本的sql語句,比如建庫、建表、增刪改查、複雜的SQL查詢(多表關聯,分組查詢,排序等)
- 數據庫設計,數據庫範式
- 數據庫優化
- 是否需要優化?慢查詢,需要即時響應,高併發
- 針對什麼操作優化?增、刪、改、查
- 使用什麼來優化?表字段結構、索引、分頁、緩存
- 規避一些效率低的操作
HTTP協議
前後端通訊規範
- HTTP報文格式
- CORS跨域請求的限制與解決
- cookie和session
- HTTP長連接
- HTTPS
- HTTP2
開發工具的使用
磨刀不費砍柴功
- git,版本控制器,在代碼編寫、團隊合作中發揮了很重要的作用,是軟件開發必備技能
- composer,PHP的一個依賴管理工具,避免造重複的輪子,很方便的安裝和使用第三方庫
- phpMyAdmin、mysql workbench、navicat,數據庫圖形化管理工具
- sublime、vscode、vim、PhpStorm,都是優秀的編輯器,根據自己習慣選擇
框架的學習使用
如果開始使用和學習框架了,後臺開發就算是徹底入門了
-
學習框架之前確保自己已經掌握PHP基本的語法,面向對象的設計實現,SQL操作,異常處理
-
絕大多數的框架都實現了 MVC(Model-View-Controller)設計模式並基於該模式組織代碼,所以MVC設計模式一定要熟記於心。
-
一般來說框架會在php MySQL、php MySQLi、php PDO之上建立數據訪問層
-
實現構造器來替代原生的sql語句,比如說
$affectedRow = $db->insert('tableName',['key1'=>'value1','key2'=>'value2']); $data = $db->select('field1,field2')->from('tableName')->get();
-
實現ORM來替代原生的sql語句,比如說
class User extends Model { } //Retrieving All Records $users = User::all(); //Retrieving A Record By Primary Key $user = User::find(1); var_dump($user->name);
-
-
在視圖層,框架也會對渲染、數據獲取提供許多便利的方法
-
依賴注入也是框架中一個很重要的概念,是控制反轉的一種實現
架構設計
作爲程序猿還是要緊跟時代的潮流,需要了解架構的發展
- SOA(面向服務的架構)
- 微服務
分佈式與集羣
- 負載均衡
- CDN
- MQ
- Apache ActiveMQ
- RabbitMQ
- Artemis