PHP的MVC实现(4)

WBOY
풀어 주다: 2016-06-23 14:32:09
원래의
1001명이 탐색했습니다.

我们的index.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文档定义的。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿