Symfony2 – Serviços # 1

Mantenha seu controlador fino

Esta é uma frase que você deve manter em mente quando estiver usando um framework MVC. A abordagem básica no desenvolvimento profissional é o código separado para os menores blocos lógicos. Por exemplo. se você tiver uma função para enviar um e-mail, não coloque a função diretamente no controlador. Em vez disso, crie e registre um serviço para ele e chame-o no controlador. Você pode manter seus controladores magros e seu código ficará mais legível.

Crie o serviço

Os serviços do Symfony2 são simplesmente objetos PHP simples. Imagine que você colocaria seu serviço em seu pacote:

# Your file is here:
# /src/ExampleVendor/SomeBundle/Service/ExampleService.php

namespace ExampleVendorSomeBundleService;

class ExampleService
{

function __construct()
{
# Add some code to run when object instance created
}

}

Cadastre o serviço

Agora você concluiu o serviço em si, mas precisa dizer ao framework para usá-lo. Edite seu services.yml em seu ‘SomeBundle / Resources / config / services.yml

services:

example_service
:
class: ExampleVendorSomeBundleServiceExampleService

Deixe-me dar uma explicação rápida. ‘example_service’ é um nome de referência do serviço. ‘class’ é para dizer ao framework qual classe php é usada para o seu serviço.

Use o serviço

Então agora seu serviço está pronto para uso. Vamos chamá-lo em um controlador:

class HelloController extends Controller
{

public function indexAction()
{
$exampleService
= $this->get('example_service');
}

}

Não tão rápido …

Nesta dica, expliquei como criar e registrar um serviço no Symfony2. Porém tenho certeza que você terá dependências do serviço. Por exemplo. quando você quer fazer algo com seu banco de dados. Na minha próxima dica profissional, explicarei como injetar dependência no serviço.