2011-10-11 106 views
0

我有一个回调函数用于验证基于YouTube或Vimeo API提交的视频URL(取决于他们提交的URL)。回调函数作为验证的一部分,根据我们从视频网站API返回的信息进行检查以验证其提交。从CodeIgniter控制器中的类级别的回调函数访问数据

所有的代码函数100%正确,我有适当的状态'返回到表单验证,但我们从YT或Vimeo API接收的其余数据我想在CodeIgniter中使用更高的链。问题在于,这些数据在课堂上是不可访问的,我通常会把它扔到视图中去。

是否有任何方法可以在我的控制器(验证发生的地方)的类级别访问回调函数中获取数组或数据集?我一直在哄骗自己试图弄清楚这一切都没有成功。

回答

2

您可以将验证(和其他API调用)放入存储响应的库对象中。我们假设这个库类名为YouTubeAPI,响应存储在名为'response'的成员中,并且该文件位于/libraries/youtube/YouTubeAPI.php中。

控制器中的验证功能可以使用控制器中的加载功能将此加载到CI中。

$this->load->library('youtube/YouTubeAPI'); 

这使得可使用

$r = $this->youtubeapi->response; // assign to arbitrary local variable 
在任何图书馆

或可用使用

$CI &= get_instance(); 
$r = $CI->youtubeapi->response; // assign to arbitrary local variable 

当使用自定义的验证回调的任何控制器或视图中,我通常使用的回调函数为一个包装到一个库或助手,做实际的验证。如果您必须在多个地方进行验证,这会使其保持干燥状态。

+0

非常好的建议!非常感谢@minboost :) –

相关问题