※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-07-18 18:38:43
看板 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,但它的入門門檻有些稍高。
我另外推薦 Laravel,如果你打算做完整的 Application,但它的入門門檻有些稍高。
在此,特別提一下 Symfony,它有完整的文件、龐大的開發群及功能性,但是對於初學者而言它太過於眼花瞭亂,容易讓人迷失。
不過,Symfony 有個很棒的官方教學系列,若你熟悉 composer 之後就可以參考,它對於你理解 Modern PHP 很有幫助。
https://symfony.com/doc/current/create_framework/index.html
Create your own PHP Framework (Symfony Docs)
Create your own PHP Framework: Introduction Why would you Like to Create your Own Framework? Before You Start Bootstrapping Dependency Management Our ...
Create your own PHP Framework: Introduction Why would you Like to Create your Own Framework? Before You Start Bootstrapping Dependency Management Our ...
事實上,這東西做出來也沒辦法實際應用,但是作為學習它對於初學者是非常有幫助的。
最後提醒一下,一個人學習是件孤獨的事,若能找到一起努力的夥伴,可能會讓學習更有效率。
推薦如果你家附近有任何程式的讀書會(不限於 PHP)、社群聚或 Conf 都可以參加。
有任何問題也歡迎站內信我,如果我有時間的話都會回覆 ^_^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.128.83
※ 文章代碼(AID): #1RGOImCg (PHP)
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1531020464.A.32A.html
→ : ps. 我推薦「現代 PHP 」這本書,它帶給我很大的啟發1F 07/08 11:29
推 : 推~2F 07/08 12:00
推 : 推3F 07/08 12:00
→ : 很難不從DW入門 坊間的書都是教DW4F 07/08 12:50
推 : 推,學習是要一步一步走,不是別人整天叫你別學5F 07/08 13:04
→ : 除了歐萊禮之外的紙本書,其它PHP 的書通通是垃圾6F 07/08 13:10
推 : 坊間的書也沒有都是教DW吧……不過就算不是DW的php書7F 07/08 13:35
→ : 原則上台灣人寫的我都不推,除非登上歐萊禮。
→ : 原則上台灣人寫的我都不推,除非登上歐萊禮。
推 : 謝謝 目前規劃先把原本的書看個八成 再重新寫過一次9F 07/10 02:03
→ : 雜亂的程式碼
→ : 之前大多都跳著看
→ : 雜亂的程式碼
→ : 之前大多都跳著看
推 : 推slim12F 07/10 11:17
推 : 每次看到熱心分享的網友都很感動13F 07/16 13:19
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 684
※ 本文也出現在 1 個隱藏看板
※ 本文也出現在 1 個隱藏看板
作者 MoMoShota 的最新發文:
- 79F 16推
- 23F 2推
- 39F 11推 1噓
- 原文恕刪。 先說結論:丟掉 ,你會看到更好的世界。 那樣的所見即得編輯模式,外加一大堆的插件,會讓初學者很有成就感。 我大概小學四年級的時候有用過 Namo Web Editor,當時也是帶給我很深的 …13F 7推
- 之前忘記在哪聽過一句話:資安不只是意識,還有實踐。 有很多東西其實要自己實踐後才會知道,舉例來說: 1. 像是 XSS 是什麼?會帶來什麼危險?用 htmlentities 跟 htmlspecial …10F 4推
回列表(←)
分享