经常在某些论坛和QQ群里看到一些朋友会问“怎样才能学好PHP,怎样才能学好***语言 ”,但别人回答最多的是:从最“简单”的开始。
这个简单也许真的不简单,呵呵。下面我想分享一下自己学习的一些过程。先说些费话,语言组织能力差,说了不少费话,愿意看的就看,不要骂我就行。
其实学习一门新语言并不是太难,重要的是你有没有准备好去学好它,时间的长短和个人的能力和决心有关。黑客界也流行一句话就是“没有入侵不了的计算机”,这句话大概的意思是说:如果你的技术比维护这台计算机的管理员更胜一筹,那么就能拿下这台计算机甚至能拿下这个管理员管理的所有计算机,如果技不如人,只能继续学习超过对方。我说这些话的意思就是让准备学习陌生语言朋友一定要下决心去学习,只要你下了决心去学了,就一定能学好,千万不要半途而废。(退一万步来说,即使是没学好,但你懂的必然比别人多)
了解什么是最简单:
1、网页的基本构成就是html代码,所以必须熟悉HTML/CSS/JS等基本元素
2、熟悉PHP语法,了解PHP和HTML的运行方式,学习将PHP与HTML结合完成简单页面
PHP手册是比较好的入门老师
影响学习进度和程序强大是否的几个可能因素:
1、记忆力
一门语言的强大是否,应该看它的函数库和代码执行效率。
每门语言都是有自己强大的函数库,要学好它,就必须得花很多的时间去记忆,良好的记忆力能使学习达到事半功倍的效果。
2、数学和逻辑思维
这个当然不是绝对影响,因为看开发项目的复杂程度。小的项目不需要太多的数学和逻辑思维能力,但如果是开发类似于财务或大量运算相关项目,这一点就是非常重要了。
3、有其它语言的基础
“一通百通”,这句话的道理也是不容置疑。都说有C语言基础的人,学习PHP比较容易,我没学过C语言,所以不知道这句话的效果
4、多看别人写的代码
学习别人的长处,补自己的不足,当然不完全为这个。我始终相信:一个有组织的团队写出来的程序不会比个人差。
我PHP入门就是从看代码开始的,我喜欢看别人写的代码(入门是从disucz,PHPWind和国外的phpbb看起,还有就是目前最流行的开源 BLOG程序),我尽可能的收集网络上的PHP开源程序,到目前为止,我收集并下载的PHP开源程序有2GB大小,包括BBS,BLOG,CMS等。我下载并不是为了收藏他们,是学习他们的编程方式和实现方法,如果自己想实现的功能不知道怎么去实现,我就会学习他们的实现方法,并不是抄袭代码,最终结果是想通过学习,将技术变成属于自己的。ASP我也是以同样的方式学习的(动易和讯的程序及其它ASP开源程序)
5、实践
理论固然重要,但实践必不可少。你理论知识再好,如果不实践,就不能看到理论所产生的结果或效果,并不能使你的记忆深刻,所以不能纸上谈兵
6、恒心
广告不是有句话是这样说的么:“世界上最高的山是自己”,这句话相信朋友们都能理解自己这关,其它的都好办
7、找对自己有用的学习方式
这条可以参照4,我的入门是从看代码开始
可能有朋友会问:“一开始看那些强大的代码,你能看懂么?”
我的学习方式是从“使用”找“学函数”:PHP的函数太多,短时间不可能记住所有的函数,因为我相信,一个大的项目肯定会使用常见和必须的函数,找到这些函数,才会有重点的学习这些函数,难道你能说写BBS的函数会比写BLOG用的函数少么?难道会写BBS还不会写BLOG么?
找对学习方式是要经过多种学习方式的尝试,所以这个只有自己把握,毕竟每个人的学习方式不一样
8、尽可能的找视屏教程看
别人说十句,还不如一个操作看的明白,这个相信朋友们都有体会吧
9、从项目开始
一定要"逼"自己从写项目开始。
任何一个高手的“成长”都是要经历一个过程,这个过程是一步步走过来的,来之不易
很多朋友学习PHP的第一个作品几乎都是“留言簿”,因为是最简单的程序了
会写留言簿,也并不能完全代表你已经入门了,也并不代表就会了PHP,我自己开始想以一个“网络书签”作为自己的第一个作品,但写了基本功能后就没继续了,感觉没多大意思。现在写一个完全正确针对企业的CMS系统,包括针对企业的一些常用功能,我想以这个作为自己PHP入门的第一个作品
10、了解并学习和PHP有关的技术
真正的高手必须得学习和PHP关联的技术,要想学好PHP,就必须得学习数据库,PHP+MYSQL被认为是“黄金搭档”。所以你必须得接触MYSQL或你认为比较好的数据库,开始设计比较"合理"的数据库,这里的合理就比较广泛了,包括数据库优化和查询优化等等。
最后想说的是:“不要依靠别人”没人愿意理会一个新手的提问,因为新手提问的在他们眼里太简单,不想去解释。女性朋友很流行一句话是“男人靠的住,母猪会上树” 引用这句话没别的意思,只是让朋友们知道这句话的意思。
还想说的是:“珍惜别人回答的次数”人的忍耐都是有限度的,一定要珍惜这个限度,不要什么问题都去问,有些问题自己花点时间能找到答案的也去问,每问一次,别人的耐心就减去一次,等你真正需要帮助的时候,正好是别人不愿意回答你的时候,可以想像一下,你失去的太多了。
建议的是:“有问题?baidu一下”相信朋友们都已经注意到了,你问的问题,在搜索引擎里都能找到相关的提问,并且有详细的解决方案,你可以使用搜索引擎来找到自己的答案,何必去问别人呢
目前最大的中文搜索引擎是 baidu.com ,全球的google,当然还有其它的搜索引擎,一个找不到,多试几个,除非你的问题是第一个提问的 ,那么你是幸运的,也可能是你“长相”问题,呵呵,说笑的,不要介意,不过这句话倒是挺流行
相关推荐:
Mootools 1.2教程 事件处理
asp.net 页面传值的几个方法
JavaScript 基于原型的对象(创建、调用)
VBScript 算一算你从出生到现在共计多少天
asp.net checkbox 动态绑定id GridView删除提示
隐藏在SQLServer 字段中的超诡异字符解决过程
浅谈PHP 闭包特性在实际应用中的问题
extjs 学习笔记(三) 最基本的grid
asp.NET 脏字过滤算法
asp.net Cookie跨域、虚拟目录等设置方法
asp.net TextBox回车触发事件 图片在img显示
JS 用6N±1法求素数 实例教程
PHP 正则的使用基础入门
纯CSS 链接悬停提示效果代码
javascript 面向对象,实现namespace,class,继承,重载
aspnet_isapi.dll设置图文方法.net程序实现伪静态
ThinkPHP php 框架学习笔记
层序遍历在ExtJs的TreePanel中的应用
sql中all,any,some用法
数据库中union 与union all 的区别
php self,$this,const,static,->的使用
javascript currying返回函数的函数
js url传值中文乱码之解决之道
js 函数的执行环境和作用域链的深入解析
两个MySql服务的应用
JavaScript switch case 的用法实例[范围]
asp.net url重写后页面回传问题
javascript 获取FCKeditor内容
sql 查询结果合并union all用法_数据库技巧
MySQL下将一个表的数据插入到另外一个表的实现语句
asp.net dataview做无限极分类的又一用法
asp.net 图片的读写入库实现代码
网站控制台directadmin中文手册 Linux下虚拟主机管理
JS旋转的彩色文字轮转特效
Flex Bindable 的用法
extjs 学习笔记(一) 一些基础知识
SQLSERVER 中datetime 和 smalldatetime类型分析说明
JS OOP包机制,类创建的方法定义
为javascript添加String.Format方法
JSP bean获取各种参数
ASP.NET Web应用程序的安全解决方案浅析
DOM 脚本编程中的兄弟节点
JavaScript的eval JSON object问题
控制input的CSS但不影响CheckBox以及Radio的样式
Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)
JSP application(return String)用法详例
键盘 keycode的值 javascript时触发事件时很有用的要素
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
一个js写的日历(代码部分网摘)
文字在网页上下浮动 学习可以不建议用