Php/Symfony/Symfony2/サービス作成
サンプルサービス作成
-src/Acme/HelloBundle/Services/SampleexampleService.php
namespace Acme\HelloBundle\Services;
use Symfony\Component\DependencyInjection\ContainerInterface as Container;
class SampleexampleService
{
public function __construct(Container $container) {
$this->container = $container;
}
public function exec() {
echo "exec!!";
}
}
サービスyml登録
-src/Acme/HelloBundle/Resources/config/services.yml
services:
acme_hello.sampleexample:
class: Acme\HelloBundle\Services\SampleexampleService
arguments: [@service_container]
-app/config/config.yml
imports:
- { resource: "@AcmeHelloBundle/Resources/config/services.yml" }
コントローラから呼び出し
-src/Acme/HelloBundle/Controller/ServiceexampleController.php
namespace Acme\HelloBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class ServiceexampleController extends Controller
{
public function indexAction()
{
$service = $this->container->get('acme_hello.sampleexample');
$service->exec();
return $this->render('AcmeHelloBundle:Serviceexample:index.html.twig');
}
}
twigを一応記述
-src/Acme/HelloBundle/Resources/views/Serviceexample/index.html.twig
serviceexample !