【问题标题】:Silex/Symfony creating traitsSilex/Symfony 创建特征
【发布时间】:2014-02-05 17:21:02
【问题描述】:

我创建了一个特征并尝试使用它,但我遇到了应用程序对象没有该方法的错误。

Call to undefined method Silex\Application::phrase()

尝试使用

use \Language\LanguageTrait
$app->phrase() 

这就是语言特征。

namespace Language;

use Silex\Application;

trait LanguageTrait
    {
        public function phrase ($phrase, $replacements = array())
        {
            $language = $this['language'];

            return $language->phrase($phrase, $replacements);
        }
    }

我已经尝试过使用其他内置特征,例如 URLServiceProvider 特征,但我得到了同样的错误,所以我认为我用错了。

【问题讨论】:

    标签: symfony traits silex


    【解决方案1】:

    听起来您正在使用默认的 Silex\Application 类。文档不清楚您必须实际创建一个扩展默认值的自定义应用程序,然后对其进行初始化。例如:

    class CustomApplication extends Silex\Application {
        use YourTrait;
    }
    $app = new CustomApplication();
    

    希望这会有所帮助。你可以在http://silex.sensiolabs.org/doc/usage.html#traits找到更多关于traits的信息

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多