顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-07-18 18:38:43
看板 PHP
作者 MoMoShota (正太控)
標題 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
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  ...

 
事實上,這東西做出來也沒辦法實際應用,但是作為學習它對於初學者是非常有幫助的。


最後提醒一下,一個人學習是件孤獨的事,若能找到一起努力的夥伴,可能會讓學習更有效率。

推薦如果你家附近有任何程式的讀書會(不限於 PHP)、社群聚或 Conf 都可以參加。
有任何問題也歡迎站內信我,如果我有時間的話都會回覆 ^_^

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.128.83
※ 文章代碼(AID): #1RGOImCg (PHP)
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1531020464.A.32A.html
MoMoShota: ps. 我推薦「現代 PHP 」這本書,它帶給我很大的啟發1F 07/08 11:29
nacoyow: 推~2F 07/08 12:00
Notte: 推3F 07/08 12:00
mimikillua: 很難不從DW入門 坊間的書都是教DW4F 07/08 12:50
shadowjohn: 推,學習是要一步一步走,不是別人整天叫你別學5F 07/08 13:04
MoMoShota: 除了歐萊禮之外的紙本書,其它PHP 的書通通是垃圾6F 07/08 13:10
tkdmaf: 坊間的書也沒有都是教DW吧……不過就算不是DW的php書7F 07/08 13:35
tkdmaf: 原則上台灣人寫的我都不推,除非登上歐萊禮。
aa2468291: 謝謝 目前規劃先把原本的書看個八成 再重新寫過一次9F 07/10 02:03
aa2468291: 雜亂的程式碼
aa2468291: 之前大多都跳著看
p62448: 推slim12F 07/10 11:17
shvanta: 每次看到熱心分享的網友都很感動13F 07/16 13:19

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 684 
※ 本文也出現在 1 個隱藏看板
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇