Symfony 2-интеграция и расположение библиотек без пакетов
Я все о лучшей практике symfony 2, и я хотел бы интегрировать библиотеку php в проект. Библиотека-это не связка, простой класс php с некоторыми методами.
Мой вопрос просто следует за следующим, который не имеет принятого ответа. В любом случае, из того, что я прочитал здесь, я решил загрузить класс автоматически, но понятия не имею, где я должен найти файл php.
Может быть src/MyBundle/DependencyInjection/
? Я действительно сомневаюсь в этом, так как библиотека не имеет зависимости от других услуг. иметь.
Должен ли я создать каталог типа src/MyBundle/Services/
или src/MyBundle/Libraries/
?
Какова здесь наилучшая практика?
1 ответ:
Как уже упоминалось b.enoit.be создайте службу из класса.
MyBundle / Service / MyServiceClass.php
<?php namespace MyBundle\Service; class MyService { ... }
App / config / services.yml
services: app.my_service: class: MyBundle\Service\MyService
Используйте его, например, в контроллере
MyBundle / Controller / DefaultController.php
<?php namespace MyBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; class DefaultController extends Controller { public function indexAction(Request $request) { ... // get the service from the container $yourService = $this->get('app.my_service'); ... } } ?>