0

我创建了一个自定义类,其中的方法很少。例如

 class MyClass{

  method1 ();

  method2();
}

现在我想创建这个类的对象并在控制器方法中使用它

类默认控制器{

public function myAction()
{
  //here I want to able to create object of MyClass, is it possible? 
}

}

Q1。我应该在哪里存储这个类在 symfony2 structuere 中,例如在 src 目录中?

Q2。如何在包的控制器中使用此类方法?

4

1 回答 1

1

如果您将类放在 src 文件夹中,它将被自动加载,即:您可以简单地执行以下操作:

$foo = new \MyClass();
$foo->method1();

在你的控制器中。

一个好的方法是将您的类放在您可能使用它们的 Bundle 中:

src/YourCompany/YourBundle/MyClass.php

但是,不要忘记将命名空间声明放在 MyClass 文件的顶部:

namespace YourCompany\YourBundle;
class MyClass{
   //..
}

您可以将类放在包的基本文件夹中,或使用其他嵌套文件夹来更好地区分一组类,例如:

src/YourCompany/YourBundle/Listener/MyClassListener.php
src/YourCompany/YourBundle/Manager/MyClassManager.php

有关更多信息,请参阅Symfony2 Bundles 结构的最佳实践

于 2013-05-13T10:39:19.377 回答