我最近将我的拼写/解析PHP代码移动到Codeigniter。它使用卷曲和SimpleHtmlDom类来检索从稍后由模型功能的若干其他库处理对象的URL数据。Codeigniter:加载视图逐步
有多次要求外部站点和API所以原来的PHP脚本了长达20秒加载完整的页面,但是OK因为PHP被分成若干块,而进程降低运行页面已经呈现HTML,用户可以读取HTML,而其余数据正在处理和显示。
切换到Codeigniter的问题是直到完全执行Controller脚本时,才会呈现HTML,即使数据进程被拆分为块并由单独的视图加载。
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class HomePage extends CI_Controller {
public function index()
{
$this->load->library('simple_html_dom');
$this->load->library('library1');
$this->load->library('library2');
$this->load->library('library3');
$this->load->model('HomePage_model');
$this->load->view('templates/header');
$targeturl = 'http://www.example.com';
$variable1 = library1::method1($targeturl);
$variable2 = $this->HomePage_model->method2($targeturl);
$data1 = array('variable1' => $variable1, 'variable2' => $variable2);
$this->load->view('first_set_of_data', $data1);
$variable3 = library2::method2($targeturl);
$variable4 = $this->HomePage_model->method3($targeturl);
$data2 = array('variable3' => $variable3, 'variable4' => $variable4);
$this->load->view('second_set_of_data', $data2);
$curlinfo = $this->HomePage_model->cURLmethod($targeturl);
$data3 = array('curlinfo' => $curlinfo);
$this->load->view('third_set_of_data', $data3);
$this->load->view('sidebar');
$this->load->view('templates/footer');
}
}
/* End of file homepage.php */
/* Location: ./application/controllers/homepage.php */
我并不想因此它的运行速度更快,优化我的代码,它已经多次修订......我想要做的就是负载意见逐步对应于每个数据视图已准备就绪,而其他视图的数据正在处理中。
在codeigniter或任何框架中执行此操作的最佳方法是使用** ajax **方法在加载页面后加载额外的数据。 – amd
感谢@Ahmad的帮助。我是新来的Ajax,你可以发展它如何实现或链接到一篇文章,我可以开始学习? – emman