2013-09-23 54 views

回答

9

getcwd()會做你的需要。你可以從任何目錄執行app/console,PHP會知道它是哪一個。

我用下面的例子來驗證這一點。

<?php 

namespace Acme\DemoBundle\Command; 

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; 
use Symfony\Component\Console\Input\InputArgument; 
use Symfony\Component\Console\Input\InputInterface; 
use Symfony\Component\Console\Input\InputOption; 
use Symfony\Component\Console\Output\OutputInterface; 

class DemoCommand extends ContainerAwareCommand 
{ 
    protected function configure() 
    { 
     $this 
      ->setName('demo:cwd') 
      ->setDescription('Get Current Working Directory') 
     ; 
    } 

    protected function execute(InputInterface $input, OutputInterface $output) 
    { 
     $output->writeln(getcwd()); 
    } 
} 
+1

謝謝。當從控制器(即網頁)執行命令時,這是否工作? – gremo

+1

剛剛在控制器操作中進行了Symfony進程的測試,它當然可以工作。你打算用'Symfony \ Component \ Process \ Process'執行你的命令嗎? –

+1

是的,也許執行和捕獲輸出,但它第一次將作爲一個簡單的控制檯應用程序運行。真的非常感謝你的幫助! – gremo

相關問題