V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
binarymann
V2EX  ›  问与答

PHP到底问题出在哪里的呢?

  •  
  •   binarymann · 2012-03-11 11:33:03 +08:00 via Android · 5955 次点击
    这是一个创建于 4642 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在学习web development,遵循网上一边倒的声音,尝试了ror以及python web框架,前者那个复杂啊,对于新手完全找不到北,新的ror还加入了很多如coffeescript的新技术,更是火上焦油,python相对而言要温柔的多,我学习的是gae自带的框架,据说是最简单最少魔幻的。最后看了下台湾中原大学的PHP视频教程,那叫个讲的透彻,就易学来说无人出其二,主机资源也多又好部署,Facebook,微薄不也都是PHP写的吗,看来生命力旺盛啊
    19 条回复    1970-01-01 08:00:00 +08:00
    Vim
        1
    Vim  
       2012-03-11 11:56:25 +08:00
    坊间对 PHP 的不满主要是针对其语言中的一些不一致,比如一会儿 str_replace,一会儿又是 strlen。还有函数的冗余问题,比如 str_replace 和 str_ireplace,其实给 str_replace 加个参数就完了,完全没必要再来一个函数,而功能基本没啥大变化。5.4 之前连 array dereference 这样的功能都没有。关于其他针对语言设计上的讨论可以看 http://phpsadness.com/

    另外 PHP 本身门槛不高,因此很多没经过良好编程习惯的新手写出了一坨坨诡异的 PHP 代码,这也让坊间对 PHP 产生了不好的感觉。其实我倒觉得 PHP 作为一门入门语言还行,掌握一门语言再学其他语言会轻松很多。而且 PHP 本身也有像 SPL 这样的高级特性,PEAR 和 PECL 这样的好东西,以及可以说编程语言中最好的文档资源。

    所以与其说是 PHP 有问题倒不如说是很多使用 PHP 的人有问题。
    iblogger
        2
    iblogger  
       2012-03-11 12:12:26 +08:00
    我在用php+codeinteger很好
    現在還有像ruby gem的東西可用 (http://getsparks.org/)
    binarymann
        3
    binarymann  
    OP
       2012-03-11 12:28:18 +08:00 via Android
    本以为会招骂的,看来还是有觉得PHP好的哈
    qiayue
        4
    qiayue  
       2012-03-11 12:36:37 +08:00
    @iblogger +1 我们也在用这个框架

    其实吧,你要想快速实现某个小功能,用PHP就很好(这个对比是基于我只会php和java),能够便捷的开发。

    比如我这个秋玉米 域名批量查询工具 http://www.qiuyumi.com 就是用PHP开发的,因为只是我一个人,而且是那种想快速试错的,所以选择了PHP
    sutar
        5
    sutar  
       2012-03-11 12:39:05 +08:00
    CodeIgniter +1
    Yii也很不错
    YvetteM
        6
    YvetteM  
       2012-03-11 12:40:36 +08:00
    问题在使用者的滥用和……好吧我承认php的语法的确比较ugly。

    所以……我转投Python的怀抱了。
    binarymann
        7
    binarymann  
    OP
       2012-03-11 12:45:54 +08:00 via Android
    那就PHP学习材料各位有推荐的吗,我在看php 和mysql web开发
    freefcw
        8
    freefcw  
       2012-03-11 12:51:15 +08:00
    其实我是觉得PHP还是挺好的,但关键就在于PHP的混乱。。。而且这几年的发展好像总是会招来骂声的样子

    其实Python也有混乱的地方,不过整体来说还是很优秀的,话说Python的部署依然是个麻烦的问题
    insraq
        9
    insraq  
       2012-03-11 12:53:54 +08:00
    1L说的不错,补充一点关于框架。框架分成两种:

    第一种是Micro framework,这种框架充分的照顾了初学者,一般只有MVC和Route,初学者很容易上手,但是缺点是要重复造的轮子太多,开发不够快速。这类的框架比如:Sliex, Sinatra, Web.py

    第二种是Full stack framework,这种框架是可以用于大规模开发的,组件很多,一般包括ORM和Template,耦合度也比较高,缺点是入门较难,而且很依赖框架本身,这类框架比如:Rails, Django, Symfony
    Hyperion
        10
    Hyperion  
       2012-03-11 13:06:43 +08:00
    记得我以前一个帖子里, 说PHP乱, 还被人说我喷PHP.

    说实话, PHP是我用的最顺手的语言 (想了很久, 这里几十个字还是删了吧. 不小心喷着java神马的我才不会再干呢, 后遗症太严重了.)

    看文档, 看手册, 看一些带丰富实例的教程就成了. 个人视频教程不推荐, 一直觉得看着别人打代码来学习语言是一件非常诡异的事情, 戳开记事本自己打完跑一下不是更好?...
    lizheming
        11
    lizheming  
       2012-03-11 13:28:59 +08:00
    台湾中原大学..好的..谢谢楼主推荐~
    binarymann
        12
    binarymann  
    OP
       2012-03-11 20:06:31 +08:00 via Android
    而且还有点比较好的就是学习材料多,书一摞裸的
    lch21
        13
    lch21  
       2012-03-11 20:29:51 +08:00
    PHP 很好用。

    支持PHP的虚拟主机很便宜.

    代码质量是写代码的人决定的,而不是语言决定的。

    Yii 框架的代码就写得很好
    muxi
        14
    muxi  
       2012-03-11 23:23:14 +08:00
    作为一个使用PHP作为主要编程语言5年的人,这里表达一下我的观点

    1、任何语言都有自己的擅长的领域,说什么好,什么不好,都太绝对了,你不能拿LISP和JAVA去比谁更面向对象
    2、没有一种语言可以通吃所有的应用场景,你不能指望用一种语言实现所有的功能
    3、每一种语言都有诟病的地方,Java啰嗦,Python社区混乱,Ruby过多的语法糖,Javascript过于灵活等等

    楼主说PHP挺好,为什么那么多人还诟病它,是的,在一个WEB化CMS的领域我觉得PHP是一个非常优秀的工具,简单,直接,性能可以接受,社区活跃,解决方案非常多。但他无论怎样总有不擅长的领域。楼主可以自己去发现那些批判的人都是哪种类型,我总结了一下,大概有如下类型

    1、某种非PHP语言的粉丝,像iteye老大Robbin Fan这种对Ruby执迷的人,这种争论我个人觉得很无聊,没有孰高孰低,只是看你的系统,如果你曾经用PHP写的系统,那继续用PHP也没什么问题,如果你只是想尝试一下Ruby也没有错,反正都能实现相同的东西
    2、纯理论研究者。这种人没有啥实践经验,但是了解不少编程语言,大脑里总是想有一种语言集百家之所长,但是迫于现实又不得不使用php的人
    3、维护别人留下来烂摊子的人,很多抱怨的人都是经受过这种折磨,php有时候真的不适合大规模协作的项目,或者需要一个很好的机制或者控制着来规避一些问题,而整个产业里面,这种掌控能力的人非常少,也没有大规模协作的范本或者指导性措施(JAVA领域就有),导致大多数活着的PHP语言开发项目质量非常的差
    4、CMS只是一个很小的一个功能。当你的业务在不仅仅是发布,展示,这么简单的时候,或许PHP就不适合了,或者只适应其中的某一个模块,最典型的就是电子商务领域、金融领域等等,比如你发布一个商品,会触发一些列的操作,比如要去做搜索,要去计算权重,要去分析关键词,要去检测黑名单,要去做通知……等等,所有的这些都是一服务的形式在运行的,这时候就会有人抱怨PHP不能多线程,不能很好的做分词,不能很好的做Server,不能更高效的执行,不能xxx,当PHP在整个项目里变得无足轻重的时候,抱怨就来了
    5、最后一种人就是小白,没事就跟风吐糟
    dongbeta
        15
    dongbeta  
       2012-03-11 23:45:46 +08:00
    @lch21 从代码规范来说,yii并不怎么样。我是yiidoc组的,我不是来黑的。。。。。
    lch21
        16
    lch21  
       2012-03-11 23:49:55 +08:00
    @dongbeta 你觉得哪个PHP 项目代码比较规范。我想学习一下。

    Yii 框架我觉得比较顺手。MVC 分得比较清晰,有点类似struts
    dongbeta
        17
    dongbeta  
       2012-03-11 23:52:58 +08:00
    @lch21 代码规范和设计模式看Zend Framework 2。实际项目优先使用Yii。
    lossdante
        18
    lossdante  
       2012-03-11 23:58:07 +08:00
    siny?ror比较火一部分是因为mvc吧,同时对ajax支持更好,再加上php没有纯oop特性,但是大家都知道,到底谁牛逼看的是使用者,就像不管硬件空谈ruby和php网站的效率和速度一样荒唐
    fature
        19
    fature  
       2012-03-12 20:33:01 +08:00
    @dongbeta re.代码风格不是很统一
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5947 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 612ms · UTC 02:03 · PVG 10:03 · LAX 18:03 · JFK 21:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.