PHP的MVC實現(4)

來源:互聯網
上載者:User
我們的index.php 檔案看起來像這樣:

以下是程式碼片段:
<?php  
require_once(’lib/DataAccess.php’);  
require_once(’lib/ProductModel.php’);  
require_once(’lib/ProductView.php’);  
require_once(’lib/ProductController.php’);  
$dao=& new DataAccess (’localhost’,’user’,’pass’,’dbname’);  
$productModel=& new ProductModel($dao);  
$productController=& new ProductController($productModel,$_GET);  
echo $productController->display();  
?> 

漂亮而簡單。

 

我們有一些使用控制器的技巧,在PHP中你可以這樣做:

$this->{$_GET['method']}($_GET['param']);

一個建議是你最好定義程式URL的名字空間形式(namespace),那樣它會比較規範比如:

以下是程式碼片段:

"index.php?class=ProductView&method=productItem&id=4"

通過它我們可以這樣處理我們的控制器:

以下是程式碼片段:

$view=new $_GET[’class’];  
$view->{$_GET[’method’]($_GET[’id’]);

有時候,建立控制器是件很困難的事情,比如當你在開發速度和適應性之間權衡時。一個獲得靈感的好去處是Apache group 的Java Struts,它的控制器完全是由XML文檔定義的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.