V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hellowwo
V2EX  ›  PHP

在国内使用 laravel 开发的公司多吗,这么优美的框架开发起来是不是很舒服?

  •  
  •   hellowwo · 2017-04-28 16:23:16 +08:00 · 32347 次点击
    这是一个创建于 2796 天前的主题,其中的信息可能已经有所发展或是发生改变。
    150 条回复    2019-08-18 16:11:02 +08:00
    1  2  
    chnyang
        1
    chnyang  
       2017-04-28 16:45:01 +08:00
    我听别人说 laravel 就是 java 那一套, 这么是不是 java 很优美的意思? 轻喷..
    byfar
        2
    byfar  
       2017-04-28 16:45:09 +08:00   ❤️ 1
    不多,很舒服。
    Zhongwei
        3
    Zhongwei  
       2017-04-28 16:50:12 +08:00
    很多,很舒服
    baiyi
        4
    baiyi  
       2017-04-28 16:53:44 +08:00
    laravel 对开发者特别友好
    levn
        5
    levn  
       2017-04-28 16:55:09 +08:00 via iPad
    感觉也不是谁都喜欢 ror 那一套
    silencefent
        6
    silencefent  
       2017-04-28 16:59:42 +08:00   ❤️ 6
    php 其他框架功能代码靠写,laravel 靠找
    jarlyyn
        7
    jarlyyn  
       2017-04-28 17:11:01 +08:00   ❤️ 4
    express/koa 那套才叫优美,嗯嗯。
    yangxin0
        8
    yangxin0  
       2017-04-28 17:12:31 +08:00
    还不如学 Rails
    lixuda
        9
    lixuda  
       2017-04-28 17:28:29 +08:00
    个人受不了 laravel
    jellybool
        10
    jellybool  
       2017-04-28 17:52:34 +08:00 via iPhone
    感觉还不是很多,很舒服,我是其中之一
    SummerWQM
        11
    SummerWQM  
       2017-04-28 18:27:06 +08:00
    我厂 所有底层服务 都是 laravel 还有几个用了 phalcon
    SummerWQM
        12
    SummerWQM  
       2017-04-28 18:28:03 +08:00
    框架的 设计确实优美 这个什么语言 没多大关系。
    Magician
        13
    Magician  
       2017-04-28 18:28:08 +08:00 via iPhone
    没有写 PPT 的工资多
    xiaoqi
        14
    xiaoqi  
       2017-04-28 18:38:31 +08:00
    还好还好~
    gdtv
        15
    gdtv  
       2017-04-28 18:47:33 +08:00 via Android
    我个人不喜欢,php 的优点就是简单,laravel 搞得像 java 那样复杂,还不如直接用 java
    Doubear
        16
    Doubear  
       2017-04-28 18:50:02 +08:00 via iPhone
    没了文档就抓瞎
    pathbox
        17
    pathbox  
       2017-04-28 19:17:57 +08:00 via iPhone
    不是仿照 rails 的吗
    veiz
        18
    veiz  
       2017-04-28 19:20:02 +08:00
    因为好多公司的业务都是在原来框架上做修补。
    changwei
        19
    changwei  
       2017-04-28 19:27:21 +08:00 via Android   ❤️ 1
    @gdtv 还是要比 java 简单的,你去试试看 java 的 hibernate,struts 的路由,再看看 laravel 的 orm 和路由,还是很简单了好吧。再说了 laravel 也没强制要求你用 orm 啊,他内置了 db 门面也可以链式方法组合 sql 或者完全手写,这算是折中工程量的基础上保证代码的优雅清晰了。我觉得做中小项目,数据模型和业务规模中等的情况下还是比 java 方便。

    我觉得 laravel 是 java 的代码逻辑清晰功能强大,和 php 的快速上手开发效率取了折中水平,我目前自己就在用这个框架做项目,在各大招聘平台查了一下,现在薪资比较高的公司要 laravel 技术栈的开发者还是很多的。
    changwei
        20
    changwei  
       2017-04-28 19:28:36 +08:00 via Android
    @Doubear 说得好像国内某框架文档很全一样,文档不全也就算了,部分源码的 docblock 注释居然也不全。
    sagaxu
        21
    sagaxu  
       2017-04-28 19:48:43 +08:00 via Android   ❤️ 1
    @changwei 现在 Java 谁还用 structs? 你去看看 springboot,哪个 PHP 框架比它简单?
    gouchaoer
        22
    gouchaoer  
       2017-04-28 20:03:54 +08:00 via Android   ❤️ 5
    php 生态讨厌且只讨厌的一个技术栈就是 laravel
    封装复杂,性能差,还特爱逼逼
    gouchaoer
        23
    gouchaoer  
       2017-04-28 20:05:57 +08:00 via Android
    laravel 凭啥和 java 比?第一你不常驻内存,第二你脚本语言
    lostvincent
        24
    lostvincent  
       2017-04-28 20:11:57 +08:00
    感觉“贫富差距”很大,会用的用起来很舒服,不会用的用起来很难受。
    个人觉得上手难度有点大(对没有其他语言基础,单纯的新手程序员而言)
    shijingshijing
        25
    shijingshijing  
       2017-04-28 20:18:29 +08:00
    @gouchaoer 我再加一条,laravel 跑起来慢成屎还一副很清高的样子,小项目我用 CodeIgniter,大的还是用 Java 吧。合适的工具做合适的事情。
    jessynt
        26
    jessynt  
       2017-04-28 20:31:32 +08:00
    我司部分项目在用,暂时没啥问题
    ericls
        27
    ericls  
       2017-04-28 20:41:03 +08:00 via iPhone
    Elixir 写过吗? plug
    wangjie
        28
    wangjie  
       2017-04-28 20:41:40 +08:00
    @SummerWQM 请问您是什么厂?
    msg7086
        29
    msg7086  
       2017-04-29 00:02:15 +08:00
    喜欢优美的框架却不喜欢优美的语言?为什么不去用 Rails 呢。
    HYSS
        30
    HYSS  
       2017-04-29 00:14:13 +08:00
    Laravel 丧失了所有 php 的优势,新手不推荐使用 laravel,封装太严重,很可能会造成只会 laravel 不会 php
    isb
        31
    isb  
       2017-04-29 01:24:15 +08:00 via iPhone
    我选 symfony
    crist
        32
    crist  
       2017-04-29 01:24:44 +08:00
    个人受不了 laravel,特别是一开始的安装方式。
    cxbig
        33
    cxbig  
       2017-04-29 01:32:41 +08:00
    舒不舒服要看团队,如果项目 够大、又没有一个好 TL,各种稀奇古怪的单 method 流程,一样恶心死你。
    ooh
        34
    ooh  
       2017-04-29 01:51:39 +08:00 via iPad
    我学 laravel 的时候,有的时候我需要一个方法,我觉得它应该实现了,然后它就是实现了的,它就是这么杀马特,每日喷来喷去还不如多做几个俯卧撑
    HanSonJ
        35
    HanSonJ  
       2017-04-29 01:54:38 +08:00
    不多,但很舒服
    gouchaoer
        36
    gouchaoer  
       2017-04-29 08:24:38 +08:00 via Android
    @shijingshijing
    最受不了估计还是 laravel 的兼容性了,不说 laravel4 了就 5 时代你看刷了多少版本: http://d.laravel-china.org/
    这些版本文档分开是不兼容的,这是后台框架不是前台框架更新很难的,后台不能刷版本的
    studentht
        37
    studentht  
       2017-04-29 10:12:39 +08:00
    @Zhongwei 能详细解释下是怎么舒服的吗?最好能有和其他的现代化框架对比
    studentht
        38
    studentht  
       2017-04-29 10:13:24 +08:00
    @baiyi 能细说下吗,最好有对比
    j762852
        39
    j762852  
       2017-04-29 10:20:34 +08:00
    说起来丢人……,用了 10 年的 PHP,还是看不懂 Laravel 的 Service Container 这类核心的东西。
    woshixiaohao1982
        40
    woshixiaohao1982  
       2017-04-29 10:47:31 +08:00
    if you want to build your enterprise application , just Java it
    woshixiaohao1982
        41
    woshixiaohao1982  
       2017-04-29 10:52:48 +08:00
    @changwei Java 并不复杂,Hibernate 主导了 JPA3.0 标准,你硬是要用 xml 去配置 hibernate 也没有办法,
    实际上 build 中型应用 还是 Java 最好,开源工具多,代码不容易被写烂,工程规范约束比较好
    另外并不一定要用 hibernate Struts 这些重量级选手框架,springmvc springboot 这些基于约定 而不是配置的框架,早就可以快速开发迭代应用了,何况 Java 代表的并不仅仅是 Java 这门语言,背后的生态系统 框架体系 在应用开发领域 没有哪门语言敢说 比 Java 还要牛了
    sagaxu
        42
    sagaxu  
       2017-04-29 11:07:08 +08:00
    @gouchaoer 一年两个 minor 版本,官方努力保证 minor 版本之间升级不会花超过一天时间。Linux 内核都能保持一年 5-6 个 minor release,一年 2 个真的很多么?
    johnny23
        43
    johnny23  
       2017-04-29 11:08:14 +08:00 via iPhone
    只会用.net...飘过..
    sagaxu
        44
    sagaxu  
       2017-04-29 11:19:53 +08:00
    @j762852 很多 phper 追求端平快,最好什么框架都不用,复制粘贴就是一把梭。Service Container 是很常见的 IoC 实现,好多年前就流行起来了,特别是中大型项目,不过 php 似乎只有小微项目,所以用在 php 上可能是太重了。
    sagaxu
        45
    sagaxu  
       2017-04-29 11:23:06 +08:00
    @woshixiaohao1982 在熟悉十几种不同语言的框架以前,我也是这么吐槽 Java 的,做过不同规模的项目,有了横向纵向比较,才认识到每种框架适合的场景和存在的价值。
    gouchaoer
        46
    gouchaoer  
       2017-04-29 11:29:35 +08:00 via Android
    @sagaxu
    linux 的小版本对我来说是兼容的啊,我部署代码 centos6.5 和 6.6 没区别。。。你说一天升级就一天升级?所有 php 框架只有 laravel 这么刷版本吧,你随便去 github 上找个基于 laravel 的作品,大概率框架已经过时了,我就不懂了你 laravel 这么厉害没半年就能搞出很多新东西然后刷个版本。。。并不是是 ioc 不好,新的 php 框架用 ioc 的多了去了,基本是标配吧
    twm
        47
    twm  
       2017-04-29 11:30:20 +08:00
    恩,我用 symfony3
    cevincheung
        48
    cevincheung  
       2017-04-29 11:30:55 +08:00
    大多时候还好,很棒。有时候也会很纠结的。尤其是多个项目混合各种内外部独立服务的时候。
    Miy4mori
        49
    Miy4mori  
       2017-04-29 11:32:44 +08:00 via iPhone
    神 tm 像 java,分明是高仿 rails。
    reus
        50
    reus  
       2017-04-29 11:41:39 +08:00
    优美个杰宝啊
    sagaxu
        51
    sagaxu  
       2017-04-29 12:17:10 +08:00
    @gouchaoer 对前端而言,就算你把 PHP 栈换成 Java 栈,他们也感受不到,完全兼容的。你觉得 Linux 内核兼容,是因为从内核到你的代码,要依次经过 libc,php 解释器,php 框架,兼容性工作在 libc 和 php 解释器那边就完成了。

    升级确实不一定是一天,从 5.3 到 5.4,我不到半天就升级完了,minor 版本之间的 change,break 掉用户代码的情况是很少的,不放心可以读一遍 changelog 中不兼容的部分,对照的搜一下代码,花不了很久的。

    那些没有足够开发资源的框架,版本才能够比较稳定,不更新 patch 以外的东西,甚至连 patch 都无力维护。

    去年我把一个项目完整的从 Java6 升级到 Java8,所有框架和库从 2012 年版本直接跳到 2016 年版本,十几个基础库的大版本号跳了 1-2 个,算上测试在内,也就花了一天时间。刷版本号真不是什么大事,迁移成本也没有那么高,甚至不迁移也无所谓,老版本一直用下去好了。
    pathbox
        52
    pathbox  
       2017-04-29 13:35:39 +08:00 via iPhone   ❤️ 1
    @Miy4mori rails 笑而不语 5.1 正式发布
    kjy0928
        53
    kjy0928  
       2017-04-29 13:36:38 +08:00
    国内目前用 thinkphp 的貌似比较多吧
    HanSonJ
        54
    HanSonJ  
       2017-04-29 13:41:22 +08:00
    其实可以去参考 github 上的著名开源项目作者自己是使用什么框架的,对比下来就知道了。是用 laravel 的人更乐于开源?还是用 laravel 的人更胜一筹?还是仅仅因为在 github 上用 laravel 的人多?
    woshixiaohao1982
        55
    woshixiaohao1982  
       2017-04-29 13:52:03 +08:00
    看你们还在这里讨论 ioc 我也是醉了,ioc aop 这些东西 哪个不是 java 里面玩烂了的概念
    ovear
        56
    ovear  
       2017-04-29 13:56:07 +08:00   ❤️ 3
    我学 laravel 的 10 天
    6 天看文档,2 天安装、搭建环境,2.9 天找找库,0.09 天写代码,最后 0.01 天换了 CI。
    ovear
        57
    ovear  
       2017-04-29 13:59:23 +08:00
    @ovear 噢看文档里面包括 很多地方文档一句话就带过,然后跑过去看源码的。
    比如说那个叫什么 PasswordHandler 还是啥的,封装了十几层

    我第一次看见一个 Hello World 有几十 M,栈长好像是 70 来行的,不能忍受。。
    Java 古老的 SSH2 都没这么多,另外 Java 现在用 SpringBoot。。爽的不得了
    ovear
        58
    ovear  
       2017-04-29 14:01:10 +08:00
    @ovear 呃。。数学老师哭了。。 应该是 1.9 天找库才对
    LioMore
        59
    LioMore  
       2017-04-29 14:28:52 +08:00 via iPhone
    觉得臃肿的可以看看 JohnLui 的 TinyLara
    voocel
        60
    voocel  
       2017-04-29 15:00:35 +08:00
    用起来还是很舒服的
    zjsxwc
        61
    zjsxwc  
       2017-04-29 15:13:24 +08:00
    其实我觉得,单论舒服度还是 symfony 爽,被用到的最广泛( laravel、drupal 等都是基于 symfony )、各种问题的解决方案成熟、IDE 支持全面, 但最大的缺点是学习曲线比 laravel 陡峭很多。
    cllgeek
        62
    cllgeek  
       2017-04-29 15:34:05 +08:00
    我用 express koa
    hainuo
        63
    hainuo  
       2017-04-29 18:15:10 +08:00 via iPhone
    现在有不少公司已经开始选用 laravel 框架了
    协同开发。维护都很好
    ragnaroks
        64
    ragnaroks  
       2017-04-29 18:44:13 +08:00
    我的建议是,小项目用 CI 足以,大项目.net/java
    humor66
        65
    humor66  
       2017-04-29 18:54:43 +08:00
    我所知道的国外很多
    hengxin196
        66
    hengxin196  
       2017-04-29 22:19:13 +08:00
    太重 坑多 性能不行 慎入
    mhycy
        67
    mhycy  
       2017-04-29 22:33:26 +08:00
    要不是 laravel 的路由和查询构造器好使早就不用了。
    这货就俩字:臃肿
    Fleey
        68
    Fleey  
       2017-04-29 22:36:38 +08:00
    一开 php 用的框架是 thinkphp3.2...然后发现确实很垃圾特别是文件结构问题。
    然后换成了 laravel 了...本以为代码风格会很优雅很简单,结果发现...与现实差距太大,毕竟封装太那啥了。
    最后恰巧 thinkphp 升级到了 5.0.7,发现文件结构优化了许多,路由器也人性化了。

    ---得出结论 玩 lavavel 太坑慎入
    sunsh217
        69
    sunsh217  
       2017-04-30 01:54:13 +08:00 via Android
    laravel 就是吹逼厉害 实际不行
    sagaxu
        70
    sagaxu  
       2017-04-30 10:38:14 +08:00
    @ovear 文档能看 6 天?我看了个把小时,搭环境用了几分钟,第一个功能当天就测试通过
    herozzm
        71
    herozzm  
       2017-04-30 11:05:40 +08:00 via Android
    用 phalcon 不喜 laravel 安装方式
    iot
        72
    iot  
       2017-04-30 11:25:28 +08:00
    我用 laravel 主要是因为喜欢优雅的代码,laravel 还可以带来一些架构上的优势,比如模块独立启用,插件,还有 migration 也挺好用的,还有内置的一些任务队列、事件系统,能带来很大方便。

    写一些后台管理项目还是不错的
    iot
        73
    iot  
       2017-04-30 11:26:43 +08:00
    还有 command、定时任务、广播,都非常方便
    ovear
        74
    ovear  
       2017-04-30 11:28:31 +08:00
    @sagaxu 当然,搭 laravel 环境你得给他装一套特定的 lamp 环境,然后还要装 composer,装完 composer 之后发现资源下不下来,还要挂代理。挂完代理之后发现不能访问,500,又要折腾。然后最后发现 WEB 根目录指错地方了。
    然后发现一大堆文件,不知道改哪里,什么.env,什么 config。又要去翻文档,然后发现一大堆新名词,又要去看。然后发现 orm 和 blade 讲的不清不楚的,官方给的 demo 都是封装好的,都不知道怎么改。然后又跟踪去看代码。反正我是受不了这么折腾
    ovear
        75
    ovear  
       2017-04-30 11:29:24 +08:00
    @ovear 噢最后发现有 homestead,然后发现要 varigant (好像是这么拼的),只支持 virtualbox,然后装完之后下镜像又折腾
    sagaxu
        76
    sagaxu  
       2017-04-30 12:13:12 +08:00
    @ovear 你要从 lamp 开始搭,的确比较麻烦。我本来就是 linux 下做开发,lnmp 是现成的,composer 也是早就有了,跟一键安装没有太大差别。配置文件和环境变量是每个框架入手之前都要关注的,orm 可以不用,就像 CI 那样只用它的 querybuilder 也可以的。homestead 和 varigant 之类的,你根本不用了解,直接忽略就行了。

    laravel 的价值不是封装的多好,是设施齐全方便,你需要 queue 的时候,它已经在那儿了,你要计划任务,它也有,别的框架里要自己整合的东西,很多它都能开箱即用免折腾。当你要封装自己的组件的时候,用它的方式去做也很简单实用。
    ovear
        77
    ovear  
       2017-04-30 12:52:03 +08:00
    @sagaxu 我说句实话啊,如果你用一个框架,这也不用那也不用。。那干嘛还用框架,不如直接无框架拿起代码就是艹,是吧。
    另外,不是 laravel 设施齐全,是 composer 里面很多库。。就像你说的,laravel 只负责整合,实现了 composer autoload 而已。。只要是个正常框架都可以 load。。这才是他臃肿的地方,而且不是一个开发者开发的东西,风格差异又大,一开始就被这么恶心,哪还想用。
    breeswish
        78
    breeswish  
       2017-04-30 13:04:55 +08:00
    @ovear 框架最大的作用是在有一大批人合作的时候每个人都能看懂对方的代码,并且要做一件事情只有固定的几种方式
    ovear
        79
    ovear  
       2017-04-30 13:09:12 +08:00
    @breeswish 你想表达的是原生互相就看不懂了?解决这个的不应该是代码规范么。。
    terranboy
        80
    terranboy  
       2017-04-30 13:28:46 +08:00   ❤️ 1
    @ovear 国内培训班出来的吧 ,你把墙的影响 强加给 LARAVEL, 都是 LARAVEL 的缺点 ? LOW B 还是用国产某框架吧。
    墙不仅能封锁 还能洗脑
    sagaxu
        81
    sagaxu  
       2017-04-30 13:29:06 +08:00
    @ovear 框架要充分考虑通用性,所以会有非常多的 feature,项目中用到的可能只是其中很小的一部分。普通人连 excel 的百分之五功能都用不到,所以要用记事本自己排版做表格吗?

    集成优秀的第三方库,而不是重复发明轮子,这也是 laravel 聪明的地方,它把 dirty 的整合工作给你做好了,节省体力劳动。就算你用 CI,一样有要整合第三方库的时候,总不能浪费时间造一大堆的轮子,除非你的项目小到不需要轮子或者大到成立平台组每年花几百万造轮子。
    ovear
        82
    ovear  
       2017-04-30 13:34:47 +08:00   ❤️ 2
    @sagaxu 没见得这是 laravel 的功劳啊,这是 composer autoload 的功劳。。laravel 只是推荐了几个用的广泛,且经过实践的 lib。。该聪明也是 composer 聪明呀。。
    @terranboy 我觉得这样一上来就搞人生攻击的才 LOW B
    breeswish
        83
    breeswish  
       2017-04-30 13:35:55 +08:00
    @ovear 代码规范当次太低了,这还停留在语法层面上。这里我说的是做一件事情只有有限的几种做法,只要你学习了这个框架,就一定能看懂用这个框架开发出来的业务逻辑,一定能互相协作,这是企业级开发的基础。
    ovear
        84
    ovear  
       2017-04-30 13:39:42 +08:00
    @breeswish 所以说大型企业写着写着都会有一套自己的框架呀。。不受制于上游贴合项目,比如说 Ali 之前搞的 Java 的开发规范。
    另外好像跑题了。。
    aerostone
        85
    aerostone  
       2017-04-30 14:01:42 +08:00 via iPhone
    我也没用起来,臃肿了点
    sagaxu
        86
    sagaxu  
       2017-04-30 14:03:08 +08:00
    @ovear

    举个 python 的例子,flask 只是作者一个周末心血来潮搞出来的,它几乎没自己的东西,整合了 jinja 和 werkzeug,DB 整合了 sqlalchemy,signal 用的是 blinker,一出来就很受欢迎,很快就有了超过 10000 个 star 和 300 多个代码贡献者。然后涌现了一大堆的 flask-xxx 库,大都也是整合已有的库。flask 出现之前,早就有 pip 了,但是还是不够方便啊,要自己整合。

    再看 Java 网红 springboot,它什么都没做,就是把 spring-xxxx 整合了一下,以前要自己写配置文件引入的组件,现在都变成一行配置搞定一堆,它有开创性工作吗?没有。它有属于自己的优秀的库吗?也没有。但是它很快就横扫 Java web 领域,因为它方便。它出来之前,用 maven 也能很快引入包,用 spring 的 di 也能几行代码配置起来,但是跟 springboot 比还是麻烦了一些。

    刚入一个新语言的坑,有一帮摸爬滚打了多年的老司机给个菜谱,推荐一些不错的库,再给个 best practice 指引,迅速得到以往靠自己折腾几年才有的知识储备。这类自己不提供核心只做整合的框架,大大降低了入门门槛,也降低了很多重复自己多年的老手的价值。
    ovear
        87
    ovear  
       2017-04-30 14:09:55 +08:00
    @sagaxu 你看你也看到了问题,这几个框架是把复杂的问题变简单。而且这几个框架的可代替性也强,springboot 有 jfinal,flask 有 tornado,django
    但是 laravel 呢?他搞的那一堆概念,我没看见其他 PHP 框架有这么搞的,本末倒置啊
    sagaxu
        88
    sagaxu  
       2017-04-30 14:15:20 +08:00
    @ovear 研发团队喜欢搞轮子,有的时候并不是业务真的需要重复造轮子,而是为了 KPI,轮子搞完,通道评审做完,可能就不大维护了,交给新来的人,新来的人可能根本看不上,又重搞一套。所以比较大的公司,team A 搞的轮子,同部门的 team B 可能看不上,甚至 team A 内部还分好几派,多种框架轮子并存。
    ovear
        89
    ovear  
       2017-04-30 14:18:22 +08:00
    @sagaxu kpi 的问题这里就不好讨论了。反正框架这东西是迎合需求的,不然怎么会那么多轻量到一种程度的框架。。
    sagaxu
        90
    sagaxu  
       2017-04-30 14:49:09 +08:00
    @ovear

    jfinal 我今天第一天听说,常年混 reddit java 社区竟然没听人提过,它跟 springboot 有可比性吗?
    稍微了解了一下,原来是中国特供,它模仿了 rails,对比过去的 SSH 是简单了一些,但是跟 springboot 比还是麻烦。

    tornado 侧重点是 async,它代替不了 flask,pip 里搜一下就知道 package 数量差了几倍。
    django 倒是能代替 flask,而且新手我更推荐 django,它更加的一站式服务,虽然比 flask 入门稍复杂一些。

    laravel 的概念是新东西吗?都是别人玩腻了的,你做 php 的没了解过 zend framework 吗?概念一点儿都不比 laravel 少。
    现在不是 2008 年之前,后端不再是个人单打独斗的时代了,团队协作和代码质量的问题频繁暴露,php 那套端平快的玩法,已经跟不上时代了,所以最近几年 php 一直在走下坡路,稍有规模的公司,要么完全不用 php,要么把 php 归为前端,只是拿来拼凑个页面或者组装后端 API 的返回值,PHP 已经很边缘了。laravel 给了那些代码规模大性能要求低的项目,继续使用 php 的便利。

    PHP 不是我主力语言,但我用过 CI 和 Yii1,觉得它们过于简陋和麻烦,laravel 的出现让人眼前一亮,便利和强大兼顾了,而不是折衷了,牺牲掉的是一点性能,这点用 PHP7 可以挽回。去年有新项目需要用 php 时,随便看了一会儿 laravel 就上手了,从零开始也非常简单,它不过是把别人玩腻的东西挑选了一些用,都是早就熟悉了的东西,没什么新意。
    ovear
        91
    ovear  
       2017-04-30 14:55:59 +08:00
    @sagaxu 首先我认为国产框架没有什么不好的。总比万年 SSH2 号
    其次你要考虑社区,PHP 社区里面就没有这些,其他语言里面也有很多玩烂的东西,某些语言就没有。
    PHP 的应用场景少的原因在于社区主流的使用方法决定了它的生命周期,这是用什么框架都改变不了事。
    sagaxu
        92
    sagaxu  
       2017-04-30 15:02:46 +08:00
    @ovear 因为重的轮子,不是没能力造就是没精力造,即便造出来,多半也要扔的,用 C++重写 hadoop 和 spark 的事情,国内有大厂也干过,后来目的达到之后还是放弃了。一般公司 KPI 轮子,也会挑简单一些的下手,比如建议框架,建议 cache,简易 rpc 协议,简易配置服务器,不会傻到挑那些做到跳槽那天都没做完的东西。

    每个互联网公司都有社区情节,每个做 web 的都有过框架情节,我敢说,100 个做过 php 的人,起码 90 个造过自己的简易框架,大部分可能简单到只有 url 路由和 load 模板,最多加个简单的 DAO 层,这些重复劳动其实没有意义。github 超过 5000 星的那些,才能说及格了,有存在的价值。
    ovear
        93
    ovear  
       2017-04-30 15:14:39 +08:00
    @sagaxu 我和你持不同的看法,因为你混淆了一个你之前抓的很死的论点
    企业开发,协同合作
    即使是自己挖坑,只要项目还在,框架就不会坑
    个人开发哪有这么多事,那个用的爽就用哪个
    你说是吧
    至于意义的事,对自己有用这就是意义,足够了。存在即合理。
    sagaxu
        94
    sagaxu  
       2017-04-30 15:23:28 +08:00
    @ovear 说的好像国外都万年 SSH2 一样,现在哪怕是国内,也就一些遗留项目在用 SSH2,springmvc 都是十几年前的东西了。国产不是掉价的原因,vuejs 就很棒,文档也不错,老外也喜欢用,以前 yii 也蛮受欢迎的。老外的框架,成功了的也就那么几个,每个语言主流的也就一只手数的过来,但是不管哪个国家的人搞的,文档一定是英语优先,再翻译成各国文字。

    PHP 社区的确情况特殊,基础差的人太多,学过设计模式的太少,甚至还有看英文有障碍的半文盲,也没很多机会做大项目,一个在别的社区很平常的东西,到 PHP 社区就会有一堆人觉得复杂和过度包装,看一眼就嫌烦或者被吓倒放弃的不在少数。语言本身的限制,加上技术玩的好的普遍看不上 php,也就只能这样了。
    sagaxu
        95
    sagaxu  
       2017-04-30 15:31:23 +08:00   ❤️ 1
    @ovear

    你忽略了人员流动性,项目是还在,但是人已经换了一波又一拨,用一个主流一些的框架,招聘接盘侠的时候可以尽量招用过这个框架的人,即便没用过,热门框架的文档和社区也不是自己的轮子能比的了的。

    京东上很容易就能买到主流框架的书,但是自己的轮子,绝大部分连个像样的文档都没有,轮子创始人一离职就呵呵
    ovear
        96
    ovear  
       2017-04-30 15:45:20 +08:00
    @sagaxu 要是那种项目组经常走一大堆人,然后 PM 又不给适应时间的公司,我感觉是坑 B 公司的可能性更高。企业自成一套体系是很正常的事情呀。
    至于你举例的什么 VUEJS,那开发者都算不上中国人。别人英语 6 到不行,日本也是个 IT 发展比较早的,他们也有一大堆项目,还是以日语作为首要语言。英语也好、日语也罢,都不能作为一个框架成功的要素呀。不过文档的完善的确重要,即使是企业内部也是这样。
    pyufftj
        97
    pyufftj  
       2017-04-30 16:16:36 +08:00
    jellybool
        98
    jellybool  
       2017-04-30 16:17:36 +08:00
    @sagaxu 手动发送感谢。
    gouchaoer
        99
    gouchaoer  
       2017-04-30 16:40:23 +08:00 via Android
    zend framework 是封装了一堆实用类而已,性能比较低所以用的人不多,商业代码里 wecenter 似乎就用了一部分 zend 类。。。。不过,这一切都还可以理解。。。laravel 我是真的读不懂源码,也没法单步调试一次请求,因为里面都是 closure 和啥 bus,各种跳来跳去,不懂
    sagaxu
        100
    sagaxu  
       2017-04-30 16:47:50 +08:00
    @ovear

    公司在技术选型搭配上可以有自己的一套,结合业务搞几个自己的组件或者服务,甚至搞一些内部的 boilerplate 项目,新项目直接从这些 boilerplate 开始,都是不错的积累,也是自成体系融入公司风格的。
    重复攒一个别人已经做得很好的轮子,发起人可以评个资深或者架构师 title,但是对公司而言收益点在哪里呢?

    vuejs 作者是上海人,去年加入阿里 weex 团队,怎么就不能算中国人了?日本在开源界最有名的是 ruby,英语文档不差,他们对 freebsd 和 postgresql 也有很多贡献。语言的确不是框架成功的要素,但是不把英语作为首要语言的框架,没有一个是成功了的,它是必要条件,不是充分条件。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:15 · PVG 22:15 · LAX 06:15 · JFK 09:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.