我已经从 Moose 返回到php开发,我真的很想念CLOS像php的对象模型。是否有某种合成糖可以让我在处理对象时在php中编写更少的代码

只是强调这个要求。我不想在几个地方写一件事。我可以使用自动生成的部分代码,但是在我必须要开发的代码中,我不希望看到冗余的信息(如果你真的需要更多的类比,请考虑:LISP宏)。所以这部分也可以称为DSL,如果这更有意义的话。

我希望至少拥有角色(mixins),以及某种内省而无需重新发明weel。代码生成器和自动加载器可能是解决此问题的至少一部分的一种方法。

P.S。对于JavaScript,有 Joose ,因此类似的API会非常有用。

有帮助吗?

解决方案 3

还有一个新项目 http://github.com/huberry/phuby ,它实现了角色在PHP!

其他提示

在php中还没有mixins,但是有一个特性的RFC可以大致相同。 http://wiki.php.net/rfc/traits

使用__call的重载可以允许您将方法分派给其他类并让它看起来像mixin。

Symfony项目有一个mixins机制,允许像CLOS一样的面向方面编程。就个人而言,我不喜欢用户空间中的这种黑客行为(至少不是用PHP)。我认为你最好使用该语言提供的功能,也许等待特质(或许)进入语言。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top