如何高效迅速掌握PHP知识架构和积累开发经验?
身为一个资深开发,我认为第一阶段1-2年的PHPer知道如何使用工具、项目版本如何控制、接触并能够使用YII/tp/laravel等框架完成项目等等
第二阶段2-3年的PHPer除了写代码还需要热衷于学习各种技术实现、不仅对项目熟悉,还要能解决性能问题。只有深入学习PHP优化,Swoole接口,微服务,Mysql底层优化等,才能保持核心竞争力,拥有一份不错的薪资!
第三阶段4-5年的PHPer技术体系需要逐渐往大型层次进阶, 有效、高速的处理从很小到非常大的项目管理,随着我们的业务量越来越大和越高并发,分布式缓存、RPC、API架构设计等技术都必将掌握!
能具备以上技术能力绝对可以从一个Coder逐步走向CTO或是架构师,那么比较迷茫跟能力不足的程序员该怎么去学习呢?我特地为大家准备了一套精品PHP架构师进阶路线,保证你学了以后保证薪资上升一个台阶。需要可关注本头条号,并且发送私信:PHP
如何学好PHP?PHP该怎么去学?
说一说我个人的学习历程吧,可以当做参考。
首先,我是买了一本PHP零基础的书籍,结合着一本HTML的书籍开始学习的,按照书籍上的操作,把代码都敲了一遍,当时确实只能大概熟悉一下,其实真正了解还是需要之后的回顾才能真正掌握。
其次,就是要多问,尤其是刚开始学习的时候,好多问题一时间根本搞不懂,需要多问身边的高手,或者通过其它渠道方式多交流问题,记得解决后做好总结。
最后,就是要做到成长,扩展,要知道不能只局限于PHP,比如HTML,JS,Linux,MySQL,服务器配置等很多相关的知识要同步掌握,这样才会逐渐掌握PHP工程师日常要涉及到的工作。
作为一个拥有7年开发经验的PHP程序员,如何能更进一步的提升PHP开发内功?
作为一个PHP的老人,我的意见有一些参考价值。我先介绍一下我的从业背景,2001年开始用php,一直做电商系统,有两次中大型项目经验。目前负责公司经营,cto是用java的,15年金融系统经验。
既然你提到了内功,那就意味着不是短期可以具备的能力。但我们还是得圈住一个范围,你要解决什么问题?编程能力的内功和做好某类系统的内功显然只有重叠部分,而不是完全相同。
所以,我暂时认定你是想提高编程能力或技术疑难杂症的综合解决问题能力。
编程有两个大方向,一个是工程学,另一个是算法相关的(可以说是科学的范畴),但一般来说,很多软件都是两者兼而有之,但大多数业务系统还是工程学比较重要,算法都是用现成的,基本上不用设计或发明。
所以,我重点聊聊工程学,这个也是我的专业领域。
软件工程是指一定规模代码量的开发、管理、维护的相关方法论总称。当然,10万行以内的系统工程学的知识起的作用还不明显,但一万上以上的代码基本上都牵涉到工程学的知识。你平时遇到的系统一些奇怪的bug,代码的复制粘贴,代码的规范等等问题都是属于工程学需要考量的问题。java不同,java是有成熟的工程学规范体系。php的情况比较混乱。
所以,内功就可以概括出来了。
1. 代码的规范和质量,逻辑的清晰和简单。
2. 模块分包和类包的划分和设计。
3. 目录的组织和划分。
4. 质量保障工具的使用,如单元测试。
以上四点既和基本知识有关,也和你的工程经验有关。
所以,早期要增强内功就包括,培养良好的编程习惯,形成自己面对复杂度较高的代码段的逻辑清晰和简单化;其次、大量阅读和解剖优秀的工程开源项目;然后,争取较大规模的系统开发机会。
另外呢,编程内功跟一个人的性格也是息息相关的,一个能看清楚自己的人和一个自以为是、自我封闭的人,成长的速度也是很大区别的。不懂就问,海纳百川,虚心和同行请教,注重实事求是,这也是非常重要的内功。
最后才是计算机的基础知识,包括各种能提高你编程能力的方法论,如《编程珠玑》《代码大全》…各类技术书籍,比如我本人常年保持阅读大量技术书籍的习惯。意思是,技术书籍的阅读量多多益善。
另外,也要适当补充关于《哲学》和《文学》《历史》你很快就会发现,编程需要的内功已经和一个人的基本素质息息相关了,包括思维习惯等等,哪些编程厉害的人,做管理和经营也是一把好手。
因为你问的问题没有界定范围,所以只能这样帮你概括。一次性打字写完的,有部分错别字,另外水平也有限,多多见谅,希望对你有帮助。
我的表弟三年的Php程序员转学java,自学还是参加培训班好!好纠结啊?
谢谢邀请!
首先,对于已经具有三年PHP开发经验的程序员来说,如果需要使用Java进行开发,完全可以自学。
对于专业程序员来说,在不同的开发场景下采用不同的编程语言是比较常见的事情,所以很多程序员在工作一段时间之后都会掌握多种不同的编程语言,比如不少Web程序员都会同时掌握Java、PHP、C#等编程语言。
对于程序员来说,在掌握一门编程语言之后,再学习其他编程语言也相对比较容易,完全可以一边使用一边学习。另外,大部分程序开发任务都有严格的开发周期要求,很多情况下并不允许程序员拿出大块的时间去学习新语言,所以自学也是比较现实的选择。
PHP主要的应用领域就是Web开发,虽然应用领域比较集中,但是PHP在Web开发领域占据着大量的市场份额,所以也是一门被广泛使用的编程语言。相对于Java语言来说,PHP在语法结构上要灵活一些,毕竟PHP属于脚本语言,而Java是纯粹的面向对象语言。在写法上Java更模式化一些,因此很多PHP程序员对于Java的语法会不太习惯,在学习的初期会遇到一些问题,主要集中在各种“抽象”的理解上,比如类、抽象类(半抽象)、接口(全抽象)等。
对于从PHP转向Java的程序员来说,要想掌握Java,应该注意以下三个问题:
第一:调整编程思路。PHP的开发思路比较直接,程序员不需要考虑过多语言自身的问题,而Java语言在使用之前是需要经过一番“设计”的,这个设计体现在两个环节,一个环节是功能定义,另一个环节就是“抽象层次”的设计。另外,Java的模块化设计也是一个需要重点考虑的因素。
第二:注重框架。与PHP程序开发不同,采用Java语言进行Web开发时,几乎离不开框架的支持,原因自然是从程序结构、抽象层次设计以及性能三方面原因来考虑,目前Spring框架能够提供一站式解决方案,包括SpringBoot、SpringMVC、SpringCloud等,所以学习Spring是个不错的选择。
第三:注重分布式开发。Java语言经过多年的发展已经构建了一个庞大的语言体系,特点就是性能稳定和扩展性比较强,Java语言的扩展性一个重要的体现就在于分布式编程,所以学习Java要学习使用Java构建分布式开发的相关内容。时间允许的话,可以了解一下Hadoop平台的解决方案。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!
PHP好学吗?
开篇之前,先问下:朋友,你真的打算学习PHP吗?
也许,你理想中的程序员是这样的:高智商,高收入,敲着键盘,喝着咖啡,听着音乐就能将神一样的产品开发出来,仿佛电脑世界中没有任务他们搞不定的事。
但现实中,有可能是这样的:
整天对着电脑,做着在外人看来也许是高深但实际上却是ctrl+c,ctrl+v的活,有着加不完的班,还被贴上‘码农’,甚至‘码畜’的标签···
以 上其实就是中国大多数底层程序员的生存状态。对于想进入这个行业的人,必须先明白这一点:编程不是什么高深的事,进入的门槛其实并没那么高,参加培训班, 几个月到半年的时间就能具备从业的能力。但如果仅停留在初级水平,不思进取,且除了码代码之外别无所长,那么生存状态也是相当艰难的,特别是到了三十岁 后,脾气和惰性与日俱增,精力和体力却江河日下,情况就更加窘迫了。
而那些能一直保持进取,学习新技术并且不局限于技术的程序员,价值便是日益增长,几年后当技术总监、项目经理,业余时间接私单,或者全职当自由开发者,小日子过得也相当自在。
如果你还继续有学习编程的决心,那么接下来正式讲如何学习PHP.
想要学习一种技能,先要知道这个技能是什么,有什么用,尤其对于零基础又想学习或者转行做PHP程序员的朋友,更应该对PHP有大致的了解,因为学编程是 一件需要大量耐心去坚持才能掌握的事,虽然难度并不大,但需要日积月累的练习。不少人因好奇而学习,中途又因苦闷枯燥而放弃。半途而废是最为可惜的,不仅 是前功尽弃,而且还会对自己学习新事物的信心造成打击,觉得自己不是学编程的料。其实,PHP在诸多编程语言中,相对而言是比较容易上手的,很适合新手学 习。PHP好不好学完全取决于你这个人好不好学。出问题首先从自己身上找原因,这是程序员必备的素养。程序的执行是不会错的,bug肯定是程序员的错导致 的。
PHP在WEB领域应用最为广泛,大多数中小网站都是用PHP做的。单纯掌握PHP并不难,难就难在PHP程序员必须懂前端,后端,数据库,服务器。具体的学习顺序是:
第 一阶段:扫盲。了解什么是B/S模式,原理上知道从浏览器输入一个url是如何获取到信息的流程。熟悉html,能快速地用div+css写出静态页面, 熟悉js,掌握jquery。在不少小公司,PHP程序员是连前端的活都一起做了的。即使公司有专职做前端的,PHP程序员也必须会看懂,能更改css, 会写基本的js效果,用jquery会大大加快工作的效率,写出风骚的代码。
第二阶段:PHP基础语法。掌握基本的语法,弄明白什 么是变量、常量、数据类型、熟悉常用的函数。PHP的函数库特别丰富,不可能全部都记住,但至少要将手册上的常用函数都练习过几遍,以后需要用到时才有印 象。不至于自己写了半天,才发现原来这个功能用一个内置的函数就能解决。
第三阶段:数据库,WEB服务器的学习。PHP的最佳搭档 是:Mysql(数据库),Apache(web服务器), 对于Apache,平时操作得比较少,懂得其配置即可。而Mysql则特别重要。初期懂得如何用PHP操作Mysql进行增删改查,了解常用的Mysql 优化原则,能使用PHP+Mysql写出简单的留言板页面。
第四阶段:PHP深化。掌握Ajax异步传输,学习面向对象,学习MVC框架并掌握流行的PHP框架,如Yii框架,国内的ThinkPHP框架,形成良好的编码习惯。能快速用框架开发网站。
第五阶段:大型网站的优化技术:如页面静态化,Memcached缓存技术,MySql数据库深度优化等。
以上五个阶段仅是PHP初级到中级的水平,距离高级水平(充当WEB架构师)还有较远的路要走。而且不是单单学一门PHP就可以无所不能,PHP不是万能 的,各种编程语言都有其优劣点,语言本身没有高低之差,语言只是实现功能的工具。如果能达到高水平(掌握多种语言,精通一两种语言),就会发现,语言本身 并不重要,编程思想才是最重要的。