V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  AbrahamGreyson  ›  全部回复第 9 页 / 共 11 页
回复总数  217
1  2  3  4  5  6  7  8  9  10 ... 11  
2016-08-18 00:51:10 +08:00
回复了 chenset 创建的主题 PHP 使用 Laravel ORM 时的一个问题?
个人觉得这和 ORM 与否没什么关系,不是 Eloquent 才会出现的疑惑,更和面向对象没关系,因为我们的开发,早已经假设一切问题都建立在 oop 之上。并不是说 this.id 就是 oop , oop 更多的是一种思考问题的方式。

我们从思考问题的方式出发。

首先还得看业务需求,如果 User 是一个模块 /领域模型 /聚集的根(主入口,唯一标识),那么它内部所维护的各个值对象理应通过 User 来拿,我们姑且以模块来称呼这个 User 的功能,如果 User 这个模块的一个重要功能是按照特定的 User 实体去获得属于他的 /关联的其它对象,我想不出为什么不直接写在 User 数据库类中,因为,特定的用户不存在的时候,与他相关的一切其它值都将失去意义。 Laravel ORM 把对象关系映射、实体、模块聚集浓缩到了一层中,直接去在 User 对象中访问模块内部的其它元素便是了。然后你可能因为测试 /关注分离 /业务和基础设施分离等原因,可能会在客户端代码和 User 对象中增加类似 Repository 、 Factory 之类的东西,这个时候 Factory 返回的将是一个 User 模块的聚集,它的根是 User 对象,它的其它元素,就是你自己维护的与 User 对象相关的其它实体。

尽管这样我也见过有人用另一种方式,也就是使用动态的数据库查询去返回对象(楼主的方法 2 ),这么做的目的是给 User 模块瘦身,但是我个人偏好第一种。第一种方式拿 User 的关联元素, 维护时可能仅仅需要修改特定类的方法,第二种则要修改分散到系统各处的条件,甚至更复杂些,有人用对象表示查询条件。
2016-08-17 23:10:45 +08:00
回复了 justudy 创建的主题 PHP PHP 常用的一些设计模式总结
写的挺好的, 只是目前以大写开头的文件名一般都是类,所以 .class.php 的写法建议换一换,有四五年没见过这种写法了,实话说还是很不习惯。
2016-08-17 23:02:50 +08:00
回复了 extreme 创建的主题 PHP 为何 PHP 有__callStatic(),没有__(get|set)Static()
本来就可以直接 Class::$property , 还要什么 setter 阿:)
2016-08-17 22:30:58 +08:00
回复了 lml12377 创建的主题 程序员 di 依赖注入实现的意义是什么?
这个和应用的执行流程关系不大的。

主要就像楼上的高手说的, 1 , 方便替换具体实现, 2 ,依赖于能力,而不是身份, 3 , 方便测试, 4 ,稍微一丁点提高编码效率。

你讲的是一个 app 常用的执行过程, 但是在一个中等规模的 app 中,这些流程只是基础设施, 你的业务代码会非常的多,对象之间的依赖会非常复杂,依赖注入能够让你开发速度更快, 修改具体实现的时候无需触碰业务代码。

new Service() 也是一种依赖注入,只不过是你手写的,而且无法注入接口,依赖注入更加灵活。
2016-08-17 22:24:21 +08:00
回复了 m939594960 创建的主题 职场话题 在组内使用新技术开发是正确的么?
还是沈阳的呢,我也会 Laravel ,有需要可以联系, 个人资料里有 Github , Github 资料里有 QQ 。
哈哈,我只是很开心看到一个沈阳的。
2016-07-31 22:01:00 +08:00
回复了 ifane 创建的主题 程序员 有啥手机租赁的网站么
比较聪明的做法,卖了自己用的,换两个稍微低端些的哦。这样一个自己用,一个开发多好。
id 建索引, category 移除, limit 改小,用 id 做细节限制。
2016-07-31 21:43:13 +08:00
回复了 tanteng 创建的主题 PHP 做一次关于现代化 PHP 的技术分享,大家有没有好的建议
@bullettrain1433 666 投赞成票!
2016-07-31 21:39:07 +08:00
回复了 tanteng 创建的主题 PHP 做一次关于现代化 PHP 的技术分享,大家有没有好的建议
@lianghudou 小弟不才,想看看哥哥“逻辑没被摧毁,思维清晰”的代码学习下可以么? (可以是任意语言)
2016-07-26 03:45:09 +08:00
回复了 gearh 创建的主题 程序员 除了 200 和 404 你们还会主动返回其他的 html status code 吗
其它的都是程序自动 throw 的。
2016-07-21 00:41:13 +08:00
回复了 livedutvchina 创建的主题 PHP 如何选择 PHP 框架?
@tabris17 如果你对轻量的定义就是是否能最大限度的利用计算机资源,那我们没在一个层次上讨论问题。 PHP 自然有他独特的适用场景,我们的讨论都是建立在这个场景之上(你要去使用),而不是深挖坟的说哇我不会横向扩容哦。
2016-07-20 10:45:01 +08:00
回复了 lampbrother 创建的主题 PHP 提升 PHP 编程效率的 20 个要素
10 年前的“优化指南”了。引擎升级无数次了都。
2016-07-20 10:41:45 +08:00
回复了 ChenKe 创建的主题 程序员 关于 PHP 框架 laravel 的一些小问题
@ChenKe 这就是不同数据类型的使用问题, 其实理应你自己理顺的。
为了更好的兼容性,建议你在模版中以数组方式输出。 因为即使是对象基本都实现了 ArrayAccess 接口, Eloquent 支持数组语法访问。
这个年代还有看源码体积决定是否使用的, 内存才多少钱:)
至于是否过度设计,看需求喽, Laravel 好在可以适合各种规模的设计。
2016-07-20 10:29:58 +08:00
回复了 ChenKe 创建的主题 程序员 关于 PHP 框架 laravel 的一些小问题
没提供任何有价值的信息。
2016-07-20 10:13:02 +08:00
回复了 LioMore 创建的主题 PHP 终于知道为什么 QQ 上搜不到 Laravel 相关的群了
我都提交好几次反馈了, 根本不给开。
2016-07-20 10:03:29 +08:00
回复了 DotKu 创建的主题 Amazon Web Services 日访问量 10 万的服务器结构应该怎么部署?
微服务架构哦,不错呦。
2016-07-20 09:51:24 +08:00
回复了 livedutvchina 创建的主题 PHP 如何选择 PHP 框架?
@tabris17 事实上,如果你想玩设计,也是可以的, 除了不支持对象持久化, oo 方面并没有明显的短板。

主要还是看你,在不基于 spring 、 bean 之类的框架之外, 自己能否写分层的东西来。
1  2  3  4  5  6  7  8  9  10 ... 11  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2846 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 00:28 · PVG 08:28 · LAX 17:28 · JFK 20:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.