所有使用 namespace 的 php 框架,一律无视

2014-05-12 16:00:02 +08:00
 ddyy
php的命名空间是全世界最丑陋最难用的命名空间,亲爱的Yii 2.0也开始使用namespace了,Yii已死,有事烧纸。
9515 次点击
所在节点    PHP
40 条回复
lizheming
2014-05-12 16:27:32 +08:00
好吧,其实我也是....看到用namespace的就觉得蛋疼...
barbery
2014-05-12 16:42:12 +08:00
我觉得namespace好用啊,不过sublime 等IDE都不会识别倒是真的。。。
66beta
2014-05-12 16:45:51 +08:00
还好吧,只是在我朝的虚拟主机上,全部死
ddyy
2014-05-12 16:46:30 +08:00
@barbery 如果用过python的namespace,对php的namespace看都不愿看一眼。ruby的namespace都比php的好用
saharabear
2014-05-12 16:53:25 +08:00
为什么说难用?
nantmpeter
2014-05-12 17:28:56 +08:00
求科普下,卤煮,让我等涨涨姿势
CoX
2014-05-12 17:33:10 +08:00
那是不是只剩下CodeIgniter了
h2ero
2014-05-12 17:33:26 +08:00
很好用啊, 不支持namespace的框架现在还有人会用。
raincious
2014-05-12 17:33:36 +08:00
习惯了就好。已经看着这些namespace一年多了,默默地接受了,连自己的框架都支持了……当然楼主肯定是不会用的……

其实我觉得挺好的啊,把它当路径标识符用呗。
h2ero
2014-05-12 17:35:40 +08:00
现在流行的框架有几个没有用, 轻的重的,Zend Framework都用了。
ddyy
2014-05-12 17:38:28 +08:00
@raincious 用 “/” 都比用 “\” 好看,起码有路径的感觉,搞不明白当初为什么不用 / 反而选择了别扭的 \ ,听说委员会还是激烈争论以后决定使用 \
ddyy
2014-05-12 17:40:18 +08:00
@h2ero 框架在源代码里用是他们的事,别逼着用户使用框架的时候再引用一串 \ 就行,违和感太强烈了,使用命名前缀都比反斜线美观
ddyy
2014-05-12 17:41:10 +08:00
当然,有审美洁癖的人用php本身就是自虐
andyhu
2014-05-12 17:42:32 +08:00
个人习惯的问题,namespace比那种直接CXxxx的命名其实优雅很多,勇夺了就知道了
andyhu
2014-05-12 17:42:48 +08:00
更正错字,用多了
Monad
2014-05-12 18:07:05 +08:00
cxx 路过
谁能举个例子 我没看懂
莫非是yii\framework\listener这样的?
vigoss
2014-05-12 18:21:43 +08:00
结合composer命名空间挺无痛的。完全能分离目录和命名的关系。心随我动。用了可能有不舒服的地方,但是总比没用舒服多了。
Sunyanzi
2014-05-12 19:14:34 +08:00
这又是准备吵一场的节奏么 ... 嘛 ... 你要战那便战吧 ...

其实如果不拿 php 的 namespace 当个 namespace 而只是当个 prefix 的话还是挺好用的 ...

这东西作为一个 namespace 显然不够格 ... 但说它全世界最丑陋最难用 ... 怕也有失公允 ...

用我手边的代码举个栗子 ... 随便截了几行见下图 ...



那么聪明的你告诉我 ... 如果没有 namespace ... 这些类的 autoloading 如何做 ..?

都堆在同一个路径下 ..? 定义一个非常非常非常长的类名 ..? 写配置文件做依赖注入 ..?

虽然现在这个 namespace 的实现方式也不怎么优雅 ... 但至少比上面提及的三个方式要好多了 ...

至于 backslash 这个事情 ... 我也不喜欢 ...

但原因并不是因为不好看 ... 而是每次我在字符串里写命名空间的时候要写成 \\ 这样 ...

但没有办法 ... php 的领域里已经没有另外的特殊字符可以用作 namespace 了 ...

不管你喜欢与否这已经是无可改变的事实 ... 如果觉得实在无法接受请再也不要碰 php ...

相比起你不喜欢这个语法 ... 我更不喜欢的是对 namespace 的滥用 ...

一个文件一打开就是五十多行 use ... 不读代码 ... 光那个视觉效果就够让人目眩神迷了 ...

总而言之虽然 php 的 namespace 语法被广为诟病 ... 但也不是一无是处 ...

要指责的话指责那些写出烂程序的人去 ... namespace 好端端的招你惹你了冲它发什么火儿 ...
aisk
2014-05-12 19:28:31 +08:00
@ddyy / 的话和除操作会不会冲突?
raincious
2014-05-12 19:48:08 +08:00
@Sunyanzi 你可以不用\\这样写,照样能识别啊,又不会把A-Z转义了,难道有规范说必须写?。

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

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

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

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

© 2021 V2EX