看到学 Java 反哺 PHP 有感

2020-08-18 09:46:07 +08:00
 zarte

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

9894 次点击
所在节点    PHP
87 条回复
Yano
2020-08-18 11:55:11 +08:00
@skyworker 同时微服务这个问题,我感觉如果不是一个服务被另外 3 个服务调用,就没有必要微服务了,整的很麻烦
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
2020-08-18 12:02:54 +08:00
@zarte app 目录下的,不好意思,还都用上了,你随便提一个我来告诉你应用场景
avalon0624
2020-08-18 12:22:02 +08:00
@skyworker Spring Boot 有热重载的,之前如果迁移,可以考虑加下这个 spring-boot-devtools 。不过逻辑测试,不应该是写 Junit 单元测试的吗?
charlie21
2020-08-18 12:27:38 +08:00
@HancockXu @to2false @shanghai1998 @makia98
求推荐 Laravel 学习资料
chanchan
2020-08-18 12:33:32 +08:00
@skyworker 你这已经是很老旧的 java 项目了吧,去看看 spring-data-rest
Varobjs
2020-08-18 12:33:36 +08:00
喷框架的大可不必,不喜欢用就不要用,
不能每个项目用各个框架都写一遍吧,有着闲功夫说公司不忙啊,麻烦报下公司名字,😄

另外,大多人公司的项目轮不到你选什么语言,框架
EminemW
2020-08-18 12:36:47 +08:00
TP 那官网跟山寨网站一样……写项目不按工程化的写,那基本就你自己玩得动,对于后续的维护就是个大坑
lixuda
2020-08-18 12:40:51 +08:00
@Vegetable python 写 web 还好吧,用过 php,python,觉得还是 python 效率高,但是部署 py 是麻烦,小白用户
hubqin
2020-08-18 12:48:43 +08:00
@avalon0624 深有感触,最近接到屎山一样代码的项目,各种拼音首字母缩写,没有命名空间,每天看到想吐,万马奔腾,还要在一周内完成,快维护不动了。
Vegetable
2020-08-18 13:08:00 +08:00
@lixuda #49 我说的是,前端
woshipanghu
2020-08-18 13:22:29 +08:00
半桶水就喜欢评价这个语言好那个语言好
懂呢只懂点平吗哦
yangxiaopeipei
2020-08-18 13:23:39 +08:00
@charlie21 laravel 文档
wellsc
2020-08-18 13:48:10 +08:00
@Vegetable 有个词叫做货物崇拜
raincode
2020-08-18 13:52:22 +08:00
我学 c++反哺 js
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
2020-08-18 14:09:45 +08:00
不想用就不用。想说缺点,却没说到点子上去。
JokeEnd
2020-08-18 14:10:34 +08:00
很反感 Laravel 那套 Facade 设计模式,连 IDE 都拯救不了,还在用全局函数,只有用 Yii2.0 后我才能自豪地跟人说我是做 PHP 程序开发:doge
iyaozhen
2020-08-18 14:17:20 +08:00
一切都是业务场景 /需求为导向

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

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

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

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

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

最后

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

因为我要靠他们吃饭

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/699173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX