0
我對symfony的理解有時並非恆星。我剛剛遇到了這個問題,我真的不知道如何在這種情況下傳遞一個變量,但不幸的是不知道該看什麼才能更好地理解我在做什麼。如何在symfony 1.4中將變量傳遞給前端/ lib中的類
我不能在類中使用$this->getUser
,因爲它在symfony模式之外(顯然是?),所以將它存儲在會話中不是一個選項。
我已經嘗試過不同的方法傳遞變量,但是...我想我只是沒有做到這一點,因爲不清楚這種信息交換如何在這種情況下工作。
的代碼是在這裏,住在該文件夾的應用程序/前端/ lib目錄下:
public function postCompletedForm($campaign_id, $hp_affiliate_id, $params = array(), &$response)
{
$params[ 'ip_address' ] = $_SERVER[ 'REMOTE_ADDR' ];
if (isset($ip_override)) //this is what I need to pass in
{
$params[ 'ip_address' ] = $ip_override;
}
$params[ '__timestamp' ] = date('Y-m-d H:i:s');
$response = $this->sfWebBrowser->post($this->api_endpoint . 'post/' . $campaign_id . '/' . $hp_affiliate_id . '/', $params)->getResponseText();
return (preg_match('/(1<\/SUCCESS>)/', $response)) ? true : false;
}
它使用一個動作前端內的模塊中也是如此。這真的不是一個大工作,我知道答案會非常簡單。我只是不知道要尋找什麼,因爲我知道的PHP和框架讓我失望。
感謝您的幫助!如果這是一個荒謬的問題,我很抱歉。有一些我幾乎沒有碰到的方面,儘管很奇怪。
哇,就像那樣。很簡單,哈哈。這種方法有沒有更好的方法或任何潛在的併發症?順便說一句,非常感謝。 –
沒有上下文時可能會出現問題。例如,運行CLI命令時。如果你知道這個代碼有可能在沒有上下文的情況下調用,那麼你應該用if(sfContext :: hasInstance())來包裝它。 – petraszd
有趣的** [arcticle](http://webmozarts.com/2009/07/01/why-sfcontextgetinstance-is-bad/)** – denys281