打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
第一php网 ? Blog Archive ? 初学者如何学习php的具体技术

段时间,站长就网络上很多学习php的新手朋友遇到的问题,谈了一下自己2年多年学习php的经验。但是,这主要是从大方向上谈的,对于php学习的具体细节,涉及较少。

近来,站长又发现,很多新手朋友在纠结于php的具体技术,不知该如何学习。针对这一点,本人不揣浅陋,想就自己的学习经验跟大家一起探讨,希望能够帮到这些朋友,如果阅读本文能使你豁然开朗,那将是站长最大的荣耀。当然,如果你对php大的学习过程还没有一个把握,我建议你先阅读站长之前的文章-2年多年学习php的经验

一、语法

毫无疑问,几乎所有的语言的学习,不管是人类语言还是计算机语言,都是从语法开始的,php自然也不例外。对于有过其他编程语言学习经验的人来说,尤其是有C语言学习经验的人,php的语法应该是不难,甚至可以说很简单的。然而,简单不代表你一开始就能无障碍的使用,尤其是那些在工作中不经常使用到的语法,或者是那些由于个人某些特定原因,让你感到难以接受的语法。相信我,即便是最熟练的程序员,不论语种,都有忘却语法的时候,就像你日常说话也可能出现语病一样。所以,如果你在学习或者工作中,发现你记不住某个语法,那么千万不要沮丧。

记住语法的最好方法当然是多写代码,写完之后运行,对照运行结果理解语法的含义。如果你以前没有学习过任何编程语言,你可能需要多花点时间,像记英语单词一样来记忆语法,当然这不是必须的。

二、模板引擎

smarty作为一个杰出的模板引擎,能够很好的分离php脚本和html标签,通常它是很多php程序员最先学习到的模板引擎之一,站长就是。然而,大多数人都学习使用,并不代表你也必须跟他们一样,抛开自身的学习兴趣,你的学习目标首先应该是迎合企业需求【这句话对下面将要谈到的几点也适合】。你应该经常查看各大招聘网站的招聘信息对php程序员的要求,然后总结各家招聘单位共同要求的技术有哪些,接下来有针对的进行学习。然而,站长还要无奈的说一句,尽管可观理性的说,你确实不需要跟所有人一样,但是为了应付那些挑剔,有时候甚至是无知的,招聘单位,你所掌握的技术越多越好,学习更多技术的原因通常是你在迎合招聘单位的同时还有自己的兴趣。

三、面向对象的学习

面向对象思想【简称OOP思想】,现在仍然是一种流行的编程思想。对于大多数初学者来说,理解类与对象的语法不难,但是要想理解如何运用面向对象的编程思想,则要花点时间。最容易理解的当然是继承、代码重用,然而封装自己的函数也可以实现代码重用,那么为什么要采用面向对象编程呢?这里要讲到的一点就是代码的组织呢。在一个专业开发团队中,实际编程人员通常可以分为架构师、核心程序员、底层程序员,如果我们想要这三类人员同时独立的在同一个项目上工作而没有相关性,怎么办呢?这里的没有相关性主要是指他们编写的都是不同的php文件,但是当他们完成工作,这些不同的php文件却能够互相配合执行,并且不同职位的程序员对不同php文件的操作权限也不同。这样的话,我们就需要通过面向对象编程思想来组织,可以通过抽象类也可以通过接口,具体这方面的细节可以用一本书来讲授,站长只简单介绍一下。比如:架构师负责定义抽象类并实现类与类之间访问与传递、核心程序员负责实现抽象类中定义的具体方法即代码封装、底层程序员负责具体的业务逻辑并调用由核心程序员封装的代码来实现具体功能,而且这一过程是同时进行的,可能架构师的抽象类定义还没有全部完成,但是核心程序员就已经封装完了所有的代码,也可能底层程序员调用的方法核心程序员还没有封装好,但是这样没有关系,因为在一个团队中,架构师知道他需要定义哪些接口类,核心程序员知道他需要实现那些具体方法,底层程序员知道可以调用哪些方法,即便核心程序员还没有实现它,底层程序员仍然可以在代码中写该方法,因为他知道,这个方法迟早会实现。如此一来,一个团队的各个角色就可以各司其职,同时工作,底层程序员不需要等核心程序员封装完所有的方法再开始编写具体逻辑,核心程序员也不需要等架构师定义完所有的抽象类再封装具体代码,只要根据确定的开发文档,完成自己的工作就行。

当然,作为一名初学者你可能一时无法接受,不要紧,不妨先使用一种面向对象的框架来加深OOP思想的理解。

四、框架

不少php初学者最先接触到的php开发框架是thinkphp,不仅仅因为它入门简单,更重要的是它是国产框架,中文资料丰富。对于使用框架,站长并不感冒,但它的确是php程序员必须掌握的。首先必须明确一点,框架通常是为那些功能较多、较复杂,需要很多人协同完成编码工作的网站项目准备的,如果你想要进入专业的公司,跟团队一起开发,那么你最好掌握一款框架。其次,由于框架主要服务于比较复杂的项目,因此通常的框架都封装有丰富的类库以方便程序员使用,提高开发效率。一个显而易见的问题就是,你可能能够熟练的使用框架提供的的某个功能【通过底层php语言】,但是你自己却不知道如何实现它,久而久之就可能会形成对框架的依赖而忽略对php本身技术的学习和钻研。最后,选择一种适合自己的框架是很重要的,当然你应该优先学习企业要求你使用的框架,这里站长推荐大家学习codeigniter、zendframework这两个框架,前者上手快,后者功能强大,但是起点稍高,不过很多公司都用。

站长要说的是,一定要掌握一种框架,但是同时也不要忘记对php底层技术的学习。

5、数据库

如果你不曾在大中专院校的计算机相关专业学习过,那么你可能没有数据库方面的基础知识,但是这不可能成为阻碍你在php之路上前进的绊脚石。php最常搭配使用的数据库是mysql,幸运的是它的语法也容易学习,你最先掌握的肯定的基本的增删改查语句、接着是如何进行多表联合查询、如何在sql语句中使用mysql再带的函数等,相信我,一旦你碰到具体问题,这将是一个非常快速的过程。学习技术,现学现用是常有的事,勤用搜索引擎,可以加快你的学习速度、提供学习效率,mysql跟php一样有学习手册,去官网下载一个电子文档,经常查看它。

6、二次开发

现在很多公司都喜欢用一款开源产品进行二次开发,这样做的好处是可以节约开发成本与技术成本,这也是唯一的好处,对公司而言。而对一名php程序员来说,二次开发是否有利于自身则取决于具体的工作任务。一些公司只是改改模板标签、对底层进行增删改查等操作,如果你是做这些,那么很不幸,二次开发对你的php技术几乎没有任何帮助,当然或许你可以从中学会一些sql查询的技巧。然而对技术提高没有帮助,不代表对你其他方面没有好处,如果你对某种开源产品很熟悉,那么你也许可能通过帮助别人做一些私人项目来赚钱。总的来说,二次开发就是这么些好处,原因是显而易见的,有实力的公司不会花大力气和精力去修改别人的代码,他们会自己开发一个。所以二次开发,更多的是借鉴,前提是你能够借鉴得到。

很明显,站长很排斥二次开发。

今天又写了这么多跟大家唠叨php的一些具体细节,限于站长的水平,讲得既不详尽又不够全面,但是我觉得这是很多初学者都面临的问题,很多老鸟都面临过的问题。作为一只从事php编程将近3年的老鸟,我真的希望自己的一点经验能够帮助菜鸟们快速成长为老鸟,甚至是大牛。如果你真的成了大牛,可千万别忘了我这只老鸟啊~~o(∩_∩)o 哈哈!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
经验丰富的程序员,不要和新手说这些
新手站长如何快速学习建站技术? | 东生哥博客
入门学习C++ - 日志 - 邱泳天 - 血与荣誉SNS平台 - Powered by U...
PHP框架深度解析_PHP技术交流_LAMP兄弟连_PHP培训_PHP视频_PHP教程_PHP文件_PHP下载 - Powered by phpwind
程序员初学者如何自学编程另类版
零基础该如何学习编程?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服