zoukankan      html  css  js  c++  java
  • MVC入口程序 | 简单调用及实例化

    入口程序:

    现在大多采用单一入口机制,单一入口就是指在一个web应用程序中,所有的请求都指向一个脚本文件。通俗点说就是一幢大楼只有一个大门入口可以进去...

    目录:

    建立一个控制器/模型/视图调用函数,这样在入口文件内就可以直接调用他们的函数名使用,函数名取他们(控制器/模型/视图 )的首字母,他们的函数有较小一点差别,以代码为准

    functoin C(控制器的名字,执行方法){

      1、把控制器引入require_once('/libs/controller/'.控制器的名字.'Controller.class.php');

      2、实例化控制器

      3、调用控制器里的方法 eval('$obj = new '.控制器的名字.'Controller();$obj->'.执行方法.'();');

      采用PHP内置函数eval(),把字符串转换成可执行的php语句,但是eval()函数调用简单,但是不安全,可用以下代码代替

      $controller=$name.'controller';

      $obj=new $controller();

      $obj->$method();

    }

    调用函数function.php内

     1 <?php
     2     function C($name, $method){
     3       require_once('/libs/controller/'.$name.'Controller.class.php');
     4         eval('$obj = new '.$name.'Controller();$obj->'.$method.'();');
     5     }
     6 
     7     function M($name){
     8         require_once('/libs/Model/'.$name.'Model.class.php');
     9         eval('$obj = new '.$name.'Model();');
    10         return $obj;
    11     }
    12     
    13     function V($name){
    14         require_once('/libs/View/'.$name.'View.class.php');
    15         eval('$obj = new '.$name.'View();');
    16         return $obj;
    17     }
    18     
    19     function ORG($path, $name, $params=array()){
    20         require_once('libs/ORG/'.$path.$name.'.class.php');
    21         $obj = new $name();
    22         if(!empty($params)){
    23         foreach($params as $key=>$value){
    24                 $obj->$key = $value;
    25             }
    26         }
    27         return $obj;
    28     }
    29 
    30     
    31     function daddslashes($str){
    32         return (!get_magic_quotes_gpc())?addslashes($str):$str;
    33     }
    34 
    35 ?>
    function.php

    入口文件index.php

    <?php
        require_once('function.php');
        require_once('config.php');
        $view = ORG('Smarty/', 'Smarty', $viewconfig);
        $controller = $_GET['controller'];
        $method = $_GET['method'];
        C($controller, $method);
    ?>
    index.php

     

  • 相关阅读:
    卸载全部appx应用(包括应用商店)
    重置 Launchpad 和更新APP图标缓存
    删除OSX中第三方的「偏好设置」程序(.prefPane)
    IOS segue(跳转页面处理)
    IOS NSNotificationCenter(通知 的使用)监听文本框的文字改变
    IOS UITextFieldDelegate (常用的代理方法)
    IOS UIActionSheet(底部 弹出框的使用)
    IOS 偏好设置数据 存 取(Preferences文件夹)
    IOS plist的数据 存 取(沙河目录)
    显示 Mac隐藏的文件夹 命令语句
  • 原文地址:https://www.cnblogs.com/lpshan/p/4414413.html
Copyright © 2011-2022 走看看