簡體   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