学 php 的,想转 ruby~

2014-11-10 11:20:02 +08:00
 roys
搞了这么久的web开发当然也想做点其它的,综合考虑后开始学习ruby(ruby有rails还可以做许多php不擅长的)。
可是开始学用laravel后自己又动摇了。laravel 真的那么强?
laravel kept me from leaving PHP???
7483 次点击
所在节点    问与答
46 条回复
msg7086
2014-11-11 16:15:25 +08:00
@justplaymore 看了一下你说的querybuilder和criteria。
直观感受就是PHP语言本身的表现力还是不行。
很多Ruby里顺手就能做出来的结构,跑到PHP里我实在是想不出要怎么做才能做得一样优雅。
mahone3297
2014-11-11 16:20:11 +08:00
@justplaymore 但是关键就是,大家都说laravel好,完全没人理symfony,连出来骂symfony垃圾的人都没有。。。很好奇。。。
justplaymore
2014-11-11 16:51:00 +08:00
@mahone3297 从文档资料的语言来说,中文文档越多,上手速度也越快,文档语言门槛低,愿意去读的人也就多了,laravel和ci有中文文档和中文社区,而ci的分支kohana只有非常稀少的中文文档,就很少有人会去了解了,symfony的英文社区非常健全,但是中文文档的缺乏成了比较大的障碍,这只是从文档语言上去分析。symfony的中文资料比较少,就算有,要理解也是需要很多基础的,他也有短板,就是性能比较弱,当然这可以用其他办法解决。
justplaymore
2014-11-11 16:53:20 +08:00
@msg7086 从语言层面上讲ruby确实非常厉害,很多方便的特性,这点php真没法比,只能靠框架来模拟语言层所没有的东西,这点确实比较麻烦,不过很佩服那些写框架的人。
mahone3297
2014-11-11 17:00:50 +08:00
@justplaymore 恩,这话说的确实有点道理。
问个问题,db中,要用外键吗?symfony的doctrine,用oneToOne,oneToMany这种,就自动加外键了。entity之间调来调去,当然爽了,但是性能有影响了。
所以想问下,是否要用外键?如果不用`$blog->comments()`这种是不是使用不来了?
justplaymore
2014-11-11 17:31:35 +08:00
你说的这个调用模式和yii的relation比较类似,但是doctrine是orm,由entity生成表,这方面我不太了解,你可以查下doctrine的文档。
yii里的relation可以手动定义两个表之间的关联字段(逻辑外键),而不用在数据库里创建对应的外键,最好的办法还是你自己试一下。

entity关联调用是会引起性能问题,但这个在yii里调用relation粗分为2种方式Lazy Loading和Eager Loading,Eager Loading在查询结果前将2张表现做join,然后再进行查询,而Lazy Loading会导致一条记录查询一次sql,性能很低。

doctrine应该也有类似的机制可以解决性能问题。

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

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

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

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

© 2021 V2EX