封裝MVC(六)

        完成封裝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文件:查看單條待處理事務


<h2><?php echo $todo['Item']['item_name']?></h2>
<a href="index.php?url=items/delete/<?php echo $todo['Item']['id']?>">
<span>Delete this item</span>
</a>


viewall.php文件:查看所有待處理事務


<?php endforeach?>

<form action="index.php?url=items/add" method="post">
    <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框架能對您有所幫助,甚是欣慰!




發佈了16 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章