谈谈新手如何学习PHP 默默经典版本


Posted in PHP onAugust 04, 2009

谈谈新手如何学习PHP^_^
作者:默默 
文章开头就列举了那么多联系方式,难免会让大家感觉有点AD的意味,但是不容质疑的是,默默的确有那么丁点的表现欲^_^,虽然有时候过于细致会被人说婆妈,但是幸好这种细致对于编程来说,还是蛮有益的
    从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么我走的这条路或多或少的有一定借鉴性。
    PHP的背景恐怕就不用默默赘言了,我相信大家选择一种语言,并不是看它的背景和悠久历史,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也毕将步向没落,可喜的是PHP经受住了考验,也因此,它确实是一种值得学习的语言。
    默默一直是听从别人的经验长大的,也因此在前辈们的经验里让默默少走了许多的弯路,更快的步入了正规,在此向那些我至尽不知道其名字的前辈们道声谢谢,在默默的眼里,帮助不分大小,只要是帮助,总会让默默的心里暖融融的,我想,前辈们帮助我,并不是为了得到我的一句谢谢,更多的是出于一种责任感和对默默的期望,所以我想,只有学好PHP,才能对得起前辈们的汗水。
    正如我所说的,默默也终于感觉到了一种责任感,默默不知道自己的经验到底能帮助新手多少,但是默默明白,现在到了履行责任的时候了,我有必要把自己的经验告诉给所有希望学好PHP的人,只有这样才能让中国的PHP不断的进步,不断的发展,在世界上占据一席之地。
    默默学习PHP的这段期间,感觉国内的PHP环境越来越成熟,规范也在逐渐的健全,PHPCHINA的成立,标志着与官方直接挂钩的PHP机构在中国正式落户了,在此献上迟到的掌声!
    好的,切入正题:
    我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:
    默默的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。
    我先把我自己学习PHP的过程做一下概括:
        (1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
        (2)理解动态语言的概念,运做机制,熟悉PHP语法
        (3)学习如何将PHP与HTML结合起来完成简单动态页面
        (4)接触MYSQL,开始设计数据库程序
        (5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
        (6)完成一个功能齐全的动态站点

    我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。
    我先解释一下我的学习思路。
    首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
    在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。
    HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西
    也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?
    OK,掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。
    我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,默默的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。
    那么咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。
    对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
    书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。
    在一段挣扎之后,聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。
    搞清楚HTML和PHP的概念,那么PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。
    高兴一段时间就必须继续努力了,接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。
    头晕归头晕,目眩归目眩,你不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。
    在一番搏斗之后,你终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。
    学会了PHP和数据库的你,无疑是左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!
    等到你发奋努力的学会了用PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。
    这个时候的你也许是这种状态:
        你会HTML吗?会,我能编好几个大表格排板的网页啦!
        你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
        你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦
    那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。
    花了一段时间,你终于学会表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。
    但是,你可能瞅瞅东,看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
    不要急,可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。
    再有条件的话,买本书看看吧,《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)
    巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-
    这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧,让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。
    几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!
    你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。
    那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?
    恩,学!加紧学呀学,学会了这些之后,你又学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...
    总而言之,你绝对不会发现你全部都学会了,一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!
    我想通过我的一番YY,你也应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^
    看完之后你发现,罗嗦这么多,对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,默默你有没?
    我.......我没有,但是2分钟之内把你扁进医院里,我倒是有把握-_-
    学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。
但是有一点我可以给你保证的就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。
    不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。
    讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴,然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)
    另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。

说了这么多,可能大家嫌我烦了,但是默默属于那种平常很沉默,一旦进入状态之后就变的很兴奋,我想尽可能的把我所想的表达出来,但是可惜自己的文字功底有限,效果可能不尽如人意,但是我感觉,把自己的经验分享出来之后感觉很轻松,如释重负的感觉。    最后,我还想说一下,有很多的国人不自信,说过诸如什么语言到了中国就变味,什么中国人不团结,没有团队精神之类的,我反倒觉得那些人鼠目寸光,可悲,可叹,那些人总是把一切的责任推卸的一干二净,却不从自身出发,以身表率,来改变这一状况,反而悲观的叹息,只期望那些人早点醒悟,只有人人都努力,才能进步,而自卑自叹,只会越搞越糟。    其实无论是PHP还是其他任何东西,咱们不学则已,学就要搞出个名堂来,一个人的力量也许微不足道,但是大家都努力,齐心协力,中国人有什么不可以的?咱们不但要赶上,更要超越,要让世界都使用“中国标准”,也许我这么说有人说我痴心妄想,也有人说我只会喊口号,这都无所谓,但是重要的是,我终于把心里的话说了出来,说白了,咱们中国人不缺实力,就缺野心,野心并不是贬义,这里所指的野心,正是指中国人敢于争世界第一的志气。    说了这么多,又跑题了^_^,其实就是鼓励咱们学习PHP的新手,努力吧,中国的发展靠咱们!(把话说大了,各位看官不要见怪!斗胆而言^_^)嘿嘿!
PHP 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
PHP简单遍历对象示例
Sep 28 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
Mar 21 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 #PHP
一贴学会PHP 新手入门教程
Aug 03 #PHP
php 获得汉字拼音首字母的函数
Aug 01 #PHP
PHP 上传文件的方法(类)
Jul 30 #PHP
PHP 文章中的远程图片采集到本地的代码
Jul 30 #PHP
PHP 中文乱码解决办法总结分析
Jul 30 #PHP
PHP 变量定义和变量替换的方法
Jul 30 #PHP
You might like
php采集速度探究总结(原创)
2008/04/18 PHP
php中session使用示例
2014/03/29 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Python实现的简单万年历例子分享
2014/04/25 Python
python 基础教程之Map使用方法
2017/01/17 Python
python difflib模块示例讲解
2017/09/13 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python批量修改xml属性的实现方式
2020/03/05 Python
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
商务英语专业自荐信
2013/10/14 职场文书
电子商务专业学生的学习自我评价
2013/10/27 职场文书
自荐书封面下载
2013/11/29 职场文书
网络优化专员求职信
2014/05/04 职场文书
员工生日会策划方案
2014/06/14 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
总经理助理岗位职责
2015/01/31 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python