繁体   English   中英

如何防止Codeigniter应用程序的加载时间缓慢

[英]How to prevent slow load time of codeigniter application

我在codeigniter框架上构建应用程序。 我有四种类型的用户

  • 管理员
  • 老师
  • 学生
  • 父母

并且我为上述用户创建了不同的控制器和相同的模型文件。 另外,每个控制器文件的最小大小为150KB,并且我的应用程序的加载速度比预期的慢。 所以,如果我将控制器功能划分为不同的文件,并将模型功能划分为不同,那么我的应用程序将比现在更快。

我不确定哪个部分会花费您时间,但是您在此控制器功能中混合了很多操作,所有数据库操作和读数应在模型中完成

此外,如果您想知道哪些因素会使您的应用程序变慢,Codeigniter会提供出色的基准测试和性能分析工具

如果要查看摘要,则应使用Profiler类-它会显示一些基准测试结果

只需将此行放在您的控制器中

$this->output->enable_profiler(TRUE);

有关更多信息,请查看文档-以下是链接

Codeigniter探查器

基准班

这是退回书系统的功能

 /**********MANAGE LIBRARY/ BOOK RETURN********************/ function book_return($param1 = '', $param2 = '', $param3 = '') { if ($this->session->userdata('admin_login') != 1) redirect('login', 'refresh'); if($param1 == 'create'){ $issue_id = $param2; $issued_info = $this->crud_model->get_issued_info_for_return($issue_id); foreach($issued_info as $row) { $data['book_id'] = $row['book_id']; $data['member_type'] = $row['member_type']; $data['member_id'] = $row['member_id']; $data['issue_date'] = $row['issue_date']; $issue_id = $row['issue_id']; } $data['returned_date'] = date("Y/m/d"); $data['status'] = 1; $this->db->insert('book_return', $data);//can return as default $stock = $this->crud_model->check_max_available_book_no($data['book_id']); $dataUpdate['copy_no'] = $stock+1; // as returned +1 the copy no of to the book store $this->db->where('book_id', $row['book_id']); $this->db->update('book', $dataUpdate); // as returned, delete the issue list to the related issue id $this->db->where('issue_id', $param2); $this->db->delete('book_issue'); $this->session->set_flashdata('flash_message' , get_phrase('book_returned_successfully')); redirect(base_url() . 'index.php?admin/book_return', 'refresh'); } if ($param1 == 'do_update') { $data['issue_date'] = $this->input->post('issue_date'); $data['book_id'] = $this->input->post('book_id'); $data['member_type'] = $this->input->post('user_type'); $data['member_id'] = $this->input->post('member_id'); //$data['return_date'] = date('Y/m/d', strtotime($data['issue_date']. ' + '.$this->curd_model->get_max_borrow_days($set_id, $mem_type).' days')); $data['lib_setting_id'] = $this->input->post('lib_setting_id'); $data['status'] = 1; $this->db->where('set_id', $param2); $this->db->update('library_setting', $data); $this->session->set_flashdata('flash_message' , get_phrase('data_updated')); redirect(base_url() . 'index.php?admin/library_setting', 'refresh'); } else if ($param1 == 'edit') { $page_data['edit_data'] = $this->db->get_where('library_setting', array( 'set_id' => $param2 ))->result_array(); } if ($param1 == 'delete') { $this->db->where('return_id', $param2); $this->db->delete('book_return'); $this->session->set_flashdata('flash_message' , get_phrase('return_deleted')); redirect(base_url() . 'index.php?admin/book_return', 'refresh'); } $page_data['serialNo'] = 1; $page_data['serialNum'] = 1; $page_data['book_return_by_staff'] = $this->crud_model->get_book_return_list(2); $page_data['book_return_by_student'] = $this->crud_model->get_book_return_list(1); $page_data['page_name'] = 'book_return'; $page_data['page_title'] = get_phrase('book_return'); $this->load->view('backend/index', $page_data); } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM