2012-05-07 31 views
8

我想知道應用程序的兩個系統的根,例如。 /var/www/app//app/用於文件上傳的目的。當我上傳時,我相信我需要「系統」目錄名稱,用於Web前端的鏈接,我需要「相對」路徑。我如何獲得這些信息?在Symfony 2應用程序中獲取應用程序根URL和目錄名稱

在以前的項目,我在app*.php文件中定義的常量(前端控制器)

define('APP_ROOT', __DIR__); 

想知道那裏有一個更好的辦法?

回答

16

在任何ContainerAware類你可以得到由網站目錄的位置,

$this->container->get('kernel')->getRootdir().'/../web'; 
+0

嗯...我在我的學說模式壽...我想我會用我的舊方法。我應該記住這一點。 –

+2

如果項目可能託管在Windows環境中,使用DIRECTORY_SEPARATOR而不是'/'來定義各種路徑不應該是一個好習慣嗎? –

+0

@BiggieMac http://alanhogan.com/tips/php/directory-separator-not-necessary – maryisdead

9

如果容器不可用,則可以使用dependency injection:設置%kernel.root_dir%作爲服務配置參數上您的課。

相關問題