php学习路线(转)
链接:https://www.zhihu.com/question/20034403/answer/135433912
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网络上教程太多,五花八门,为他总结这份方案的目的,在于最高效的学习。真的不需要看 100 个 PHP 基础课程或者书籍来学习 「PHP Web 开发」。「PHP Web 开发」是技能,只需要看刚刚需要的知识,然后做项目练习,在练习中成长。这个方案,也兼顾了
同学提到的,**保护学习的乐趣**,找到舒适感,获取成就感,在积极的过程中学习是最高效。
PHP 无法单独学,因为是 Web 开发的专属语言,需要整套的 Web 开发知识。Web 最基本的学习可以从 HTML+CSS 开始。第一步是学习一下下面这个交互课程:
交互课程的好处是可以实时反馈,并且一开始不需要为开发环境的事情担忧,直接上手。注意上面那个课程不要求完全学会,过一遍即可,不懂的东西先记起来,然后跳过,后面再不断 Review ,不要妄想一下子学会全部。编程是 「技能」多一点,重在练习,这里我们只求知道个大概,以方便后面其他课程的继续。
接下来就是 PHP 基础和进阶课程了:
还是跟学习 HTML 一样,过一遍即可,我们的目的只求知道个大概,以方便后面其他课程的继续,不懂得东西后面等我们慢慢上手,找到舒适感了,再逐个击破。
有了上面的基础知识,接下来可以开始学习实战课程了。这是最重要的一步,一个 PHP 工程师的能力,完全是靠项目累积出来的。我们经常笑称为「打怪升级」,从第一个项目开始,每做多一个项目,能力值和经验值就会增加。
一个概念要放在脑子里面,这是很多人一路学过来经常猜的坑,那就是:不要看太多书或者文档,要动手做,你真正的 PHP 学习是从你开发第一个项目开始。
因为编程是一门技能,你看再多的书,最多只是知识,知识和技能是有区别的。就如你可以预想到的,一个人看了三个月 NBA 篮球视频,期间连球都没摸到,到了球场肯定还是不会打球。他真正的篮球学习,从他开始动手的那一刻起。
PHP 的学习,可以归纳为三个类型:
- 语言的基础语法学习,这些是 ifelse, while, switch, class, function, trait 等;
- 内置函数/类学习,这些是 array 的操作,string 的操作,cookie 等;
- 应用学习,这些是队列、计划任务、注册登录、缓存、邮件、分页、权限管理、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学习路线(转)的更多相关文章
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- 《C#微信开发系列(Top)-微信开发完整学习路线》
年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- Java Web 学习路线
实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...
- Java Web学习路线
2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...
- 适合PHP学习者的学习路线 10个PHP优化技巧
适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
- iOS学习路线
这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选 ...
随机推荐
- open():打开文件
1.open():使用指定的模式和编码打开文件,返回文件读写对象 2.使用说明: (1)使用格式:open(filename [, mode [, bufsize]])(2)打开一个文件,返回一个fi ...
- 【分类器】感知机+线性回归+逻辑斯蒂回归+softmax回归
一.感知机 详细参考:https://blog.csdn.net/wodeai1235/article/details/54755735 1.模型和图像: 2.数学定义推导和优化: 3.流程 ...
- 前端框架之Vue(9)-组件基础&vue-cli
组件基础 基本示例 这里有一个 Vue 组件的示例: <!DOCTYPE html> <html lang="en"> <head> <m ...
- oracle sql 游标的简单用法(tip:sql中两个单引号表示一个单引号)
--游标遍历某个字段 (打印出来) declare res_sql varchar2(2000); cursor cur is select f_dcnam ...
- vue中keep_alive使用
总结:keep-alive 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM.结合vue-router中使用,可以缓存某个view的整个内容. 1.在App.vue中添加配 ...
- api-gateway-engine知识点(1)
1 密钥绑定时,通过Channel 实现监控 后台发送数据 : redisTemplate.convertAndSend(RedisMessageChannel.API_GATEWA ...
- MySQL数据库之part2
一.索引原理与慢查询优化 一.介绍 1.为何需要有索引 一般的应用系统,读写比例是10:1左右,而且插入操作和一般的更新操作很少出现性能问题.在生产环境中,我们遇到最多的.也是最容易出问题的还是一些负 ...
- (转)Thread的中断机制(interrupt)
先看收集了别人的文章,全面的了解下java的中断: 中断线程 线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡.还是等待新的 ...
- Wix制作安装包
Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...
- 2018-2019-1 20189221《Linux内核原理与分析》第五周作业
2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...