Zend Framework:部分视图和渲染视图有什么区别?如何在局部使用全局变量?

时间:2014-11-24 16:13:32

标签: php zend-framework youtube

基本上,我知道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。

0 个答案:

没有答案