V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  encro  ›  全部回复第 108 页 / 共 152 页
回复总数  3038
1 ... 104  105  106  107  108  109  110  111  112  113 ... 152  
2020-04-14 10:42:23 +08:00
回复了 dvaknheo 创建的主题 PHP [吐槽]刚读了 yii3-demo, PHP 框架是怎么把 PHP (优雅的)玩死的。
作为一个从 cake,ci,kahana,zf,yaf,yii1,yii2...一路用过来的人来说,每次接触一个新的流行框架,都学习了一种新的解决问题的办法,每一种框架的流行都是有其道理的,他的道理就是他迎合和解决了那个时段的主要问题。
至少我用起来,写的代码是越来越安全了,团队效率是越来越高了,而不是越来越低了,代码性能定位越来越容易了,而不是性能问题越来越突出了。

@dvaknheo

这东西怎么来的。 一两个特例马上能教人懂,多了没法马上会啊。
Yii 定位是 advanced 框架,强调是安全、可配置、可扩展、性能可见。不是 ci,cake 等脚手架、helper 类之类的框架。

View 里不能做任何计算,不能 include 非 View 的代码。
可以啊,你看的是伪 demo 吧随便找一个,既然是 PHP 文件,不能计算,你是来搞笑的吗? https://github.com/yiisoft/yii-demo/blob/master/views/contact/form.php

当然可以 include,但是你得搞对路径啊,但是建议采用$this->render 替代。

Laravel 优雅的带着 PHP 优雅的 Java 化。当初 PHP 上手就干的年代,这是 PHP 的优势。
上手就干是 4.3 以前的优势,后来的主要优势是社区、开源项目、官方库。


现在一堆代码,业务相关的没几行,这还是 PHP 么。
因为已经不需要写这么多业务代码了,你配置好 rule 之后,自动驾驶了,自动驾驶你不应该关心是否有方向盘,而应该是自动驾驶是否可靠。

ORM 就非用不可么,Data struct 不容易理解么
有 Yii::$app->db->createCommand 和 Query 任你调用

有好用的文件路由不用,非得手写路由 (src/Factory/AppRouterFactory.php)
route 不用任何配置都可以跑的,你用的是官方 demo 么?


配置文件里一堆 use (config/web.php)
是的,这次改版最大的变化之一了。
为了遵守 psr 规范,让各大框架组件能够通用目标,牺牲小我为大我。。牺牲精神值得赞扬,但是我也觉得太多了,其实以前是隐藏的,现在变得开放出来的。也可以理解框架为了变得通用,不得不做各种抽象,比如缓存,日志,数据库为了兼容各种方案,不得采用各种适配器。如果你自己写一个框架,不用兼容那么多场景,那么这块确实是可以简化的(笑)。

MVC 缺层都是大家的共识了, 业务逻辑层叫 Service 或 Logic 我都无所谓,但直接 Controller 里调用 ORM,以前 10k 行的 Controller 啊。 从 Controller 里把业务逻辑剥离出来,跑命令行测试不好么。
和 Yii2 无本质区别,加了类型的 PHP 。。。作者 samdark 以前是搞 JAVA 的?或者指使代码写多了,记性不好了,加了类型便于 IDE 方法提示,如果你记性一致很好,那么可以不要这个类型提示,代码一样可以跑的。
至于你说的 Service 和 Logic 有什么必要吗?参考我上一个回复


PHP 开发速度很快,运行速度也很快。 没必要为了那些优雅牺牲开发速度,运行速度。
开发速度,得看工具和生态,Yii 有 gii,有各种数据服务器端,客户端验证,各种第三方库。
运行速度,性能优化得看性价比、定位速度和解决方案,Yii 等框架提供了 debug,性能问题一目了然。我在一台 4 核 8G 得 CPU 也可以跑一年几亿得交易额,我觉得性能非常好了,如果再发展,我是能花钱可以添加一点机器资源的。Yii 的四层 cache 设计方案,可以让你控制缓存在页面,局部 HTML,数据,请求级别。


讲真,我动力再足一点,写个同功能的 插进这些框架的 demo 中, 让大家见识一下应该用什么样的手段最符合 PHP 的快速开发模式。
我倒觉得是时候去框架了,不过我认为值得尝试解决方案是云函数+UI 仓库+项目仓库,看看国内大厂和国外新兴就知道,越来越向 low code 发展了,但是 low code 的基础是大量成熟的解决方案,所以我认为当前符合 PHP 的快速开发模式就是一套成熟的云原生的框架加各种 demo 。其他的话我并不看好。

@zjsxwc

symfony 确实是标杆,甚至比以前 zf 做得更好,值得尊敬。目前在 PHP 界都在向 psr 靠拢。

@HiCode

1 、PHP 从一开始流行就是因为适合小型项目,开发效率及运行效率都不错;

同楼上的回复,这是 4.3 以前的优势,后来的主要优势是社区、开源项目、官方库

2 、PHP 大流行后,部分有追求的程序员希望给 PHP 加一点 B 格,开始用各种模式要求 PHP,让 PHP 往 Java 方向发展。但 PHP 是脚本语言,Java 不是,Java 本身有足够的性能可以支撑起各种设计模式的性能损耗(但还是经常被吐槽太重太慢)——而 PHP 并没有这个性能来支撑。

PHP 为什么性能不好,知道吗?
解决性能问题首先要做是定位,通常说 PHP 性能不好的,不能常驻内存导致的吧,至少我还没有发现其他 PHP 性能不好的地方,至少我觉得够用了,举一个其他例子?
常驻内存可以用 swoole 之类的解决下,当然也没必要仅限于用 PHP 开发。


3 、各类设计模式在 PHP 项目中的普及,确实提高了效率,增强了一丢丢的团队协作,但开发的复杂性和性能的损耗却让 PHP 失去了他最开始的拥趸。

PHPer 也可以学习的,而且以前的方式还是可以用啊,为什么大家都愿意用了呢?因为以前的方式已经发展到头了啊,满足需求了啊,新的方式适用新的方向。

4 、为了追求性能和模式,所谓高手们抛下了 PHP 改用 go 、java 、c#,留下一个所谓“优雅”的 PHP 开发氛围。

高手们抛弃 PHP 采用 GO,
不是因为性能和模式。
而是环境,
环境变化了,
恐龙就不能生存了,
云计算、大数据的环境来了,
人类为了掌握周边环境降低风险,
天生就会自动去觉察掌握学习周边环境便于生存,
go 和 PHP 方向还是不一样的,
如果你用 go 去开发一个电商网站,
比如人人商城这类的这时候你会觉得还是 PHP 好,
如果你去开发一个 FQ 工具或者爬虫或者即时通讯服务端,无疑 GO 跨平台编译,协程让你飞起来。
如果我们学习后不能思考工具的适用场景,那么就不是真学了,这也是码农和架构师的却别吧,码农拿着锤子都是钉子,架构师所有工具都能恰如其分的使用。
2020-04-14 09:24:55 +08:00
回复了 taaaang 创建的主题 PHP PHP 的 sql 到底该写在哪儿?
一般不用写 sql 了吧,复杂查询用 orm 自动关联出来。

如果需要对一些操作进行封装,比如对多个批量操作采用事务,可以写在 model,便于复用。

其实不用太在乎写在哪里,而应该在乎是否好用好用,便于用即可,实际写写看。

比如用户充值,需要修改余额和生成充值记录,那么直接用$user->recharge($money)我觉得是比较方便和复用的,那么对我来说就是适合的,
因为如果写在控制器里面,那么不能复用,
如果单独抽取 service 层,你用的时候就得 UserService::Recharge($user_id,$money),UserService 里面你得再次实例化 User,当然你也可以直接传$user 进去,但是我懒。
代码怎么简单明了够用就怎么写吧,大部分时候代码行数越少就越容易维护。
2020-04-13 19:36:50 +08:00
回复了 quan7u 创建的主题 程序员 接了个小单,现在被告知需要企业域名
淘宝几十一个吧
2020-04-13 10:31:43 +08:00
回复了 hyd8323268 创建的主题 MySQL mysql 近千万级数据表,在分页时有什么好的方案吗。
基本是无解的:
1,count 本来就慢,无解;
2,采用>,<限制查询范围,如果需要精准就无解;
3,采用按时间分区表,也许有用,试试看,估计效果不会很明显,写入性能下降;

所以如果能业务限制采用 2,如果机器资源没有限制采用 3,如果需要实时 count 则需要采用缓存小范围 count
2020-04-13 10:10:03 +08:00
回复了 tg3253 创建的主题 问与答 是否应该去女朋友当老师的地方定居?
"一个人住 120 平米的房子,60 寸的电视,顶配台式机、NAS 看剧,撸狗、楼下就是菜市场每天做好吃的给自己吃,跑步打球健身,周末带父母去附近旅游。。。这么爽干嘛要结婚生孩子?"


不建议去。

东部新一线城市有房有车 远大于 二线省会。
2020-04-12 17:12:04 +08:00
回复了 x97bgt 创建的主题 问与答 和人刻意保持疏离感是不是一种人格缺陷
应该是因为缺乏目标,
找到什么事情,
是你愿意做一辈子的吧。
2020-04-12 17:05:13 +08:00
回复了 ww940521 创建的主题 程序员 在上海呆了四年,要认真的考虑是不是要回郑州了。
郑州?
为什么我一些朋友和同事,
老家郑州或者读书郑州,
都不打算再回去了,
因为空气差。。。。
nuc10i7 最新款 淘宝只需要 3300 多一点。
首先,
手机厂商不会很好支持的,
你让人家应用商店怎么活?

他是一个微信公众号的功能,
原理与我大概 08 年左右做的 12580 信息名址一样,
那时候确实很火,
但是因为没有规范,体验不好,被滥用等原因最后不了了之。

微信公众号不好用吗?
三大家做出来的产品体验会比微信公众号好?
2020-04-09 12:51:51 +08:00
回复了 guyskk0x0 创建的主题 分享创造 蚁阅 - 让 RSS 更好用 - 现已支持 PWA 和 RSS 代理,欢迎体验
@guyskk0x0 和 github 无关,是返回错误,好像进了 django 的页面,模板没设置好
很早有类似的东西,叫 12580 信息名址。
2020-04-08 19:30:16 +08:00
回复了 s609926202 创建的主题 PHP PHP 的 pathinfo 函数文件名中返回路径,是环境问题吗?
评论里有:


Note:

pathinfo() is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set using the setlocale() function.

Reality:
var_dump(pathinfo('中国人 2016.xls'));
exit();
array(4) { 'dirname' => string(1) "." 'basename' => string(8) "2016.xls" 'extension' => string(3) "xls" 'filename' => string(4) "2016" }

Expect(Solve):
setlocale(LC_ALL, 'zh_CN.UTF-8');
var_dump(pathinfo('中国人 2016.xls'));
exit();
array(4) { 'dirname' => string(1) "." 'basename' => string(17) "中国人 2016.xls" 'extension' => string(3) "xls" 'filename' => string(13) "中国人 2016" }
2020-04-08 19:23:12 +08:00
回复了 guyskk0x0 创建的主题 分享创造 蚁阅 - 让 RSS 更好用 - 现已支持 PWA 和 RSS 代理,欢迎体验
github 登录无效
2020-04-08 19:20:44 +08:00
回复了 frogtv 创建的主题 分享创造 大家一般用什么程序 开发自己的网站或者小论坛的???
@tomoya92
java 写得,就不要 Py 开头啊。。
另外一点:

7 年了,
不知道 HR 、公司要什么,
不知道如何写一份出彩的简历,
只能证明你是一个不愿动脑的程序员。

而对于不愿动脑的程序员,我是不指望他能和团队合作好的,不指望他能有好结果。
看到楼上指出的单词错误,
我得提到一点:

对于前端、UI 甚至程序员来说,
这是不能容忍得错误,
意味着你写代码不自己检查,不注意细节,
做事需要有人帮你搽屁股。

7 年了,还不明白这个道理,那么仍然是没有入门的初级程序员。
@cxytz01

已经不在海口了
@jethroWush

属实
2020-04-07 21:37:34 +08:00
回复了 toma77 创建的主题 问与答 求电动牙刷推荐
网易严选,一年快到了,电磁出问题了,然后给我换了新的,每天两次可以用两周以上吧,所以我就再推荐下吧。牙刷 220,牙刷头两只 45,不含的优惠价格。
1 ... 104  105  106  107  108  109  110  111  112  113 ... 152  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2393 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 07:28 · PVG 15:28 · LAX 00:28 · JFK 03:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.