作者MoMoShota (正太控)
看板PHP
標題Re: [請益] php學習路線的規劃
時間Sun Jul 8 11:27:36 2018
原文恕刪。
先說結論:丟掉
Dreamweaver,你會看到更好的世界。
Dreamweaver 那樣的所見即得編輯模式,外加一大堆的插件,會讓初學者很有成就感。
我大概小學四年級的時候有用過
Namo Web Editor,當時也是帶給我很深的震憾。
「原來寫網頁這麼簡單」
然而事實上,
Dreamweaver 會讓團隊合作變得艱難。
這裡的「團隊合作」不單單指你與他人之間的 Team Work,還包括你與未來的自己的 Team Work。
我會建議你打開 Visual Studio Code、Sublime 或任何一個純文字編輯器,然後親自寫下 <!DOCTYPE html>
瞭解基礎 template 中代表什麼意義(例如為何要加上 <meta charset="utf-8">)
然後我假定你想要往後端(PHP)學習,所以這邊不多提前端相關的事。
很多書上會教你說:先安裝 AppServ、MAMP、XAMPP 之類的環境整合包,它才有結合 PHP、網頁伺服器跟資料庫。
事實上,你根本就不需要這些。
你只需要到你寫 php 的資料夾下,執行 php -S localhost:{port} 即可。({port} 表示指定一個本機的 port,我習慣是 9000)
PHP 官方有提供專為開發使用的內建網頁伺服器(Built-in Web Server)
記住,這是「專為開發使用」,請絕對不要拿它來放在可能有任何你不知道的人存取的地方(例如自己的 VPS 上)
下一步,你可以嘗試寫個公布欄系統,在不需要 Database 的情況下,用純文字檔或 json 檔發表公告,然後顯示於頁面。
再進一步地,改善這個公布欄系統,利用 SQLite 當作基礎的 Database,發表公告。
再進一步,加入檔案上傳的功能,建立圖文公佈欄系統。
最後,加入訪客留言功能,這時就跟簡易的 Blog 很相似了。
到這一步,你大概已經掌握基礎的 PHP 語法。
如果你到這裡還沒有放棄,就表示我們可以進到下一階段:使用套件管理器 composer。
Modern PHP 與傳統 PHP 最大的差異在於它擁有與世界接軌的能力:套件管理。
以往,我們可能會到 Google 上搜尋「DB 連接 PHP」,然後 copy and paste,也不管那個程式是不是漏洞百出,反正能動就好。
現在,我們會用 Doctrine 之類的 Database 套件,甚至是 ORM 下去簡化我們對資料庫的操作。
有一些 composer 使用經驗之後(不用精通,只要知道怎麼用就好),我們開始可能進階到 Framework 的世界。
挑選 Framework 有幾個重點:
1. 不支援 composer 的,請直接當成歷史的塵埃。
2. 不支援 PHP 7 以上的,請直接把它丟進棺材裡。
3. 需要另外安裝擴充套件的(例如 phalcon),對初學者來說學習曲線過高,先放在一旁。
我比較推薦使用 Slim,尤其是你打算做 API Server(缺乏 view 的層級的應用程式)
我另外推薦 Laravel,如果你打算做完整的 Application,但它的入門門檻有些稍高。
在此,特別提一下 Symfony,它有完整的文件、龐大的開發群及功能性,但是對於初學者而言它太過於眼花瞭亂,容易讓人迷失。
不過,Symfony 有個很棒的官方教學系列,若你熟悉 composer 之後就可以參考,它對於你理解 Modern PHP 很有幫助。
https://symfony.com/doc/current/create_framework/index.html
事實上,這東西做出來也沒辦法實際應用,但是作為學習它對於初學者是非常有幫助的。
最後提醒一下,一個人學習是件孤獨的事,若能找到一起努力的夥伴,可能會讓學習更有效率。
推薦如果你家附近有任何程式的讀書會(不限於 PHP)、社群聚或 Conf 都可以參加。
有任何問題也歡迎站內信我,如果我有時間的話都會回覆 ^_^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.128.83
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1531020464.A.32A.html
1F:→ MoMoShota: ps. 我推薦「現代 PHP 」這本書,它帶給我很大的啟發 07/08 11:29
2F:推 nacoyow: 推~ 07/08 12:00
3F:推 Notte: 推 07/08 12:00
4F:→ mimikillua: 很難不從DW入門 坊間的書都是教DW 07/08 12:50
5F:推 shadowjohn: 推,學習是要一步一步走,不是別人整天叫你別學 07/08 13:04
6F:→ MoMoShota: 除了歐萊禮之外的紙本書,其它PHP 的書通通是垃圾 07/08 13:10
7F:推 tkdmaf: 坊間的書也沒有都是教DW吧……不過就算不是DW的php書 07/08 13:35
8F:→ tkdmaf: 原則上台灣人寫的我都不推,除非登上歐萊禮。 07/08 13:35
9F:推 aa2468291: 謝謝 目前規劃先把原本的書看個八成 再重新寫過一次 07/10 02:03
10F:→ aa2468291: 雜亂的程式碼 07/10 02:03
11F:→ aa2468291: 之前大多都跳著看 07/10 02:03
12F:推 p62448: 推slim 07/10 11:17
13F:推 shvanta: 每次看到熱心分享的網友都很感動 07/16 13:19