三年拓荒之路(送给PHP初学者)
时间:2007-08-05
来源:互联网
呵呵,高手不用往下看了,因为我怕你们笑话,我水平很菜,但是刚才看到一个贴子http://www.phpchina.com/33305/viewspace_11774.html,居然说到学PHP要进培训班,所以忍不住想发几句牢骚~
我是04年下半年开始接触PHP的,之前一直在搞ASP,那会搞ASP的大多转去搞.net了,呵呵,我想可能我是一个异类,但没办法,刚跳槽,公司也刚好转变技术方向,我也跟着转了,原来烧的是微软的香,改烧Zend的香了哈~
刚接触PHP那阵,我和大多数人一样,上网查资料,翻书(借的),虽说书非借不能读,但是我借了一样读不下,看着那厚厚的一本,我心里就直打鼓,差点还产生了恐惧阴影。
网上的PHP长篇大论的一大堆,看得我头晕眼花,那会04年流行啥,OOP,论坛上就两样东西最火,一个是ASP与PHP之争(现在回过头去看,当时的PHP4真的跟ASP没啥两样,因为PHP4真正意义上并不支持OOP,直到PHP5出了之后才有改观,至于ASP,在出了PHP5后,就给甩到西班牙去了),一个就是OOP啦,全都在那吵呀争呀,我在网上逛了三四天,直正的收获不大
唉,还是得用老办法
我的老办法是什么?嘿嘿,以前学ASP时用的办法,直接下载一个最简单的留言本(越简单越好),然后看代码,一行一行的看,一个函数一个函数地查,当时那是满篇都陌生呀,除了能看懂一个if和for,其它基本上两眼一摸黑,五行代码我有四行需要找Google,还好那个留言本代码不多,也就两个文件,一个配置文件,一个页面文件,但也就是这两个最基本的文件,让我知道了PHP是怎么读取外部数据,怎么执行SQL,怎么输出。这就够了,WEB其实最基础的也就是这三样东西。
至于什么OOP,当时才入门,公司里安排下来的任务,我也就捡一些企业建站简单的来做,最多的无非就是用函数,至于OOP,那时哪像这么多呀,函数已经够我用的啦,至于什么MVC呀的模式呀,插件式的体系呀,跟我统统没关系,饭得一口一口吃,贪多嚼不烂的道理我还是懂滴~!
其实ASP转到PHP,只是工具转变了,最重要的还是个人的思维方式,也就是思路,也就是业务需求转变为设计实现的这么一个思维过程,简单的说,你会使用冒泡法和你会使用一些现成的类库是两回事,冒泡法讲的是一种思维,而现成的类库,只是运用工具,你画笔用得很帅未必代表你是一名好的画家,就这个比喻
如果你平时只是用增删除的功能,你体会不到这些,我这什么讲着讲着,又搞到解题思路这一块来了呢?因为解题思路很重要,不管ASP或是PHP,再或者是JSP之类的,他们都只是一种工具,而你的解题思路才是最关键的。
一直到06年初,跳槽,转了家公司,开始搞大项目时,我对OOP的需求姗姗来迟。
你只有觉得函数不够用了,想找一个比函数这东西更牛X的来代替时,你才知道OOP是在什么样的情况应运而生的;OOP是啥,面向对像,也就是调用类库,而什么是类呢?类就是一堆被封装起来的函数(在类里面管这叫方法,JAVA的书里是这么说的,不好意思,我学得很杂,唯一看过的书就是JAVA,但偏偏没搞过实际的项目),而成员变量,是将方法串联在一起的一种手段(当然了,也有人直接调用函数返回值的)
举个例子:判断大小
class big_or_small()//成员变量,将方法串联在一起 { var $a; var $b; var $c; function show_big() { if ($this->a > $this -> b) { $this->c = $this->a; } else { $this->c=$this->b; } } } $bos = new big_or_small(); $bos->a=1; $bos->a=2; $bos->show_big(); echo $bos->a; |
class big_or_small()//直接调用函数返回值 { function show_big($a,$b) { if ($a > $b) { $c=$a; } else { $c= $b; } return $c; } } $bos = new big_or_small(); echo $bos->show_big(1,2); |
这两种,我刚开始时,用的是后者,为啥?简单,好懂呗,可是后来我懂懂转用第一种,为啥走弓背不走弓弦呢,呵呵,刚开始我确实是因为装逼,可是后来,当你要调用$c值时,后者要执行多个show_big方法,而采取前者的话,你只需要调用一个成员变量。也有人可能觉得我罗嗦,“我可以将方法返回的值赋给某个变量呀,笨”,有人可能会这么说了,不要紧,我也只是说说而已,你可以不当一回事。
至于MVC,我是在用OOP时,开始使用MVC的,呵呵,说MVC之前,我先讲点小事。
MVC的实现,网上有人说smarty好,有人说phplib里面提供的好,还有好多好多,选哪个呢,呵呵,其实好多工具,大家在用的时候可能都会在想一个标准的问题,怎么都没有一个标准的来选?呵呵,我以前也有这样的想法,.net或是JAVA都有标准类库调用,选都不用选,而我们,为什么实现一样东西会有一堆乱七八糟的东西跳出来让我们选择?呵呵,这就是开源和商业软件的区别了,用商业软件,你是乘客,车由司机开,用开源,我们自已是司机,方向自已决定,就这个道理,而且呢,在选工具类库时,不要想太多,选最多人用的就行了,因为用的人多,到时碰上问题好问人呀,哈哈哈。
至于类库方面,更深入的时候,我开始自已写一些类库,呵呵,不过大多都是业务逻辑之类的,开始慢慢深入到类里面关于继承或是接口之类的东西。
继承是什么?我举个例子,我定义一个税票打印类print_ticket,在定义时我指定了他继承FPDF类,那么这个类就会得到FPDF所有类的成员变量与方法,并且我还可以再自定义一些成员变量与方法在里面,如打印页面距呀,税票格式呀之类的。到时直接用print_ticket类就行了,不用再管FPDF类了,如果不用继承的方法,你就得在print_ticket类的方法里面定义公用类fpdf,但是这样很烦。
记住,贪多嚼不烂~!最流行的未必最适合你
至于AJAX,呵呵,虽然红了快两年了,但是一直没碰,不过业务需要,接触了一阵子,很兴奋,而来WEB可以这样做。
至于现在红透半边天的框架,呵呵,我想是出了ZF才有这么大的动静的,看了几个引导装载的文件,没深入。
后面这两段闲话本来不想扯的,因为他的确是闲话,但是我想告诉大家,工具只是工具,解题思路才是正道,PHP招聘上的要求,都是人事经理没事干瞎折腾出来的,现实中如果只是网建项目,根本不需要这么多,会读取+执行SQL+输出就行了,再搞点增删改,呵呵,行了,不要对自已没信心,PHP入门,其实很简单,至于熟练或是精通,也就那么一回事,跟倒油翁一样的道理。
有空赶潮流,还不如自已整几个PHP扩展库来玩玩~
[ 本帖最后由 顺顺利利 于 2007-8-5 18:37 编辑 ]
作者: 顺顺利利 发布时间: 2007-08-05
作者: sure5201314 发布时间: 2007-08-05
作者: geniuscynic 发布时间: 2007-08-05
作者: wenthuang 发布时间: 2007-08-05
接触PHP是一个月前
真正开始学是7月份
作者: njuptsoz 发布时间: 2007-08-05
作者: wukeyuan 发布时间: 2007-08-05
学PHP是四个月以前,现在也只会一些简单的应用,因为我做的网站只要会一些简单的应用就够用了,虽然如此,我还是在抓紧学面向对象编程.
作者: yong631 发布时间: 2007-08-06
作者: fengyun 发布时间: 2007-08-06
作者: yiqing666 发布时间: 2007-08-07
作者: skyjhz 发布时间: 2007-08-08
那可差远了哦.
作者: crane 发布时间: 2007-08-08
引用:
原帖由 crane 于 2007-8-8 16:12 发表现实中如果只是网建项目,根本不需要这么多,会读取+执行SQL+输出就行了,再搞点增删改
那可差远了哦.
接单的网建80%是企业网站,哪有这么多需求~
至于大的网建,呵呵~当然没法比啦~
作者: 顺顺利利 发布时间: 2007-08-08
作者: softly 发布时间: 2007-08-14
作者: loong_xin 发布时间: 2007-08-15
作者: phpahz 发布时间: 2007-08-15
作者: 月黑风高 发布时间: 2007-08-15
作者: laopi 发布时间: 2007-08-21
楼主 说的 句句实话
作者: zfeng 发布时间: 2007-08-21
别想着别人学php你也学
关键看你学的动机是什么,有兴趣没,学了有什么用处!
顶
作者: jiangwb1 发布时间: 2007-08-22
作者: londit.cn 发布时间: 2007-08-28
作者: ylhp 发布时间: 2007-09-01
作者: hengzhi 发布时间: 2007-09-13

作者: phpBird 发布时间: 2007-09-19
作者: lin_chaoqi 发布时间: 2007-09-20
作者: czly 发布时间: 2007-09-26
class big_or_small //成员变量,将方法串联在一起
{
var $a;
var $b;
function show_big() {
return $this->a > $this->b ? $this->a : $this->b;
}
}
$bos = new big_or_small();
$bos->a = 10;
$bos->b = 20;
echo $bos->show_big();:( :( :( :(
作者: signalon 发布时间: 2007-09-27
作者: signalon 发布时间: 2007-09-27
:)
作者: luzhou 发布时间: 2007-09-28
引用:
原帖由 signalon 于 2007-9-27 14:35 发表楼主为什么不用三元运算符呢?这样子代码不是很简洁吗,另外BS你举这么简单的例子也写错误的语法(定义类是不用带括号的,C++,java,C#都没有这语法),这样对初学者产生的负面影响会很大。
class big_or_smal ...
我那个也没事先咋想的,就写着写着,例子随手写写而已~
你说得很对~
作者: 顺顺利利 发布时间: 2007-09-28
引用:
原帖由 hengzhi 于 2007-9-13 15:45 发表本来不想吱声了.看楼主也太实在了.说两句吧.网建这块真的会增删改就搞定了.可要做大项目还要深入OO啊
不光是大项目,还有产品开发,每一个类的调用或是变量的声明,都一定要有章有法的~
作者: 顺顺利利 发布时间: 2007-09-28
作者: 疯子-斯 发布时间: 2007-09-28
作者: lele729 发布时间: 2007-09-28
作者: 小齐 发布时间: 2007-09-30
:)
作者: luzhou 发布时间: 2007-10-01
作者: 自由活动 发布时间: 2007-10-16
楼主说的话还是很有道理的 我做个人接了2年多中小型网建的单子 楼主说的有些地方让我颇有同感 当然 还要补充一下 新手入门以后 除了最基本的逻辑实现 还要特别重视安全问题 也就是编程的严谨 对变量 传递值的控制是新手最容易忽视的问题
请楼主把例子的错误改正下- -!
作者: likai321 发布时间: 2007-10-16
作者: wyc6316330 发布时间: 2007-10-19
:)
作者: luzhou 发布时间: 2007-10-25
主要我还没有团队开发的需求,所以没必要使用类。其实把一些往简单的地方想,就OK了。
作者: byqy 发布时间: 2007-10-31
楼主太幽默了!!
为啥走弓背不走弓弦呢,呵呵,刚开始我确实是因为装逼
作者: leegangk 发布时间: 2007-11-01
作者: leesunny 发布时间: 2007-11-02

作者: g19860502 发布时间: 2007-11-02
作者: lc0633 发布时间: 2007-11-04
作者: yumingyang 发布时间: 2007-11-05
作者: 开心一笑 发布时间: 2007-11-06
我是新手,原谅!
作者: xbonline 发布时间: 2007-11-06
作者: lovefun 发布时间: 2007-11-07
后悔啊后悔
作者: kin29 发布时间: 2007-11-12
作者: tc318 发布时间: 2007-12-06
作者: alcupt 发布时间: 2007-12-09
PHP招聘上的要求,都是人事经理没事干瞎折腾出来的。
至于熟练或是精通,也就那么一回事,跟倒油翁一样的道理。
不管ASP或是PHP,再或者是JSP之类的,他们都只是一种工具,而你的解题思路才是最关键的。
作者: flynetcn 发布时间: 2007-12-26
目前对自己迷惘中,不知道该怎么走。
作者: leejianjun 发布时间: 2007-12-27
作者: jeccy 发布时间: 2008-01-03
作者: jackywdx 发布时间: 2008-01-04
很鼓励啊,呵呵

作者: kyard 发布时间: 2008-01-04
作者: ksina 发布时间: 2008-01-05
作者: 小狼大灰 发布时间: 2008-01-09
引用:
原帖由 hengzhi 于 2007-9-13 15:45 发表本来不想吱声了.看楼主也太实在了.说两句吧.网建这块真的会增删改就搞定了.可要做大项目还要深入OO啊
作者: hu_bird 发布时间: 2008-01-09




作者: lycoo 发布时间: 2008-01-14

作者: 五五互联 发布时间: 2008-01-15

作者: ct_174880859 发布时间: 2008-01-17
作者: gamaray 发布时间: 2008-02-02
作者: 46612206 发布时间: 2008-02-03
作者: php? 发布时间: 2008-02-04
作者: Rainstorm 发布时间: 2008-02-05

作者: zhaoyun4122 发布时间: 2008-02-07
作者: tcphp 发布时间: 2008-02-29

作者: dzjzmj 发布时间: 2008-03-01
看过贴子的人一个十块,哈哈哈
大家不要跑,先把钱留下~打劫~!!
作者: 顺顺利利 发布时间: 2008-03-02

作者: ilinux 发布时间: 2008-03-02
作者: zl8762385 发布时间: 2008-03-16
作者: snlixing 发布时间: 2008-03-16


作者: luzhou 发布时间: 2008-03-16
要么怎么叫前辈呢
去培训 一是想系统学习下 二是给自己点信心 三是给你一条走往PHP的路
我是选择去培训了
能学到东西 基础的
但是 请参考楼主文章 摸清自己的情况 做选择
我更希望的是在学习中做项目 最好是商业项目 培训机构接来 安排给学员 边学习 边开发
作者: 仰望星空的狼 发布时间: 2008-03-26
作者: kts2tt 发布时间: 2008-03-26

作者: tiantang_88 发布时间: 2008-03-27
作者: 32740208 发布时间: 2008-03-27
作者: 清风秋月 发布时间: 2008-03-27
作者: jeccy 发布时间: 2008-04-05
引用:
原帖由 顺顺利利 于 2007-9-28 17:45 发表呵呵,不好意思,献丑了
我那个也没事先咋想的,就写着写着,例子随手写写而已~
你说得很对~

作者: YangFree 发布时间: 2008-04-06
作者: lanxuexing 发布时间: 2008-04-10


作者: dx_andy 发布时间: 2008-04-12
作者: fanglor 发布时间: 2008-04-30

作者: 36huangjianhua 发布时间: 2008-05-02
作者: licrazy 发布时间: 2008-05-03
作者: 105644107 发布时间: 2008-05-03
回头看来路 也就是那样 高手也是练出来的
作者: 仰望星空的狼 发布时间: 2008-05-05
作者: 含泪草 发布时间: 2008-05-14
作者: lanshuibingdao 发布时间: 2008-05-15
作者: wydycrtd 发布时间: 2008-05-16
作者: xxxxxxv 发布时间: 2008-05-16
作者: chxugao 发布时间: 2008-05-17
作者: korui 发布时间: 2008-05-21
作者: qiaogqiang 发布时间: 2008-05-21
作者: 烟堆铜 发布时间: 2008-05-24
引用:
原帖由 lanshuibingdao 于 2008-5-15 13:35 发表不错,支持楼主,虽然自己刚开始学习php才一个月,不过学过.net的一年了,对面向对象和mvc还是比较熟悉,对php能实现面向对象,是在努力学习中,因为感觉没用面向对象来写,蛮痛苦的
明明提供了很强大的类库或是工具,他只需要一拧那钥匙就行了
新的工具,必须要有新的使用方法,可是他偏不,仍是按照老方法来搞~
马拖法拉力,嘿嘿,我觉得这个比喻太合适了~
作者: 顺顺利利 发布时间: 2008-06-16
作者: 46612206 发布时间: 2008-06-17
http://kuaiyigang.com/post/240.htm
1、节省时间
2、掌握更好的学习方法
3、早日进入实战
4、学员之间互帮互助
5、学校负责推荐工作
6、学校提供后续服务
有想学PHP的,可以报名前来试听1-3次,满意后再交费继续学习。
报名电话:010-81998356 52717923 52717924 QQ:2177688
作者: 蒯义刚(星模PHP培训学校LAMP讲师) 发布时间: 2009-02-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28