如何从控制器以外的地方呼叫服务
我有这样的服务
<?php
namespace Acme\TopBundle\MyServices;
class MyFunc
{
public function generateRandomString($length = 8) {
//
return $randomString;
}
}
我可以从控制器
调用此服务$this->get('myfunc')->generateRandomString()
但是来自控制器外部
$this->get('myfunc')->generateRandomString()
显示
FatalErrorException: Error: Call to undefined method Acme\AdminBundle\Admin\LessonAdmin::get() in
和
$this->container->get('myfunc')->generateRandomString()
显示
Undefined property: Acme\AdminBundle\Admin\UserAdmin::$container in /Users/daichi/httproot/muty/src/Acme/AdminBundle/Admin/UserAdmin.php
如何从控制器外部调用服务?
答案 0 :(得分:1)
访问容器或任何其他服务的最简单方法是使用依赖项注入组件。
您可以在documentation of dependency injection component中找到有关它的更多信息。 我建议你创建一个服务,你可以在这里找到如何创建一个服务service container documentation。