Desenvolupament d'Aplicacions

Què són els serveis de Symfony?

La programació orientada a objectes es basa en que hi ha unes classes que realitzen determinades funcions. Un servei és un objecte de PHP que realitza una tasca global, accessible desde qualsevol part de l'aplicació.

Què són els serveis de Symfony?

Com funcionen els serveis de Symfony?

Els serveis funcionen de forma independent a la resta de l'aplicació, a fi de comptes, són classes independents.

Exemple d'un servei de Symfony

Suposem que volem guardar una plantilla a una variable, per això haurem de cridar al servei "templating" que és el que s'encarrega de renderitzar les plantilles.

El primer pas és cridar al servei, per això hem de cridar al contenidor de serveis des del controlador i desprès mitjançant la funció “get” obtenir el servei que volguem:

$templating = $this->container->get(“templating”);

Ara podem interactuar amb el servei:

$html = $templating->render(“Default/index.html.twig”);

Crear un servei propi

Seguint l'exemple present a la documentació de Symfony, el primer és crear una simple classe que serà el servei, dintre de qualsevol directori del nostre Bundle.

// src/AppBundle/Newsletter/NewsletterManager.php

namespace AppBundle\Newsletter;

use AppBundle\Mailer;

class NewsletterManager

{

    // ...

}

Desprès al fitxer services.yml declarem el servei. Simplement l'hem assignat un nom “app.newsletter_manager” i l'indiquem on està la classe a carregar:

# app/config/services.yml

services:

    app.newsletter_manager:

        class:     AppBundle\Newsletter\NewsletterManager

Per cridar al servei des del controlador:

$service = $this->container->get(“app.newsletter_manager”);

Desprès podem executar qualsevol funció del servei.

Comparteix aquest article

Articles Relacionats