代码之家  ›  专栏  ›  技术社区  ›  dpavlin

PHP类CLOS对象模型

  •  4
  • dpavlin  · 技术社区  · 16 年前

    我已从返回到PHP开发 Moose 我真的很怀念PHP中类似CLOS的对象模型。有什么能让我写的语法糖吗 少码 在PHP中处理对象时?

    只是为了更强调这个要求。我不想在几个地方写一件事。我可以忍受部分代码是自动生成的,但是在我必须开发的代码中,我不想看到多余的信息,这些信息只是杂乱无章(想想:如果您真的需要更多的类比,可以使用lisp宏)。因此,如果这更有意义的话,这个部分也可以称为DSL。

    我想至少有 角色 (混音),还有一些 反省 不需要重新发明小草。代码生成器和自动加载器可能是解决这个问题的至少一部分的方法。

    对于javascript,有 Joose ,所以类似的API将非常有用。

    3 回复  |  直到 15 年前
        1
  •  2
  •   MOdMac    16 年前

    PHP中还没有混合函数,但是有一个RFC用于特性,其工作原理大致相同。 http://wiki.php.net/rfc/traits

    使用重载进行_uuu调用可以允许您将方法分派到其他类,并使其看起来像mixin。

        2
  •  1
  •   troelskn    16 年前

    这个 Symfony project has a mechanism for mixins ,允许像在CLOS中那样面向方面的编程。就个人而言,我不喜欢在userlandspace中进行这种黑客攻击(至少不喜欢使用PHP)。我认为你最好使用语言所提供的特性,也许等待一些特性(也许)进入语言。

        3
  •  0
  •   dpavlin    15 年前

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