PHP中MVC學習之ThinkPHP
1、什么是MVC
MVC本來是存在於Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離
MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。
2、為什么要使用 MVC
首先,最重要的一點是多個視圖能共享一個模型,現在需要用越來越多的方式來訪問你的應用程序。由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同界面使用。
再次,開發周期縮短、方便維護和管理降低開發成本和工作量。
任何一個事物也會有缺點,我們來看一下:
MVC的缺點是由於它沒有明確的定義,所以完全理解MVC並不是很容易。使用MVC需要精心的計划,由於它的內部原理比較復雜,所以需要花費一些時間去思考。
MVC並不適合小型甚至中等規模的應用程序,花費大量時間將MVC應用到規模並不是很大的應用程序通常會得不償失。
3、認識一個MVC框架ThinkPHP
ThinkPHP是一個快速、簡單的面向對象的輕量級PHP開發框架,遵循Apache2開源協議發布,並且永久免費使用,是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。使用ThinkPHP,你可以更方便和快捷的開發和部署WEB應用
特點
簡單易用的MVC模式
獨創的核心編譯和項目編譯機制
內置 XML模板引擎,支持標簽庫
富模型支持
目錄結構自動創建
分布式數據庫支持
多數據庫連接和切換支持
CURD和操作高度自動化支持
注意:
ThinkPHP3.2
PHP版本要求
- PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持)
詳細參見http://document.thinkphp.cn/manual_3_2.html
4、如何搭建一個ThinkPHP
下載ThinkPHP3.1版本框架包,直接引用目錄中的 ThinkPHP.php 文件即可
文件index.php代碼如下:
<?php define("THINK_PATH", "ThinkPHP/"); define("APP_NAME", '43_MVC_ThinkPHP'); define("APP_PATH", '.'); require_once(THINK_PATH."ThinkPHP.php"); $app = new App(); ?>
控制器代碼如下:
<?php // 本類由系統自動生成,僅供測試用途 header("Content-type:text/html;charset=utf-8"); class IndexAction extends Action { public function index(){ $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>修改控制器 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8'); } public function show(){ echo "新建的方法<br>"; } }