现在还建议从PHP5.2开始学起吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tangyuan
V2EX    PHP

现在还建议从PHP5.2开始学起吗?

  •  
  •   tangyuan 2012-08-18 20:56:11 +08:00 4484 次点击
    这是一个创建于 4804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    挑了这本书来学习PHP,Learning PHP, MySQL, and Javascript,其中PHP为5.2.8/Apache为2.2.11/MySQL为5.1.30,但PHP现在都发展到5.4了,且听说5.4不完全向后兼容5.2,这会是个问题吗?书中推荐的easyPHP安装包最新的下载链接中连5.2都不提供支持了。
    10 条回复    1970-01-01 08:00:00 +08:00
    ShiningRay
        1
    ShiningRay  
       2012-08-18 21:19:56 +08:00
    从个人喜好上来说,我不太喜欢PHP的语法和思维,所以现在转向了Ruby,之前也用过Python

    但是PHP毕竟还是市场主流,而且在web应用的开发部署上有一定优势。

    虽然5.4不完全向后兼容5.2,但是实际上大体是没有变化的,注意一些小的细节就没什么问题了。
    kimjxie
        2
    kimjxie  
       2012-08-18 21:22:38 +08:00
    学习,当然要学新的
    如果语言的版本变动,使得书的内容不合适甚至不正确,这本书是不值得阅读的,至少也是过时的。
    5.2-〉5.3 特性有增加,减少的不多,具体参考http://www.php.net/ChangeLog-5.php 上Deprecated关键字。
    sivacohan
        3
    sivacohan  
    PRO
       2012-08-18 21:23:50 +08:00
    从你说的看,你就这么学吧。其实我也是这么学的。
    先把基本的,面向对象的看了,然后随便写点什么。
    然后依照兴趣,再学习那些不完全兼容的东西。
    if else array是不可能变的,变了就是完全不兼容了。
    变的应该是一些类库。我认为你那书完全不会讲那些。
    做点东西出来,然后再按照需求去读手册。
    bitsmix
        4
    bitsmix  
       2012-08-18 21:26:48 +08:00
    今天晚上这是怎么了。。不是想替别人做决定的就是想别人替自己做决定的。。

    anyway 我回归正题:

    要是 LZ 刚开始学,又担心兼容的问题。。。那你可以用最基本的语法

    如果 LZ 想玩儿的很 Fashion 那就 5.4 咯。

    但是如同 JSON 作者 Douglas Crockford 说过的一样,电脑是完美的,但是人是不完美的,而又需要人来写电脑的软件……

    所以。无论是 5.2 还是 5.4 都肯定有存在各自的问题……


    那么……在这样的前提下。。真的没必要想这么多了。

    如果你真的要一个明确的答案:


    学 php5.4

    原因:新。
    xlmo
        5
    xlmo  
       2012-08-18 22:24:43 +08:00
    手上有啥就学啥。
    你现在学5.4以后可能要维护5.2的东东,现在学5.2以后可能要开发5.4的项目。
    所以,哪个方便就先学哪个。
    haiyang416
        6
    haiyang416  
       2012-08-19 09:07:34 +08:00
    其实学5.2或者5.4都没有太大的差别,就多了几个新特性而已,所以不用那么纠结。
    这不是从PHP4和PHP5中选,也不像Python2.6和3.0。
    hitsmaxft
        7
    hitsmaxft  
      &bsp;2012-08-19 11:02:12 +08:00
    5.3的特性比较健全, 对闭包等有了比较完善的支持, 虽然不是最建议从5.3, 注意下5.2之后的变化即可
    5.4增加了几个不错的特性, 但是感觉不是很必要/重要的, 了解一下就好了

    从5.2-5.4看来, 新兴语言特性逐渐丰富, 对元编程的支持也逐渐健全.

    我的建议是, 从5.3以上着手, 如果你担心兼容性问题的话, 建议你学一段时间之后在去了解版本变迁, 在在线手册目录地步的附录都带有 5.m.n - 5.y.x 的更改说明

    因为为这种经验性问题而就纠结是最没必要纠结的, 因为还没开始学, 没经验可谈. 用了n版本也不知道各个小版本究竟有什么区别的人, 比比皆是..
    hitsmaxft
        8
    hitsmaxft  
       2012-08-19 11:06:05 +08:00
    用php, 需要打好的永远是过程化编程的基础, 这些东西, 一直几乎没什么变化, 所以不会被版本所牵制

    面向对象和函数/元编程, 如果你能够熟练掌握, 那么解决版本兼容性问题肯定也难不倒了.在有这个水平之前, 就看你用的框架/库支持的版本, 它用哪个你就用哪个, 潜心了解之后再去探寻外头的花花世界, 这个世界变化再快, 也不至于几个月就翻天覆地
    mikale
        9
    mikale  
       2012-08-19 13:41:49 +08:00
    请从php5.4开始学,编程思维已经开始改变了
    shiny
        10
    shiny  
       2012-08-19 13:56:29 +08:00
    看你写出来的东西跑在什么上面,如果你打算for public use,那么写出来后发现绝大多数虚拟主机都不支持,那你就傻眼了。
    如果仅仅是在公司用的,那么需要注意公司跑了什么版本的PHP。

    我觉得学习PHP5.2,然后了解下PHP5.3的语法是比较合适的。至于php5.4,还是等这个版本的占有率上去了再说。

    其实不同版本分支的差距也不是很大。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2540 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:31 PVG 23:31 LAX 08:31 JFK 11:31
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86