A PHP Error was encountered

Severity: Warning

Message: Declaration of Administrator::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: system/Administrator.php

Line Number: 259

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Administrator::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: system/Administrator.php

Line Number: 281

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Menu::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: system/Menu.php

Line Number: 82

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Menu::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: system/Menu.php

Line Number: 95

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of MenuCategory::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: system/MenuCategory.php

Line Number: 58

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/Menu.php
Line: 29
Function: model

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of MenuCategory::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: system/MenuCategory.php

Line Number: 68

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/Menu.php
Line: 29
Function: model

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Logo::upload_image($sub_idx) should be compatible with MY_Model::upload_image($idx, $temp_key = NULL)

Filename: system/Logo.php

Line Number: 100

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 12
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Logo::delete_image($sub_idx = NULL) should be compatible with MY_Model::delete_image($idx, $temp_key = NULL)

Filename: system/Logo.php

Line Number: 119

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/BackPlatform.php
Line: 12
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of SEO::insert($property, $property_idx, $data) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: system/SEO.php

Line Number: 129

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of SEO::update($property, $property_idx, $data) should be compatible with MY_Model::update($idx, $data)

Filename: system/SEO.php

Line Number: 151

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of SiteInfo::get() should be compatible with MY_Model::get($idx)

Filename: system/SiteInfo.php

Line Number: 24

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of SiteInfo::update() should be compatible with MY_Model::update($idx, $data)

Filename: system/SiteInfo.php

Line Number: 37

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Google::update() should be compatible with MY_Model::update($idx, $data)

Filename: system/Google.php

Line Number: 34

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 7
Function: __construct

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Article.php

Line Number: 257

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Article.php

Line Number: 285

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article::upload_image($idx, $sub_idx) should be compatible with MY_Model::upload_image($idx, $temp_key = NULL)

Filename: customize/Article.php

Line Number: 307

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article_category::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Article_category.php

Line Number: 49

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 31
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article_category::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Article_category.php

Line Number: 61

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 31
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Article_tag::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Article_tag.php

Line Number: 71

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 32
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of A2t::insert($article_idx, $tag_idx) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/A2t.php

Line Number: 134

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Article_tag.php
Line: 20
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 32
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of A2p::insert($article_idx, $product_idx) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/A2p.php

Line Number: 134

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 33
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Product::insert($temp_key) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Product.php

Line Number: 288

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/A2p.php
Line: 19
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 33
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Product::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Product.php

Line Number: 305

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/A2p.php
Line: 19
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 33
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Product_category::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Product_category.php

Line Number: 189

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Product.php
Line: 39
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/A2p.php
Line: 19
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 33
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Product_category::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Product_category.php

Line Number: 202

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/customize/Product.php
Line: 39
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/A2p.php
Line: 19
Function: model

File: /home2/beta/public_html/lupopi/application/models/customize/Article.php
Line: 33
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 8
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of A2c::insert($article_idx, $category_idx) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/A2c.php

Line Number: 132

Backtrace:

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 14
Function: model

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Tracking_code::insert($temp_key) should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Tracking_code.php

Line Number: 35

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Tracking_code::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Tracking_code.php

Line Number: 47

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of About::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/About.php

Line Number: 25

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 10
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of About::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/About.php

Line Number: 36

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 10
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Service::insert() should be compatible with MY_Model::insert($data, $temp_key = NULL)

Filename: customize/Service.php

Line Number: 25

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 11
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Service::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Service.php

Line Number: 38

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 11
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Front_menu::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Front_menu.php

Line Number: 102

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 12
Function: model

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

如何改寫核心元件 CI_Model - CodeIgniter

A PHP Error was encountered

Severity: Warning

Message: Declaration of User::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/User.php

Line Number: 89

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/user_helper.php
Line: 23
Function: model

File: /home2/beta/public_html/lupopi/application/views/front/common/menu_mobile.php
Line: 17
Function: is_user_login

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 66
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Cart_setting::get() should be compatible with MY_Model::get($idx)

Filename: system/Cart_setting.php

Line Number: 18

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/Cart.php
Line: 11
Function: model

File: /home2/beta/public_html/lupopi/application/helpers/cart_helper.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/views/front/common/menu_mobile.php
Line: 23
Function: get_cart_quantity

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 66
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Cart_setting::update() should be compatible with MY_Model::update($idx, $data)

Filename: system/Cart_setting.php

Line Number: 31

Backtrace:

File: /home2/beta/public_html/lupopi/application/models/system/Cart.php
Line: 11
Function: model

File: /home2/beta/public_html/lupopi/application/helpers/cart_helper.php
Line: 9
Function: model

File: /home2/beta/public_html/lupopi/application/views/front/common/menu_mobile.php
Line: 23
Function: get_cart_quantity

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 66
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 207
Function: get_header_footer

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

0

A PHP Error was encountered

Severity: Warning

Message: Declaration of Page_banner::update($idx) should be compatible with MY_Model::update($idx, $data)

Filename: customize/Page_banner.php

Line Number: 98

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 153
Function: model

File: /home2/beta/public_html/lupopi/application/views/front/blog/main.php
Line: 1
Function: get_page_banner

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 214
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Declaration of Page_banner::upload_image($idx, $sub_idx) should be compatible with MY_Model::upload_image($idx, $temp_key = NULL)

Filename: customize/Page_banner.php

Line Number: 110

Backtrace:

File: /home2/beta/public_html/lupopi/application/helpers/header_helper.php
Line: 153
Function: model

File: /home2/beta/public_html/lupopi/application/views/front/blog/main.php
Line: 1
Function: get_page_banner

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 214
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Trying to access array offset on value of type bool

Filename: blog/detail.php

Line Number: 19

Backtrace:

File: /home2/beta/public_html/lupopi/application/views/front/blog/detail.php
Line: 19
Function: _error_handler

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 213
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

" alt="

A PHP Error was encountered

Severity: Notice

Message: Trying to access array offset on value of type bool

Filename: blog/detail.php

Line Number: 19

Backtrace:

File: /home2/beta/public_html/lupopi/application/views/front/blog/detail.php
Line: 19
Function: _error_handler

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 213
Function: view

File: /home2/beta/public_html/lupopi/application/controllers/Blog.php
Line: 224
Function: article

File: /home2/beta/public_html/lupopi/index.php
Line: 317
Function: require_once

" class="img-fluid">

如何改寫核心元件 CI_Model - CodeIgniter

未分類
(這篇欠超久)

CodeIgniter 寫久了

就會發現其實模式很固定



Controller 跟 Model 裡面的 function 大概就那些

用 Copy 的容易發生錯誤



於是就想把它變成 default 的 function

只要把 code 填進去

或是用參數來決定就好



例如 Model 是控制資料庫資料存取的

基本上一定會有

create/select/update/delete 幾個動作



如果能把這些 function 先寫好

在把欄位的部份抽出來變成設定

那就可以少掉很多功夫

debug 也會更方便



改寫的方法如下

首先 先在 application/core 內建立一個 MY_Model.php 的檔案



檔案裡面的內容如下

註: 底下程式直接執行會有一些變數未定義的錯誤

因為我已經把一些設定值拔掉

目的只是純粹表達概念



<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

class MY_Model extends CI_Model
{
public function __construct($config=array())
{
parent::__construct();
}

public function get($idx)
{
$this->db->select('*');
$this->db->where('idx', $idx);

$res = $this->db->get($this->table);
$item = $res->row_array();

if(empty($item)) return null;
}

public function insert($data)
{
$this->db->insert($this->table, $data);
$idx = $this->db->insert_id();

$this->Item_order->update_order_idx($this->table, $idx);
if($this->image_upload)
$this->upload_image($idx);

$this->SEO->update_by_form($this->model_name, $idx);
$this->Modify_history->insert($this->model_name, $idx, 'insert');
return $idx;
}

public function update($idx, $data)
{
$this->db->where('idx', $idx);
$this->db->update($this->table, $data);
if($this->image_upload)
$this->upload_image($idx);

$this->SEO->update_by_form($this->model_name, $idx);
$this->Modify_history->insert($this->model_name, $idx, 'update');
return $idx;
}

public function delete($idx)
{
$this->db->where('idx', $idx);
$this->db->delete($this->table);
}
}

/* End of file MY_Model.php */
/* Location: ./application/core/MY_Model.php */





裡面有一些存取 db 的基本 function

對 db 來說, 可能都會類似像 get 這個 function 一樣

傳入一些固定的值

然後從 db 取值, 或是寫值進去



寫入什麼資料欄位 由外部傳入

重複的部份都放進這個 MY_Model 的 class 裡面



像我有些模組可能需要上傳圖片

寫一些 SEO 資訊

跟記錄這筆資料是誰變更的

這些瑣碎但是固定的事情

都可以移到這層來

以後要修改就不用每個 model 都改

充分發揮物件導向的特性



寫好以後

如果有要繼承這個 base class 的 model

可以這樣寫





<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Banner extends MY_Model {

public function __construct()
{
parent::__construct($config);

}

public function insert()
{
$data = array();
$data['title'] = $this->input->post('title');
$data['link'] = $this->input->post('link');

$idx = parent::insert($data);
return $idx;
}

public function update($idx)
{
$data = array();
$data['title'] = $this->input->post('title');
$data['link'] = $this->input->post('link');

$idx = parent::update($idx, $data);
return $idx;
}


}

/* End of file banner.php */
/* Location: ./application/model/customize/banner.php */






注意

繼承的部份已經從 CI_Model 改成 MY_Model 了

其他寫好就都一樣

寫你想寫的步驟跟流程

但是不一樣的是

這層的 code 就更少了



只要把一些要操作的資料準備好

往 MY_Model 丟就好了



甚至像 get 這種拔辣的 function

根本不用寫

直接用 MY_Model 的 function 就好了



以後新增 model 的時候

copy 的 code 變少了

要改的 code 也少很多



這樣 bug 應該可以少很多

製作時間也可以縮短


真是一整個歡樂





結論

其實一個系統好好研究

可以改良的地方真的很多

別小看這些小動作

節省時間 提昇效率 減少錯誤

就可以賺更多錢