Symfony 2 - 非捆绑库集成和定位
Symfony 2 - non bundle library integration and location
我完全关注 symfony 2 的最佳实践,我想将一个 php 库集成到项目中。图书馆是一个非捆绑包,一个简单的 php class 和一些方法。
我的问题紧跟在 following 之后,没有公认的答案。无论如何,根据我在这里阅读的内容,我决定自动加载 class,但不知道我应该在哪里找到 php 文件。
也许src/MyBundle/DependencyInjection/
?我真的很怀疑,因为图书馆不依赖于我拥有的其他服务。
我应该创建一个类似于 src/MyBundle/Services/
还是 src/MyBundle/Libraries/
的目录?
这里的最佳做法是什么?
如 b.enoit.be 所述,从 class 创建服务。
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');
...
}
}
?>
我完全关注 symfony 2 的最佳实践,我想将一个 php 库集成到项目中。图书馆是一个非捆绑包,一个简单的 php class 和一些方法。
我的问题紧跟在 following 之后,没有公认的答案。无论如何,根据我在这里阅读的内容,我决定自动加载 class,但不知道我应该在哪里找到 php 文件。
也许src/MyBundle/DependencyInjection/
?我真的很怀疑,因为图书馆不依赖于我拥有的其他服务。
我应该创建一个类似于 src/MyBundle/Services/
还是 src/MyBundle/Libraries/
的目录?
这里的最佳做法是什么?
如 b.enoit.be 所述,从 class 创建服务。
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');
...
}
}
?>