我是Symfony2的新手,我遇到了一些簡單的問題,但我不確定如何管理它。我需要使用一個簡單的第三方類,我不知道在哪裏以及如何將它存儲在項目結構中。我應該存儲在我的軟件包中的服務,或者我應該將其存儲在供應商目錄中?如果我將它存儲在供應商中,那麼在那裏存儲那些不受Symfony支持的供應商的庫是不是一種不好的做法?在Symfony2中存儲簡單第三方類的位置?
6
A
回答
4
通常你會在你的項目中加入Composer。我建議你看看packagist看看你的課堂是否有一個Composer軟件包,否則你不能要求它與作曲家合作。
作曲家將你的課程放在vendor
目錄中,你應該把所有'供應商'(第三方庫)放在那裏。看看把它們放在那個目錄中的位置,這樣Composer自動加載器可以自動加載它。
之後,建議爲該特定類創建一個包。在那裏創建服務是最佳做法。舉例來說,如果你的類是Foo
您創建加載Foo
服務Acme\FooBundle
:
// src/Acme/FooBundle/DependencyInjection/AcmeFooExtension.php
<?php
namespace Acme\FooBundle\DependencyInjection;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
class AcmeFooExtension extends Extension
{
/**
* this method loads the Service Container services.
*/
public function load(array $configs, ContainerBuilder $container)
{
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
// load the src/Acme/FooBundle/Resources/config/services.xml file
$loader->load('services.xml');
}
<!-- src/Acme/FooBundle/Resources/config/services.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<!-- Loads the \Foo class as a acme_foo.foo service -->
<service id="acme_foo.foo"
class="\Foo"
></service>
</services>
</container>
1
Symfony本身在供應商文件夾中存儲第三方庫。是good practice也可以讓你的第三方課程
如果你不知道該怎麼做,可能this question會有所幫助。
1
相關問題
- 1. 存儲位置信息,或使用第三方來源?
- 2. 存儲第三方憑證
- 3. Symfony2 - FOSBundle FosBundle存儲SessionIDs的位置?
- 4. 在VS 2008中存儲第三方DLL的最佳方式+
- 5. 在Laravel 4中放置第三方API的位置
- 6. 在Android中放置第三方推送碼的位置?
- 7. 設置吞嚥時我在哪裏存儲第三方插件?
- 8. 在家中設置Maven存儲庫的簡單方法Tomcat
- 9. 無法加載Symfony2中的第三方類
- 10. 第三方存儲信用卡信息?
- 11. 從第三方讀取Linux存儲庫
- 12. 第三方密鑰存儲提供商
- 13. Symfony2:清理緩存並設置權限的簡單方法?
- 14. 在簡單的vb.net表格中嵌入了第三方EXE
- 15. Java - 在Linux上放置第三方JAR並設置類路徑的位置
- 16. 最好的方法來存儲三種類型的位?
- 17. 如何在Rails中存儲第三方服務的憑證
- 18. 在ES/CQRS中獲取第三方數據的最佳位置
- 19. 第三方API調用在域驅動設計中的位置?
- 20. C++單元測試和存儲第三方C庫
- 21. Symfony2 - 使用第三方庫(SSRS)
- 22. 將第三方應用程序存儲在工件存儲庫中
- 23. 爲第三方生成存根類WS
- 24. 簡單的JSON的Java存儲方法
- 25. 在第三方服務器上保存第三方圖像
- 26. 在appengine中存儲單個時間戳的最簡單方法
- 27. symfony2中的自定義存儲庫類
- 28. Symfony2中的自定義存儲庫類
- 29. 在MVC項目中放置簡單類的位置?
- 30. Symfony2定製存儲庫類