感觉php入门快 ,但是想深入,觉得很难,不知道往那个方面好?
程序员文章站
2022-06-17 18:14:38
...
回复内容:
入门快是语言的本身简单,这个你去学 Python、Ruby、Golang 应该都差不多的简单,深入难是因为你自己本身简单,这个就像学英语一样,会说英语不难,但是让你自己用英语写文章却很难,说英语你只需要把自己想说的那一两句说出来就成了,回答别人的问题也让你有一个明确的目标,就算你没有练习到那种纯粹的英语思维的话,你也可以把听到的翻译成中文,然后用中文回答,再把自己想回答的翻译成英语翻译成英语,这个和你写PHP程序是一样的,有一个问题让你去解决,比如打印出99乘法表,你可能可以翻译成:我现在有一个需求,要打印出99乘法表,设置两个变量 i 和 j,然后只需要有两个循环就成了,当然还需要一个判断,等等,然后把这个中文翻译成PHP语言的实现。但是和英语一样,如果你想深入的话,那就需要看你的其它功底了,比如你现在需要写一篇名为《论古希腊罗马神话对英语词汇发展的影响》这么一篇论文,从名称上看,你就不难发现,除了懂英语的语法(PHP语法)、词汇(PHP关键字)、结构(PHP控制结构)等等之外,你还需要了解英语之外的东西(希腊/罗马神话、受这些神话影响的英语词汇、英语的历史),而这些在PHP里面体现为你需要知道编程思想、基础、数据结构或者等等其它的与PHP本身不想干但是却必要的知识。我自己本身是英语专业,PHP也好,Python也好,都是自学的,曾经也和你有过一样的问题,我想你现在应该处在一个:看得懂别人的代码和程序,要你做一个什么东西你也勉强能做出来,但是问题就是自己不成体系,尤其是当你去面试的时候,如果有笔试的话,你基本上是不可能过得了的……所以你才会有这样的困惑——我的PHP怎么就是深入不了呢?
我也没有什么特别的专门针对这个问题的方法,就只说说我自己怎么熬过来的吧:
1. 先是和你一样,不过那个时候还没有知乎这种的网站,那个时候流行的是博客、论坛等等的,所以,基本上就是在Google上面找,但是发现答案基本上都差不多——找几本好的教程,认真的一步一步学之类的,其实这个对于自学来说没有什么本质 的作用,都是治标不治本的,就这样过了有近一年时间,在这一年时间里面,PHP没有长进,只是会用这东西来写写WordPress主题的插件(这也就是我当时唯一 的需求)
2. 在那一年里面,接触了Python,立马就被它吸引了,所以立马放弃了PHP,成了一个忠实的Python用户,但是同样的问题又发生了,Python的官方文档我全部认认真真的学习了一遍,理论上讲,我应该成为一个完全懂Python的人了,应该是只要Python能解决的问题我都能解决的了,但是根本 就不是这么一回事儿……能做菜和能做美味的菜还是有很大区别的,就像炒个白菜,出锅早一分钟和晚一分钟味道和营养就差得很远,原因很简单,就还拿炒白菜这个来说事儿,白菜炒得太熟了,没啥营养,而且又不脆了,出锅太早了又没熟和吃生的没啥区别,但是这个问题难道就是你会不会炒吗?热锅,加一点点油,丢白菜进去,炒一下,加点盐,出锅,就这么简单,那为什么味道这么不一样?
3. 再后来,发现一个问题,我的HTML+CSS是与PHP同时接触的,但是HTML+CSS我没过两年就敢在任何一个地方使用“精通”这个词来描述自己的能力(其实现在想想,即使是现在,我也并没有达到精通程度),去找原因,同样的起点,为什么一个进度这么快一个进步这么慢?我所找到的是,对于HTML+CSS的产生,发展,历史,以及它的各种版本以及各种版本之间的不同,为什么不同等等都有很深入的了解,是这些与HTML+CSS这门技术本身的标准不相关的东西让我“精通”这个,你说HTML+CSS难吗?很简单,就是标签、属性、值、内容而已,但是你说它不难吗?它难……为什么同样一个设计作品,同样是转成HTML+CSS的实现,为什么别人只花了1000行而你却要花3000行?这个就是区别,比如说最通用的左中右三栏布局,如果你仅仅只是去学习CSS的话,而且你足够聪明的话,你可能会把 float 用得特别熟悉,但是你会发现,即使是 float ,你的也没有别人的灵活,别人定义的HTML结构+CSS可以很简单的实现左中右三栏,而且最主要的,这三栏还可以很简单的调换位置,而你写的却是个死的,要换个位置要么还得改HTML要么就要改CSS,这是为什么?
4. 再后来,试着以学习HTML+CSS的方式去重新学习PHP/Python,这个时候我才真正的学会思考,但是这个过程是很长的,但是一点儿也不痛苦,了解PHP的由来,我知道了,PHP出现之前都有哪些类似的语言,为什么作者要出一个PHP?PHP是用来干嘛的?我知道了PHP可以用来开发程序,是一门编程语言,然后我再往上追溯,了解了编程语言是什么、为什么要有这个?然后再往上……新的知识会让你暂时完全忘记你是在学习PHP,但是在这一个过程中,你会发现,自己的PHP技术 也在慢慢的完善,因为所有这些之间都是通用的,在了解其它的理论的时候,其实就是在增加你的PHP知识,比如MVC,比如命名规范,比如各种编程思想,比如面向对象等等的
5. 在这种学习过程中,你的知识面不再只局限于PHP这一个单一的事物,而是与之相关的所有事物,而这些所谓额外的知识将成为你自己生命的一部分,以后不管你去学习一门什么其它的编程语言,一般情况下都能很快的入门、深入…… 我想楼主是有些担心的吧,害怕学了好像也是学无所成的感觉,其实在学习的时候实践是相当重要的,而且尽可能的把学过的知识相互融合,就像楼上所说的,学习一种事物,碰上真实例时,其实不仅仅是靠一方面完成的,当然有些也是能完成的,只是过于简单化了而已。所以在我看来心态其实很重要,它是能支撑你继续走下去的动力,推荐学习时不妨多接触一下别的,这样应该会好很多。