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

看到学 Java 反哺 PHP 有感

  •  1
     
  •   zarte · 2020-08-18 09:46:07 +08:00 · 10127 次点击
    这是一个创建于 1587 天前的主题,其中的信息可能已经有所发展或是发生改变。

    真的,php 只要做 php 好吗!
    从用被大拿瞧不起的 tp 框架开始用起,到了后来的 composer 出现,Laravel 那套真的是头大,看评论说过运行个 hellow world 都要耗很多资源,还有 sowft 的 entiy,db,data,logic 分层。。有时间 composer 自己弄个简易的框架不香么?
    php 为啥之前那么多人用还不是因为可以快速开发一把梭,你把 java 那套搬过来整得一套一套的,真有这功夫为啥不用 jsp ???
    一个语言就应该应用于擅长的领域,异步的后端需求可以用其他语言呀例如 go,上手也简单。

    第 1 条附言  ·  2020-08-18 23:49:02 +08:00
    再来杠下
    吐槽的不是可维护这点而是太工程化了(就像面向对象设计思路下为了不管啥都抽象个对象来 new 下调用),php 自带的魔术方法也可以实现一些功能来着。
    @gz911122 entiy,db,data,logic 这分层是学 java 的吧,php 的 mvc 就一个 m 搞定了,实现个查询列表的功能,定义入口调用模型或者加层逻辑层既可,我用的那版 la 也都没这么搞。
    有个人说 la 里 app 下的他都用到了,那我是没话说的,@helone 我的是 app 同级弄了个 module,里面分模块分别有 Facades Providers Services 。。。app 里面的 Jobs 、listeners 啥的没用到,也就 Http 有用,旧版的原因?
    针对目前 php 做的系统论坛、内容管理系统、接口站来说大部分都是 curd 的情况下,如下的解决方案可维护性不行么? 个人偏向使用这类 diy 框架
    基于 composer:
    1.路由:Macaw
    2.模板引擎:twig
    3.数据库模型:diy 封装单例模式,缓存
    目录结构:
    app
    --config
    --controller
    --model
    --logic
    --view
    config
    helper:自定义常用静态类分装
    vendor
    public
    -- index
    用啥类就 use 然后 new 个,controller 里采用继承父类的方式实现公共方法。对于接口站点就无需调用模板引擎 。
    这类框架有编程基础的上手肯定比 la 快吧
    87 条回复    2020-09-21 22:36:32 +08:00
    HancockXu
        1
    HancockXu  
       2020-08-18 09:48:56 +08:00   ❤️ 1
    Laravel 有啥头大的?
    crazyhorse
        2
    crazyhorse  
       2020-08-18 09:49:54 +08:00
    代码最重要的是可维护性
    to2false
        3
    to2false  
       2020-08-18 09:53:15 +08:00
    Laravel 有啥头大的? +1
    CodeCodeStudy
        4
    CodeCodeStudy  
       2020-08-18 09:53:25 +08:00   ❤️ 4
    你先把 Swoft 拼写正确。
    自己学艺不精还怪框架?
    Vegetable
        5
    Vegetable  
       2020-08-18 09:53:41 +08:00   ❤️ 13
    我也不是很明白,为什么总是有一批水平很高的人,孜孜不倦的帮语言实现不该这个语言去做的事情。
    比如:
    python 写 Web 前端
    Golang 写跨平台 GUI

    当然也有比较好理解的,js 向后发展,python 向静态发展,还算真的有需求。正如你所说,一个语言必然有自己擅长的点,但是就是有那么一群人,会默默的努力,或者说 Geek,就是想让这个语言变得全能。

    虽然我挺困惑的,但是也管不着人家,人家就是想让 Php 更工程化,也能搞定大型项目,任性呗。
    TypeError
        6
    TypeError  
       2020-08-18 09:54:41 +08:00 via Android
    就是语言生命周期问题

    现在 Web 流行的就是静态+异步
    keepeye
        7
    keepeye  
       2020-08-18 09:55:44 +08:00
    PHP 是世界上最好的语言
    Vegetable
        8
    Vegetable  
       2020-08-18 09:55:58 +08:00   ❤️ 4
    学 A 语言之后发现对 B 语言理解更深了,这显然是走在工程师去语言化的路上,是好事。能跳出唯工具论的思维,对个人帮助还是比较大的。
    helone
        9
    helone  
       2020-08-18 10:00:23 +08:00
    我觉得你可能没用过 Laravel,就算用过你也没有真正的掌握框架
    gz911122
        10
    gz911122  
       2020-08-18 10:01:45 +08:00   ❤️ 1
    entiy,db,data,logic 分层有啥问题吗?

    这不经典设计模式, 又不是哪个语言独有的
    C603H6r18Q1mSP9N
        11
    C603H6r18Q1mSP9N  
       2020-08-18 10:01:53 +08:00
    Laravel 蛮好的,就是 vendor 包太大了,但 php 这是趋势,没办法。。。
    楼主告诉你一个方法,把 vendor 也放到 git,其他人下载下来直接可以跑了
    newtype0092
        12
    newtype0092  
       2020-08-18 10:05:43 +08:00
    不可能总是做可以快速一把梭的小项目吧。
    业务做大了怎么办?等老板去招个架构师踢掉自己,继续找个小公司去一把梭?
    cmdOptionKana
        13
    cmdOptionKana  
       2020-08-18 10:08:58 +08:00
    都是自由选择,难道不是百家争鸣才是最好的吗,为什么要有 “XX 语言就只该干 XX 事” 这种教条主义。

    PHP 框架千千万,Laravel 能壮大也是大家用脚投票出来的。

    你如果爱用简易框架,完全可以用,Laravel 也不会来妨碍你吧?况且事实上也有很多人正在用 Laravel 以外的框架。
    Moker
        14
    Moker  
       2020-08-18 10:10:30 +08:00
    每个人都这么想 是不是就会产生每个人的自有框架 那代码维护怎么搞?特别是框架开发者离职了,能确保文档足够详细吗?还是靠口口相传?框架主要用来规范,方便维护,后面好招人。
    masker
        15
    masker  
       2020-08-18 10:11:23 +08:00 via Android
    “看评论说过运行个 hellow world 都要耗很多资源”
    就这一句话足以说明你自己的问题了
    zarte
        16
    zarte  
    OP
       2020-08-18 10:12:58 +08:00
    @helone 真正掌握了能把每个 module 下面的文件夹变成只有 controllers\model\logic 么?
    用 php 开发的项目有必要这么多分层?还有那个 app 下面能用到的有多少?
    zarte
        17
    zarte  
    OP
       2020-08-18 10:14:09 +08:00
    @Moker composer 自己公司维护一套就好了
    CEBBCAT
        18
    CEBBCAT  
       2020-08-18 10:14:45 +08:00
    有钱有闲的程序员是我等码农理解不了的,放手让他们去吧
    zarte
        19
    zarte  
    OP
       2020-08-18 10:15:54 +08:00
    @newtype0092 嗯就是这个问题,弄大项目还是基于 php 来弄就感觉杀猪用水果刀硬上,然后修修补补各种坑。
    skwfar
        20
    skwfar  
       2020-08-18 10:16:47 +08:00
    我无语了,那楼主继续一把唆吧...
    zarte
        21
    zarte  
    OP
       2020-08-18 10:23:10 +08:00
    @cmdOptionKana 如果真的是一门语言可以胜任各种领域就不会有那么多坑了。。。倒是不会妨碍到我,只是会导致 php 没有新人进入,也就没以前那么多人自发弄各种轮子了。
    makia98
        22
    makia98  
       2020-08-18 10:27:20 +08:00
    刚毕业,主 laravel,我带的师弟们要学 php 的我也是推荐 laravel,而且他们都愿意接收,不知道楼主为什么说 php 没有新人进入
    zjsxwc
        23
    zjsxwc  
       2020-08-18 10:35:34 +08:00
    php 擅长的难道不是, 写代码效率高,容错率好,对懒人新手程序员宽容,用户用起来觉得爽吗。

    楼主怎么会觉得 php 只擅长作为“模板语言”。

    php 用来搞运维、写 web 服务端、写常驻内存进程也挺合适的,真要高性能了我还是倾向于 c/cpp 、rust 。
    whitehack
        24
    whitehack  
       2020-08-18 10:36:32 +08:00
    @Vegetable 总感觉你在说我这类人... https://github.com/whtiehack/wingui
    zarte
        25
    zarte  
    OP
       2020-08-18 10:41:51 +08:00
    @zjsxwc 运维不是应该 py 跟 shell 么?
    zarte
        26
    zarte  
    OP
       2020-08-18 10:42:14 +08:00
    @makia98 看来是我想错了。
    instein
        27
    instein  
       2020-08-18 10:43:11 +08:00   ❤️ 1
    你先把 hello world 拼写正确。
    自己学艺不精还怪框架?
    zjsxwc
        28
    zjsxwc  
       2020-08-18 10:44:50 +08:00
    @zarte

    我公司的运维就是用 php 的,原因是
    shell 功能太弱,
    py 运维碰到缩进问题难受,尤其是 ssh 过去处理问题时。
    Chappako
        29
    Chappako  
       2020-08-18 10:54:56 +08:00   ❤️ 6
    总有一些人一直劝人不要使用更先进的工具和思想,他们坚信原始的就是好的

    * 我捕猎就能吃地很好,那些傻子去种地多麻烦
    * 我们克行周礼,你弄个劳什子胡服骑射
    * 我大清是天朝上国,你搞什么洋务运动,弄那些个奇技淫巧有什么用
    * 我算盘打地贼溜,你计算机开机的时间我都算完了
    wellsc
        30
    wellsc  
       2020-08-18 10:58:30 +08:00
    让我数数你有几个 typo
    cmdOptionKana
        31
    cmdOptionKana  
       2020-08-18 11:01:27 +08:00
    @zarte PHP 肯定是走下坡路,但如果说原因在于 Laravel…… 这感觉是偏见。

    php 的下滑应该是外部原因,JavaScript 的爆发导致的。你想想,本来在 html 页面内直接内嵌 php 语句是一大优势,但是 js 的前端框架发展起来后,显然有碾压性的优势。

    另外一个重要原因是现代化 IDE/编辑器的发展,使 Java 等各种后端静态语言写起来非常方便,因此 php 、ruby 、python 等动态语言都受到了很大影响。以前 IDE 不够好用,动态语言写起来很爽,但现在 IDE 非常智能,反而是静态语言写起来更爽。
    lucybenz
        32
    lucybenz  
       2020-08-18 11:03:12 +08:00
    @masker 楼主写到这里的时候,资源已耗尽; 导致出现 BUG, 请重启楼主后再次 DEBUG
    ben1024
        33
    ben1024  
       2020-08-18 11:04:27 +08:00
    语言是问题,开发者理解能力更是问题
    visonme
        34
    visonme  
       2020-08-18 11:12:15 +08:00
    我用 slim,偶尔也用 symfony,最近在看 RoadRunner+Spiral Framework
    Laravel 那套确实也让我头疼,不过这不影响它做为一个优秀的框架 存在👍
    avalon0624
        35
    avalon0624  
       2020-08-18 11:27:25 +08:00
    因为当项目运行得越久,一把梭的开发留下来的坑就越明显:无法维护。
    如果是外包即写即弃型的小项目,那么快速堆是好事,但是对于一个持久运行不断更新的项目,不说新人接手项目,原开发在三个月之后能明白自己写的时候,对应的变量内容是什么么?在更新上线前,能保证更新不导致其它问题么?
    用 Laravel 或者 ThinkPHP 的规范去约束开发,目的是为了减少单一开发或产品离职对项目可维护性的破坏。
    Helix225
        36
    Helix225  
       2020-08-18 11:35:27 +08:00 via Android   ❤️ 1
    @Vegetable 看看这里嘲讽的人,“技术大拿”们比 p***hub 和 niconico video 的程序员更懂,巴不得马上去入职用 java 重构拯救他们破烂不堪的 php 项目
    levn
        37
    levn  
       2020-08-18 11:36:17 +08:00
    上游产什么下游吃什么
    skyworker
        38
    skyworker  
       2020-08-18 11:36:23 +08:00   ❤️ 4
    最近也在用 java(spring cloud 微服务)和 laravel 同时做项目, 有点体会.

    首先这两个项目都是 react 的前端, php 和 java 都是做 api, 提供数据的 crud 接口.

    同样做一个表格的 CRUD 接口, 如果用 laravel 的话, 定义好 model 的 fillable 后, 并且为了方便扩展, 我们用了 mysql 的 json 字段储存动态字段.

    在 laravel 的 model 中,把 extra 之类的 json 字段 cast 为 array 之后, 增删改查的接口基本上不到 10 分钟就完成了. 并且例如分页之类的功能,laravel 也是只用增加一个: $data = $query->paginate() , 然后 return response()->json($data) 就 OK 了.


    而在 spring 中, 先不说各种微服务造成的开发阶段额外的时间, 做一个 CRUD, 要在 ibaits 配置各种配置文件, 还要写 manager 类, 通过 manager 类读取数据后, 还要用 fastJson 之类的 lib 做数据转换. (并且对于 extra 之类的 json 字段处理非常麻烦, 因为 java 是静态语音), 然后各种数据类型转换, 最后才能输出结果.


    如果中间涉及各种调试, php 是非编译语言, 直接在 code 中 dd($data) 就能看到调试数据;

    而在 java 中, 每次修改代码, 都要手工或者 IDE 重新编译代码,才能看到效果, 如果中间逻辑有问题, 甚至要重启数十次 service, 非常耗费时间.


    大致评估下, java 带来的开发成本远比 laravel 多, 写 java 代码和配置文件, 要比 php 多 2-3 倍的时间(配置文件 /类型转换等等); 而如果在调试阶段, 考虑到重启 service 的耗费时间, 估计耗费的时间会更多.


    所以目前的 java 系统要做新功能, 直接把功能迁到 laravel 接口上了, 开发时间节省很多倍.

    当然, 作为编译语言, java 服务的运行时比 php 快的多, 不过目前的项目远没有到"百万并发"的级别, 都是需求方在拍脑袋上功能, laravel 带来的开发阶段效率提升, 作用还是非常大的. 如果今后项目稳定后, 并且如果并发高了后, 可能会考虑再迁移到 java spring 上.
    dongisking
        39
    dongisking  
       2020-08-18 11:41:29 +08:00
    @skyworker 思路不错,就是两个后端的路由得分清楚
    Yano
        40
    Yano  
       2020-08-18 11:53:27 +08:00
    @skyworker 我感觉使用 Java 的小项目,直接 Spring jpa 就好了,没有必要整一堆配置文件。虽然 jpa 有些不灵活,但是基本 crud 还可以。
    Yano
        41
    Yano  
       2020-08-18 11:55:11 +08:00
    @skyworker 同时微服务这个问题,我感觉如果不是一个服务被另外 3 个服务调用,就没有必要微服务了,整的很麻烦
    skyworker
        42
    skyworker  
       2020-08-18 12:02:05 +08:00
    @Yano java 项目是接手的, 架构是别人做好的, 这个没有办法.

    不过在设计具体 coding 的时候, java 的各种类型转换 /json 输出 /重启调试 还是很烦人的, 整体开发效率很低.

    例如一个 model 里面有 20 个 field, 在 laravel 中 model 定义好了后, 在 controller 只需要:

    $data = User::where("XXX")->->paginate();
    return response()->json($data);

    就能输出分页数据;

    而在 java 中, 通过 manager 拿到后, 还需要对这 20 个字段, 每个字段都逐一转换后赋值给 fastJson, 非常麻烦.
    helone
        43
    helone  
       2020-08-18 12:02:54 +08:00
    @zarte app 目录下的,不好意思,还都用上了,你随便提一个我来告诉你应用场景
    avalon0624
        44
    avalon0624  
       2020-08-18 12:22:02 +08:00
    @skyworker Spring Boot 有热重载的,之前如果迁移,可以考虑加下这个 spring-boot-devtools 。不过逻辑测试,不应该是写 Junit 单元测试的吗?
    charlie21
        45
    charlie21  
       2020-08-18 12:27:38 +08:00
    @HancockXu @to2false @shanghai1998 @makia98
    求推荐 Laravel 学习资料
    chanchan
        46
    chanchan  
       2020-08-18 12:33:32 +08:00
    @skyworker 你这已经是很老旧的 java 项目了吧,去看看 spring-data-rest
    Varobjs
        47
    Varobjs  
       2020-08-18 12:33:36 +08:00 via Android   ❤️ 1
    喷框架的大可不必,不喜欢用就不要用,
    不能每个项目用各个框架都写一遍吧,有着闲功夫说公司不忙啊,麻烦报下公司名字,😄

    另外,大多人公司的项目轮不到你选什么语言,框架
    EminemW
        48
    EminemW  
       2020-08-18 12:36:47 +08:00 via iPhone
    TP 那官网跟山寨网站一样……写项目不按工程化的写,那基本就你自己玩得动,对于后续的维护就是个大坑
    lixuda
        49
    lixuda  
       2020-08-18 12:40:51 +08:00
    @Vegetable python 写 web 还好吧,用过 php,python,觉得还是 python 效率高,但是部署 py 是麻烦,小白用户
    hubqin
        50
    hubqin  
       2020-08-18 12:48:43 +08:00 via Android
    @avalon0624 深有感触,最近接到屎山一样代码的项目,各种拼音首字母缩写,没有命名空间,每天看到想吐,万马奔腾,还要在一周内完成,快维护不动了。
    Vegetable
        51
    Vegetable  
       2020-08-18 13:08:00 +08:00
    @lixuda #49 我说的是,前端
    woshipanghu
        52
    woshipanghu  
       2020-08-18 13:22:29 +08:00
    半桶水就喜欢评价这个语言好那个语言好
    懂呢只懂点平吗哦
    yangxiaopeipei
        53
    yangxiaopeipei  
       2020-08-18 13:23:39 +08:00
    @charlie21 laravel 文档
    wellsc
        54
    wellsc  
       2020-08-18 13:48:10 +08:00 via iPhone
    @Vegetable 有个词叫做货物崇拜
    raincode
        55
    raincode  
       2020-08-18 13:52:22 +08:00
    我学 c++反哺 js
    Yano
        56
    Yano  
       2020-08-18 13:56:24 +08:00
    @skyworker 嗯,这些问题确实存在~~~我看到 php 好多是直接把数据库的 entity 直接返回了,暴露了很多不必要的字段。如果是要返回和 $data = User::where("XXX")->->paginate();
    return response()->json($data); 一样的功能,在 Spring boot 里只需要定义下 @ResponseBody,然后返回 data 就可以了~也不用转换 json
    chenmobuys
        57
    chenmobuys  
       2020-08-18 14:09:45 +08:00
    不想用就不用。想说缺点,却没说到点子上去。
    JokeEnd
        58
    JokeEnd  
       2020-08-18 14:10:34 +08:00
    很反感 Laravel 那套 Facade 设计模式,连 IDE 都拯救不了,还在用全局函数,只有用 Yii2.0 后我才能自豪地跟人说我是做 PHP 程序开发:doge
    iyaozhen
        59
    iyaozhen  
       2020-08-18 14:17:20 +08:00
    一切都是业务场景 /需求为导向

    为了可维护性,标准化,工程化,就必然会发展成这样
    oneend
        60
    oneend  
       2020-08-18 14:36:37 +08:00   ❤️ 3
    哎 其实好多人自以为自己多么懂,不用看我是不是说你,至少 80%的人。

    1 、必须用最适合的语言去做最适合的事。我也认同啊,但是各位是生活在多么理想的世界? 至少不是地球吧。你想怎么样就怎么样,至少不是地球?最好的路谁都想走,但现实是这样的,多一条路走不好吗?我用不太适合的语言达到目的不就好了。 ---- 强迫症患者

    2 、歧视。很多人看到有人用 php 做出一个烂网站 就说 php 垃圾 ,同样用 java 做出一个烂网站,那肯定是这个程序员垃圾 ---- php|java 是最好的语言系列人物

    3 、你想得很好。给你个项目 java go php nodejs ... 都用所处领域最合适最好的语言 算你项目跑起来最快最省资源。试试之后的维护和升级 当然土豪例外 --- 理想主义者

    我们生活在一个充满矛盾并不和谐的世界,为了生存和利益,常常要做很多并不是最适合的事情,希望以后不要浪费时间说这些了。

    最后

    PHP 和 JAVA 是世界上最好的语言
    MySQL 是世界上最好的数据库

    因为我要靠他们吃饭
    pigzzz
        61
    pigzzz  
       2020-08-18 14:40:19 +08:00
    守着你的 tp 过一辈子吧,兄弟
    Keyes
        62
    Keyes  
       2020-08-18 14:52:33 +08:00
    @CodeCodeStudy hhhhhhh 你这么一说我发现他 hello 也拼错了

    回到主题,学 JAVA 反哺 PHP 我个人认为应该是让企业级开发思想、OO 、软件工程能力带到小作坊里,土八路转正规军的过程

    说真的,语言真不重要
    peterjose
        63
    peterjose  
       2020-08-18 14:54:35 +08:00
    楼主眼光太短
    295464512
        64
    295464512  
       2020-08-18 15:47:46 +08:00
    laravel 接触过之后挺好用的啊
    sagaxu
        65
    sagaxu  
       2020-08-18 16:03:42 +08:00 via Android
    @skyworker
    小项目 springboot 一把梭,微服务神马的都不要用,数据查询大部分用 JPA,少量写 SQL,mybatis 现在基本上只有中国人用。用短平快的理念写的粗糙点,代码量和 php 差不太多的。
    zicla
        66
    zicla  
       2020-08-18 16:15:41 +08:00
    不管,反正 PHP 是最好的语言。
    learningman
        67
    learningman  
       2020-08-18 16:23:12 +08:00
    @shanghai1998 nodejs 表示你这 vendor 就是一弟弟
    teaaa
        68
    teaaa  
       2020-08-18 17:16:07 +08:00
    laravel 也还好吧
    zencoding
        69
    zencoding  
       2020-08-18 17:58:52 +08:00
    码了一堆又删了,时间会给你答案的
    cai314494687
        70
    cai314494687  
       2020-08-18 19:21:20 +08:00 via iPhone
    说 composer 下载包太大,npm 笑而不语
    bzj
        71
    bzj  
       2020-08-18 21:43:30 +08:00
    @sagaxu springboot 代码量和 php 差不多,差点笑出声
    liuzhiyong
        72
    liuzhiyong  
       2020-08-18 21:49:58 +08:00
    后端我仅仅会用 PHP,还是没有框架的简单版本,开发速度是真快,简单页面哈,Java 不懂也学不动了。
    sagaxu
        73
    sagaxu  
       2020-08-18 22:06:50 +08:00 via Android
    @bzj 公司有个服务,Java 重构成 PHP,算下来代码行数差别不大。php 和 java 都定义了 entity class,java 没有写 vo/dto/mapper/interface/xxmanager 那套玩意儿,getter/setter 用了 lombok 也不需要写。java 逻辑里容易写啰嗦的东西,在 commons 和 guava 库的帮助下也差别不大了。

    两者都写过十万行以上,至少我自己用哪个效率都不会有明显差别。
    sagaxu
        74
    sagaxu  
       2020-08-18 22:09:07 +08:00 via Android
    @sagaxu 我自己的一些私活,如果没有开源的可用,也会用 springboot 那套,而不用 php,我总不能故意坑自己吧。
    jqh
        75
    jqh  
       2020-08-19 09:20:21 +08:00
    其实楼主这样的人的心态大多数人都能体会并理解,既然我用 TP 能把项目实现,还能一把梭很快,那我为啥要去学习 Laravel ?搞这么多概念花里胡哨有什么用?那些大佬能不能不折腾,全世界永远都用 TP,不开发那么多我看不懂的框架不行吗?

    其实说穿了,就是自己不想花时间精力去学习新技术,或者是因为无知而傲慢(半桶水自以为很懂),然后又害怕其他人都掌握了然后自己被淘汰,所以就总是跑出来什么 PHP 应该这样应该那样,JAVA 应该这样应该那样。。。

    这种人的心态诚如楼上老哥所说,我算盘打地贼溜,你计算机开机的时间我都算完了。
    zarte
        76
    zarte  
    OP
       2020-08-19 09:27:18 +08:00
    @jqh no no 。你真的觉得学着用 laravel/swoft 就是进步的方向么?搞需要工程化的项目会比采用 java,微服务那套来的适合?之所以会有一门语言打天下的情况出现,不是因为受限于技术栈还有那些不愿学其他语言的 phper 原因?
    killerv
        77
    killerv  
       2020-08-19 09:45:20 +08:00   ❤️ 1
    你自己弄个简易的框架,后来发现缺少这个缺少那个,慢慢扩展,最后发现你这个框架并不简易,而且很可能安全性、扩展性、性能都不如现成的成熟框架。
    jqh
        78
    jqh  
       2020-08-19 09:49:18 +08:00
    进步的方向不一定是 laravel 或者 swoft,但绝不可能是拒绝变化、尝试,死守一隅的旧框架和旧思想。

    也许你说的可能有道理,PHP 可能是不适合微服务,但人家辛苦开发出 laravel,swoft 这又妨碍你什么了?人家说要一门语言打天下了?多一条路选择百花齐放不好?

    而且万一人家尝试的方向是对的呢?万一 laravel 和 swoft 就是变革呢?比尔盖茨还说过 640k 内存足够用了,谁说得准。
    encro
        79
    encro  
       2020-08-19 14:05:20 +08:00
    directus

    Cockpit

    Drupal 9 API

    WordPress REST API
    MrTreasure
        80
    MrTreasure  
       2020-08-19 16:44:26 +08:00
    我能用一句话让论坛吵起来
    lijialong1313
        81
    lijialong1313  
       2020-08-19 17:07:52 +08:00
    @zjsxwc 我记得原本 linux 运维就是三大家,shell 、python 、php 。所以 linux 一般会自带 php
    lijialong1313
        82
    lijialong1313  
       2020-08-19 17:11:32 +08:00
    @JokeEnd 可以把 laravel 的 facade 丢了,假装成 services,然后建一个 services 的空间里面丢这个玩意儿。一般需要自定义去预加载那些对象都……用处不大
    dvaknheo
        83
    dvaknheo  
       2020-08-19 22:22:32 +08:00
    模拟一下:

    TP 3.2 的代码真是老掉牙,单字母看着真难受,Laravel 好多了。
    是啊,我们祖传代码用 Laravel 比他优雅多了。
    那么,你们用的 Laravel 是哪个版本呢?
    4.0! 2013 年 5 月 28 日发布的支持 PHP 5.3 的 Laravel 4.0

    昨天接到一个项目,要把 Laravel 升级到 17.3
    这优雅的代码升级起来就是不一样。
    dvaknheo
        84
    dvaknheo  
       2020-08-19 22:25:04 +08:00
    Macaw 和 slim 的路由都差不多。 不是 PHP 想要的啊。PHP 最想要的不就是文件路由么。不用写什么路由表。
    直接控制器类名+方法就过去了
    ThinkPhp 6 的 居然不支持多个层级的控制器方法。
    有哪个框架是这么支持的: /a/b/c/d => app/controller/a/b/c::d
    jones2000
        85
    jones2000  
       2020-08-19 23:50:22 +08:00
    主要看团队熟悉哪套框架了, 其他没有什么好坏之分,大多数框架基本的需求都可以实现。

    多用几套框架,可以让你思路拓展一点,不会局限在某一个框架上。 每一个框架都有自己的优势和劣势。
    wmwgijol28
        86
    wmwgijol28  
       2020-08-23 08:39:49 +08:00 via iPhone
    我觉得你不是反哺,是反转 逗我玩
    nnws2681521
        87
    nnws2681521  
       2020-09-21 22:36:32 +08:00
    java 就是个垃圾,浪费时间
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2886 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.