作者:Summer
链接:https://www.zhihu.com/question/20034403/answer/135433912
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

网络上教程太多,五花八门,为他总结这份方案的目的,在于最高效的学习。真的不需要看 100 个 PHP 基础课程或者书籍来学习 「PHP Web 开发」。「PHP Web 开发」是技能,只需要看刚刚需要的知识,然后做项目练习,在练习中成长。这个方案,也兼顾了

同学提到的,**保护学习的乐趣**,找到舒适感,获取成就感,在积极的过程中学习是最高效。

PHP 无法单独学,因为是 Web 开发的专属语言,需要整套的 Web 开发知识。Web 最基本的学习可以从 HTML+CSS 开始。第一步是学习一下下面这个交互课程:

HTML+CSS基础课程-慕课网

交互课程的好处是可以实时反馈,并且一开始不需要为开发环境的事情担忧,直接上手。注意上面那个课程不要求完全学会,过一遍即可,不懂的东西先记起来,然后跳过,后面再不断 Review ,不要妄想一下子学会全部。编程是 「技能」多一点,重在练习,这里我们只求知道个大概,以方便后面其他课程的继续。

接下来就是 PHP 基础和进阶课程了:

PHP入门篇_PHP入门视频教程-慕课网

PHP进阶篇_php视频教程-慕课网

还是跟学习 HTML 一样,过一遍即可,我们的目的只求知道个大概,以方便后面其他课程的继续,不懂得东西后面等我们慢慢上手,找到舒适感了,再逐个击破。

有了上面的基础知识,接下来可以开始学习实战课程了。这是最重要的一步,一个 PHP 工程师的能力,完全是靠项目累积出来的。我们经常笑称为「打怪升级」,从第一个项目开始,每做多一个项目,能力值和经验值就会增加。

一个概念要放在脑子里面,这是很多人一路学过来经常猜的坑,那就是:不要看太多书或者文档,要动手做,你真正的 PHP 学习是从你开发第一个项目开始。

因为编程是一门技能,你看再多的书,最多只是知识,知识和技能是有区别的。就如你可以预想到的,一个人看了三个月 NBA 篮球视频,期间连球都没摸到,到了球场肯定还是不会打球。他真正的篮球学习,从他开始动手的那一刻起。

PHP 的学习,可以归纳为三个类型:

  1. 语言的基础语法学习,这些是 ifelse, while, switch, class, function, trait 等;
  2. 内置函数/类学习,这些是 array 的操作,string 的操作,cookie 等;
  3. 应用学习,这些是队列、计划任务、注册登录、缓存、邮件、分页、权限管理、ORM等;

第一和第二,入门是上面提到的慕课网的交互课程,进修是在 PHP: PHP 手册 - Manual 里面。所以后面随着学习的深入,文档要多看,有个心理准备,作为一位 PHP 高级工程师,文档基本上得过 5 ~ 10 遍。

第三部分的学习,可以借助一个优秀的框架来学习,站在巨人的肩膀上。跟着框架学习的好处在于你能确保走在一条正确的路径上,框架解决的是实现生产环境中遇到的通用问题,所以基本上框架学习涉及的话题,那都是 PHP 开发中经常会面对的问题,并且你学习到的是解决方案。

学习框架提供的每一个功能,并且在学习的时候问下面几个问题:

  • 这个功能为什么会出现?解决了什么问题?
  • 这个功能通用性有多强?为什么会被放到框架里面?
  • 这个功能在设计上有哪些优于其他框架的地方?

PHP 框架首推 Laravel ,原因见这里:最好的 PHP 框架是什么?为什么?

Laravel 学习资料,入门先看这个《Laravel 入门教程》 ,这本书是我专为 PHP/Laravel/Web 初学者定制的,也是我的公司 「优帆远扬」 http://estgroupe.com/ 的工程师必修课。

此书将教你如何使用 Laravel 一步一步构建一个类似新浪微博的应用,注册、登录、授权、ORM 使用等,甚至是从 0 到部署。让你从实际开发中体会到 Laravel 开发的敏捷、愉悦与轻松。

书中涉及到 HTML、CSS、JavaScript、PHP 和 Laravel 等 Web 开发相关的基础知识。不仅于此,还会对这些基础知识点进行延伸扩展,为你讲解一些在 Web 开发中更为专业、实用的技能,如 Git 工作流、Gulp 前端工作流、Bootstrap 框架基本使用,上线部署代码等。这些知识将为你未来的编程开发奠定下坚实的基础。

此书的线索性很强,我们故意这样设计,让读者能跟着线索练习下去。这里的要求是,跟着此书做 5 遍。

学完此书,有了第一个项目经验。接下来就可以学 《Laravel 进阶课程 - 从零开始构建论坛系统》 。作为 Web 全栈工程师系列书籍的第二本书,本书以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。编码规范遵循 Laravel 项目开发规范 ,应用程序架构思路贴近 Laravel 框架的设计哲学。在本课程的学习中,你不仅能学到使用 Laravel 开发一个论坛项目,还能学到安全优先、高扩展性的大型项目架构经验。

学完进阶课程,就可以开始阅读 Laravel 的文档 d.laravel-china.org ,尝试着去理解文档中涉及的话题。

遇到问题可以到 Laravel China 开发者社区里面找答案,或者提问题,提问题时注意看下 社区发帖和管理规范

Laravel China 开发者社区 这个是国内现在最靠谱的 PHP/Laravel 社区,还算是蛮有技术氛围的,至少我们一班管理员都是一直以这个为目标在努力。

后面的学习就是不断的看 PHP 手册 + Laravel 文档 + 做自己的项目,或者公司项目。

还是要强调一下,DO IT 、DO IT 、DO IT 。动手练习是编程的唯一学习方法。

php学习路线(转)的更多相关文章

  1. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  2. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  3. 《C#微信开发系列(Top)-微信开发完整学习路线》

    年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...

  4. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  5. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  6. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  7. Java Web学习路线

    2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...

  8. 适合PHP学习者的学习路线 10个PHP优化技巧

    适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...

  9. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

  10. iOS学习路线

    这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选 ...

随机推荐

  1. 帝国cms建站-动态获取栏目id

    <?php $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fcr[1]?$fcr[1 ...

  2. aop 日志统一处理

    AOP是Aspect Oriented Programing的简称,面向切面编程.AOP适合于那些具有横切逻辑的应用:如性能监测,访问控制,事务管理.缓存.对象池管理以及日志记录.AOP将这些分散在各 ...

  3. Scala对class/object反射

    近期有需求,要根据解析字符串,根据字符串的内容去调用方法.想到的基本就是使用反射.但是基本上能找到的资料,全没有讲scala的反射.只有零星点点的讲解.大部分都是用scala的语法写java反射最后翻 ...

  4. Py中enumerate方法【转载】

    转自:http://www.runoob.com/python/python-func-enumerate.html enumerate(sequence, [start=0]) sequence - ...

  5. nginx反向代理 支持WebSocket

    WebSocket(简称WS)协议的握手和HTTP是兼容的,通过HTTP/1.1中协议转换机制,客户端可以传递名为“Upgrade” 头部信息将连接从HTTP连接升级到WebSocket连接 那么反向 ...

  6. leetcode 300最长上升子序列

    用递归DFS遍历所有组合肯定积分会超时,原因是有很多重复的操作,可以想象每次回溯后肯定会有重复操作.所以改用动态规划.建立一个vector<int>memo,初始化为1,memo[i]表示 ...

  7. myeclipse修改了安装目录名字打不开解决方法

    在MyEclipse XX目录下有一个MyEclipse.ini的文件,里面既有相对路径,又有绝对路径,修改绝对路径指向新的位置即可 来源:http://www.iteye.com/problems/ ...

  8. 使用Github进行代码管理

    准备: Github地址:https://github.com 注册Github帐号 一.新建仓库 进入如下界面: 到这里仓库就创建完成了. 二.安装Github-window-desktop 安装g ...

  9. UGUI实现摇杆

    效果图

  10. CoreWebApi集成Exceptionless

    参考博客 https://www.cnblogs.com/akaxb/p/7207827.html 一. Exceptionlessr的安装部署 依乐祝,<ASP.NET Core免费开源分布式 ...