完成封裝MVC(五)後,首先是在我們的/application/controller/ 目錄下面新建一個站點控制器類爲ItemsController,命名爲itemscontroller.php,內容爲:
<?php
class ItemsController extends Controller {
function views($id = null,$name = null) {
$this->view('view',array('todo'=>$this->Item->select($id),'title'=>$name.' - My Todo List App'));
}
function viewall() {
$this->view('viewall',['todo'=>$this->Item->selectAll(),'title'=>'All Items - My Todo List App']);
}
function add() {
$todo = $_POST['todo'];
$items = $this->Item->query('insert into items (item_name) values (\''.mysql_real_escape_string($todo).'\')');
$this->view('add',['title'=>'Success - My Todo List App','todo'=>$items]);
}
function delete($id) {
$itme = $this->Item->query('delete from items where id = \''.mysql_real_escape_string($id).'\'');
$this->view('delete',['todo'=>$itme,'title'=>'Success - My Todo List App']);
}
function likang(){
$this->view('likang');
}
}
如圖所示:
接下來就是先建站點的模型,在我們的/application/model/ 目錄下面先建一個站點模型類爲Item,內容直接繼承Model,代碼如下:
<?php
class Item extends Model {
}
最後一步是設置我們站點的視圖部分,我們現在/application/views/目錄下新建一個items的文件夾,再在items文件夾下建立與控制器重Action相同的文件,分別爲view.php,viewall.php,add.php,delete.php,likang.php考慮到這麼頁面中可能需要共用頁首和頁尾,所以再新建兩個文件,命名爲header.php,footer.php,每個文件的代碼如下:
view.php文件:查看單條待處理事務
<a href="index.php?url=items/delete/<?php echo $todo['Item']['id']?>">
<span>Delete this item</span>
</a>
viewall.php文件:查看所有待處理事務
<?php endforeach?>
<input type="text" value="I have to..." οnclick="this.value=''" name="todo"> <input type="submit" value="add">
</form>
<br/><br/>
<?php $number = 0?>
<?php foreach ($todo as $todoitem):?>
<a href="index.php?url=items/view/<?php echo $todoitem['Item']['id']?>/<?php echo strtolower(str_replace(" ","-",$todoitem['Item']['item_name']))?>">
<span>
<?php echo ++$number?>
<?php echo $todoitem['Item']['item_name']?>
</span>
</a><br/>
add.php文件:添加待處理事務
<a href="index.php?url=items/viewall">Todo successfully added. Click here to go back.</a><br/>
delete.php文件:刪除事務
<a href="index.php?url=items/viewall">Todo successfully deleted. Click here to go back.</a><br/>
header.php:頁首文件
<html>
<head>
<title><?php echo $title?></title>
<style>
.item {width:400px;}
input {color:#222222;font-family:georgia,times;font-size:24px;font-weight:normal;line-height:1.2em;color:black;}
a {color:#222222;font-family:georgia,times;font-size:24px;font-weight:normal;line-height:1.2em;color:black;text-decoration:none;}
a:hover {background-color:#BCFC3D;}
h1 {color:#000000;font-size:41px;letter-spacing:-2px;line-height:1em;font-family:helvetica,arial,sans-serif;border-bottom:1px dotted #cccccc;}
h2 {color:#000000;font-size:34px;letter-spacing:-2px;line-height:1em;font-family:helvetica,arial,sans-serif;}
</style>
</head>
<body>
<h1>My Todo-List App</h1>
footer.php:頁尾文件
</body>
</html>
likang.php:傳值視圖
<h1>這是我封裝的MVC框架!</h1>
當然還有一個必不可少的操作就是在數據中中建立一張表,具體代碼如下:
CREATE TABLE IF NOT EXISTS `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`item_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=17 ;
至此一個使用MVC開發的網站就開發完成了,你現在可以通過訪問 http://localhost/Kangframework/items/viewall 查看新建的站點。
此框架還有許多不足,請大家能給我點建議。如果我封裝的MVC框架能對您有所幫助,甚是欣慰!