基本上,我知道Partial和Render View之间的差异,但我需要更多细节,如何解决下面的问题。
在view.phtml模板中,我写了下面的代码。
foreach($this->pageUserActivity as $pageUserActivityItem) {
switch ($pageUserActivityItem->activityType) {
case 'likecommentcast':
echo $this->partial('activity/_likecommentcast.phtml', array('activityItem'=>$pageUserActivityItem,'loggedInUser'=>$this->loggedInUserStd, 'pageType' => $this->pageType));
break;
case 'cast':
echo $this->partial('activity/_cast.phtml', array('activityItem'=>$pageUserActivityItem,'loggedInUser'=>$this->loggedInUserStd, 'pageType' => $this->pageType));
break;
case 'castcomment':
echo $this->partial('activity/_castcomment.phtml', array('activityItem'=>$pageUserActivityItem,'loggedInUser'=>$this->loggedInUserStd, 'pageType' => $this->pageType));
break;
}
}
现在,如果活动有youtube链接,那么我需要使用Zend_Gdata_ClientLogin :: getHttpClient&获取数据。 Zend_Gdata_YouTube并嵌入数据如下。
$email = Zend_Registry::get('config')->google->email;
$passwd = Zend_Registry::get('config')->google->password;
try {
$client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, Zend_Gdata_YouTube::AUTH_SERVICE_NAME);
} catch (Zend_Gdata_App_CaptchaRequiredException $cre) {
echo 'URL of CAPTCHA image: ' . $cre->getCaptchaUrl() . "\n";
echo 'Token ID: ' . $cre->getCaptchaToken() . "\n";
} catch (Zend_Gdata_App_AuthException $ae) {
echo 'Problem authenticating: ' . $ae->exception() . "\n";
}
$youtube = new Zend_Gdata_YouTube($client,'{API_KEY}');
我在所有三个文件中都有上面的代码(activity / _cast.phtml,activity / _likecommentcast.phtml,activity / _castcomment.phtml)但这会使脚本变慢,因为我一直在调用login api。我希望任何活动已经有youtube链接,我们已经启动$ client和$ youtube然后再次使用它,如果进一步的feed有youtube链接而不是一次又一次地启动$ client和$ youtube。