zoukankan      html  css  js  c++  java
  • PHP的MVC实现(4)

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

  • 相关阅读:
    P1509 找啊找啊找GF
    P1508 Likecloud-吃、吃、吃
    P1493 分梨子
    P1507 NASA的食物计划
    Java简单从文件读取和输出
    服务器和普通用户电脑的区别
    readUTF()和writeUTF()
    js中substring和substr的用法
    AfxMessageBox和MessageBox差别
    POJ 3691 &amp; HDU 2457 DNA repair (AC自己主动机,DP)
  • 原文地址:https://www.cnblogs.com/kuyuecs/p/1274530.html
Copyright © 2011-2022 走看看