三年拓荒之路(送给PHP初学者)

三年拓荒之路(送给PHP初学者)

三年拓荒之路(谨以此篇送给刚踏入PHP的初学者)

呵呵,高手不用往下看了,因为我怕你们笑话,我水平很菜,但是刚才看到一个贴子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扩展库来玩玩~ 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值