0

如何从控制器以外的地方调用服务

我有这样的服务

<?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

如何从控制器外部调用服务?

4

1 回答 1

1

访问容器或任何其他服务的最简单方法是使用依赖注入组件。

您可以在依赖注入组件的文档中找到更多相关信息。我建议您创建一项服务,您可以在此处找到如何创建一个服务容器文档

于 2013-07-02T19:49:41.570 回答