수색…
Symfony2에서 간단한 서비스를 선언하고 쓰고 사용하는 법
서비스 신고 :
# src/Acme/YourBundle/Resources/config/services.yml
services:
my_service:
class: Acme\YourBundle\Service\MyService
arguments: ["@doctrine", "%some_parameter%", "@another_service"]
another_service:
class: Acme\YourBundle\Service\AnotherService
arguments: []
서비스 코드 :
<?php
namespace Acme\YourBundle\Service\Service;
class MyService
{
/**
* Constructor
* You can had whatever you want to use in your service by dependency injection
* @param $doctrine Doctrine
* @param $some_parameter Some parameter defined in app/config/parameters.yml
* @param $another_service Another service
*/
public function __construct($doctrine, $some_parameter, $another_service)
{
$this->doctrine = $doctrine;
$this->some_parameter = $some_parameter;
$this->another_service = $another_service;
}
public function doMagic()
{
// Your code here
}
}
컨트롤러에서 사용 :
<?php
namespace Acme\YourBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Acme\YourBundle\Service\Service\MyService;
class MyController extends Controller
{
/**
* One action
*/
public function oneAction(Request $request)
{
$myService = $this->get('my_service');
$myService->doMagic();
// ...
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow