看板 PHP 關於我們 聯絡資訊
原文恕刪。 先說結論:丟掉 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://www.ptt.cc/bbs/PHP/M.1531020464.A.32A.html
MoMoShota: ps. 我推薦「現代 PHP 」這本書,它帶給我很大的啟發 07/08 11:29
nacoyow: 推~ 07/08 12:00
Notte: 推 07/08 12:00
mimikillua: 很難不從DW入門 坊間的書都是教DW 07/08 12:50
shadowjohn: 推,學習是要一步一步走,不是別人整天叫你別學 07/08 13:04
MoMoShota: 除了歐萊禮之外的紙本書,其它PHP 的書通通是垃圾 07/08 13:10
tkdmaf: 坊間的書也沒有都是教DW吧……不過就算不是DW的php書 07/08 13:35
tkdmaf: 原則上台灣人寫的我都不推,除非登上歐萊禮。 07/08 13:35
aa2468291: 謝謝 目前規劃先把原本的書看個八成 再重新寫過一次 07/10 02:03
aa2468291: 雜亂的程式碼 07/10 02:03
aa2468291: 之前大多都跳著看 07/10 02:03
p62448: 推slim 07/10 11:17
shvanta: 每次看到熱心分享的網友都很感動 07/16 13:19