PHP中的MVC運用

2021-08-26 13:09:20 字數 3240 閱讀 4490

11.15.2011, 架構, by admin.

首先我來舉個例子:

乙個簡單的文章顯示系統

簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。

由於只涉及資料庫的讀取,所以我定義了兩個inte***ce

1inte***ce dataoperation

2

上面這inte***ce定義了讀取資料的介面,select方法將返回所需要的文章。selectnum方法返回文章的總數,這是分頁顯示時用到的。$info是乙個陣列,用來存放查詢條件

1inte***ce datasource

2

這裡我們假定我們操作的是資料庫,datasource定義乙個介面,所有實現該介面的例項類將得到乙個靜態物件

01inte***ce controller

02

07inte***ce view

08

好了,我們來實現.

下面定義乙個類來實現datasource介面,這個類運用了單例模式

01classdatabasesourceimplementsdatasource

02

10returnself::$instance;

11}

12}

定義乙個抽象類來實現dataoperation,我們要共享乙個資料庫連線,所以我在抽象類中將這個資料庫物件初始化,這樣,所有的子類都能共享這個物件

01abstractclassdatabaseoperationimplementsdataoperation

02

08publicfunctionselect($info);

09publicfunctionselect($info);

10}

下面我來寫乙個業務子類來實現抽象類databaseoperation

01classtechextendsdatabaseoperation

02

07publicfunctionselectnum($info)

08

11}

業務邏輯層我們實現了,下面是控制層

01classviewcontrollerimplementscontroller

02

08publicfunctionpop($key)

09

12publicfunctionexecute($key)

13

16}

好了,下面是表現層,這裡將實現inte***ce view

1abstractarticleviewimplementsview

2

9}

具體的頁面,例如科技文章的顯示頁面

1classtecharticleviewextendsarticleview

2

7}

好了,下面是總入口index.php

01try

02

10catch(exception$e)

11

php中的MVC模式運用

php中的mvc模式運用 首先我來舉個例子 乙個簡單的文章顯示系統 簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個inte ce inte ce dataoperation 上面這inte ce定義了讀取資料的介面,s...

php中的MVC模式運用

首先我來舉個例子 乙個簡單的文章顯示系統 簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個inte ce inte ce dataoperation 上面這inte ce定義了讀取資料的介面,select方法將返回所需要...

php中的MVC模式運用

首先我來舉個例子 乙個簡單的文章顯示系統 簡單期間,我們假定這個文章系統是唯讀的,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個inte ce inte ce dataoperation 上面這inte ce定義了讀取資料的介面,select方法將返回所需要...