入口程序:

现在大多采用单一入口机制,单一入口就是指在一个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内

 <?php
function C($name, $method){
require_once('/libs/controller/'.$name.'Controller.class.php');
eval('$obj = new '.$name.'Controller();$obj->'.$method.'();');
} function M($name){
require_once('/libs/Model/'.$name.'Model.class.php');
eval('$obj = new '.$name.'Model();');
return $obj;
} function V($name){
require_once('/libs/View/'.$name.'View.class.php');
eval('$obj = new '.$name.'View();');
return $obj;
} function ORG($path, $name, $params=array()){
require_once('libs/ORG/'.$path.$name.'.class.php');
$obj = new $name();
if(!empty($params)){
foreach($params as $key=>$value){
$obj->$key = $value;
}
}
return $obj;
} function daddslashes($str){
return (!get_magic_quotes_gpc())?addslashes($str):$str;
} ?>

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

 

MVC入口程序 | 简单调用及实例化的更多相关文章

  1. MVC (M-V-C启动程序调用关系)

    在网上有很多mvc程序启动,调用之间的关系与顺序.而且还有很多很不错的网站.推荐一个      http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1 ...

  2. 【Android进阶】Android程序与JavaScript之间的简单调用

    本篇将讲解一个简单的Android与JavaScript之间的简单调用的小程序 效果图 工程结构 HTMLActivity.java代码 package com.example.javatojs; i ...

  3. 超简单MVC应用程序播放WMV视频

    本篇博文,介绍给大家的是,在MVC应用程序中,播放Windows media video(.wmv) 视频文件. Insus.NET的实现方法,把media player组件,嵌入MVC的控制器的Co ...

  4. asp.net MVC 应用程序的生命周期

    下面这篇文章总结了 asp.net MVC 框架程序的生命周期.觉得写得不错,故转载一下. 转载自:http://www.cnblogs.com/yplong/p/5582576.html       ...

  5. PHPCMS V9 框架代码分析(入口程序)

    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口. 入口程序是在前期处理用户请求的引导程序.它是 ...

  6. ASP.NET MVC应用程序执行过程分析

    ASP.NET MVC应用程序执行过程分析 2009-08-14 17:57 朱先忠 朱先忠的博客 字号:T | T   ASP.NET MVC框架提供了支持Visual Studio的工程模板.本文 ...

  7. asp.net MVC 应用程序的生命周期(上)

    首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束.那么MVC应用程序从发出请求到获得响应,都做了些什么呢? 本文我们会详细讨论MVC应用程序一个请求的 ...

  8. [译]MVC应用程序生命周期

    原文:MVC Application Lifecycle 来一探究竟在MVC应用程序中参与请求处理的各个不同组件. 目录: 序言 背景 UrlRoutingModule RouteHandler Mv ...

  9. 为ASP.NET MVC应用程序使用高级功能

    为ASP.NET MVC应用程序使用高级功能 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...

随机推荐

  1. HTML5在canvas中绘制复杂形状附效果截图

    HTML5在canvas中绘制复杂形状附效果截图 一.绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,绘图环境提供了如下方法来绘制复杂的形状或路径. beginPath() : 开始绘制一个新路 ...

  2. 第一次部署Struts2时出现错误java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class

    报如下错误 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org. ...

  3. UML--PowerDesigner使用小结

    以前只是觉得.边看书.边撸代码.效果还不错.现在发现.边看书.边设计类图.效果也不错哈.最好书上有类图.自己刚开始可以依葫芦画瓢. 用到的工具是PowerDesigner... 先新建一个类图.文件& ...

  4. I() 方法

    I()方法的介绍及使用: http://www.jb51.net/article/51213.htm

  5. 微信"附近的人"新增商家公众号入驻功能

    微信近日升级了“附近的人”,新增商家公众号(认证的服务号和有卡券功能的公众号)可自入驻,这是微信在推出卡券和微信wifi功能后,又一加强连接线下商户能力的功能. 微信在“附近的人”中 增加搜索商户功能 ...

  6. 一些特殊的URI编码字符

    字符 URL编码值 space %20 " %22 # %23 % %25 & %26 ( %28 ) %29 + %2B , %2C / %2F : %3A ; %3B < ...

  7. Spring中的JdbcTemplate使用

    1.引出SpringJDBC的概念 在学习JDBC编程时我们会感觉到JDBC的操作是多么繁琐,那么当我们学习的Hibernate框架时,我们感觉到数据库的操作也变非常简单,提高了开发效率.但是当使用H ...

  8. TCP/IP 协议

    网站: http://blog.csdn.net/goodboy1881/article/category/204448

  9. MineCraft note

    客户端:http://pan.baidu.com/s/1hqgS8sshttp://pan.baidu.com/s/1mgmkduC 材质包:R3D小地图MODCraftGuide mod 内置合成表 ...

  10. Proj.4 API 中文参考

    ProjAPI https://github.com/OSGeo/proj.4/wiki/ProjAPI Tom Kralidis在2015年5月27日编辑此页·修订4 简介 执行pj_init()选 ...