在 Symfony 1.4 中使用特征

Using traits in Symfony 1.4

我试过在 Symfony 1.4 中对某些模型使用 Traits。 trait文件位于lib/model/MyTrait,内容如下:

<?php 
trait MyTrait {
   // some code
}

我在模型中使用它作为

<?php
class ModelPeer {
    use MyTrait;
    // some code
}

但它们似乎不起作用,因为我收到以下错误。

Fatal error: Trait 'MyTrait' not found in /lib/model/MyTrait.php

强烈建议您阅读这篇文章post。

https://capocasa.net/trait-with-symfony-1-4

您的问题似乎是 php 个版本。具体来说,是开发 symfony 1.4 的版本。因为它不支持特征。

正如它所解释的,为了让自动加载器加载你的特征,你必须子类化 symfony sfAutoloadConfigHandler 并将特征添加到使用的正则表达式中。

作为一个不太好的解决方法,我建议您在特性之前定义一些东西。这样,当 运行 你的 symfony 1.4 代码时,你可以确保它在范围内,像这样:

<?php
class UtterlyUseless {
} 
trait MyTrait {
   // some code
}