原文恕删。
先说结论:丢掉 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 都可以参加。
有任何问题也欢迎站内信我,如果我有时间的话都会回复 ^_^