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学习路线
这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选 ...
随机推荐
- Caffe上用SSD训练和测试自己的数据
学习caffe第一天,用SSD上上手. 我的根目录$caffe_root为/home/gpu/ljy/caffe 一.运行SSD示例代码 1.到https://github.com ...
- Redis入门到高可用(五)—— 单线程
一.单线程为何这么快 1)绝大部分请求是纯粹的内存操作(非常快速) 2)采用单线程,避免了不必要的上下文切换和竞争条件 3)非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框 ...
- vue-filter
- syslog-ng 学习
摘要:http://luyongxin88.blog.163.com/blog/static/925580720112275183903/ 因为工作的需要,涉及到了syslog-ng.现在看来,在外包 ...
- IPFS私链搭建及常用操作命令
1. 共享密钥 同一个IPFS私链内的所有节点必须共享同一个密钥才能加入. 首先我们使用密钥创建工具,创建一个密钥. 下载地址:https://github.com/Kubuxu/go-ipfs-sw ...
- Django 框架 django的请求生命周期
概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...
- tf运作方式之共享变量
转自:https://docs.pythontab.com/tensorflow/how_tos/variable_scope/ 这个讲的不错,能够更理解tf.get_Variable()了.创建时有 ...
- 前端的icon处理
http://fontawesome.io/ 发现CSS也可以生成icon
- Amber中的一些option设置及名词
详细请见AMBER官方文档第18章第6节(18.6) Amber16.pdf The settings can be summarized as follows: imin=1 Choose a m ...
- cocos2dx 3.x(游戏中的储存-UserDefault)
引擎提供的UserDefault可以简单地储存游戏中的信息,例如背景音乐音效的开关状态,用户名等等. UserDefault是一个单例对象,可以用getInstance方法来获得. 如果是第一次调 ...