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内
<?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入口程序 | 简单调用及实例化的更多相关文章
- MVC (M-V-C启动程序调用关系)
在网上有很多mvc程序启动,调用之间的关系与顺序.而且还有很多很不错的网站.推荐一个 http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1 ...
- 【Android进阶】Android程序与JavaScript之间的简单调用
本篇将讲解一个简单的Android与JavaScript之间的简单调用的小程序 效果图 工程结构 HTMLActivity.java代码 package com.example.javatojs; i ...
- 超简单MVC应用程序播放WMV视频
本篇博文,介绍给大家的是,在MVC应用程序中,播放Windows media video(.wmv) 视频文件. Insus.NET的实现方法,把media player组件,嵌入MVC的控制器的Co ...
- asp.net MVC 应用程序的生命周期
下面这篇文章总结了 asp.net MVC 框架程序的生命周期.觉得写得不错,故转载一下. 转载自:http://www.cnblogs.com/yplong/p/5582576.html ...
- PHPCMS V9 框架代码分析(入口程序)
PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口. 入口程序是在前期处理用户请求的引导程序.它是 ...
- ASP.NET MVC应用程序执行过程分析
ASP.NET MVC应用程序执行过程分析 2009-08-14 17:57 朱先忠 朱先忠的博客 字号:T | T ASP.NET MVC框架提供了支持Visual Studio的工程模板.本文 ...
- asp.net MVC 应用程序的生命周期(上)
首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束.那么MVC应用程序从发出请求到获得响应,都做了些什么呢? 本文我们会详细讨论MVC应用程序一个请求的 ...
- [译]MVC应用程序生命周期
原文:MVC Application Lifecycle 来一探究竟在MVC应用程序中参与请求处理的各个不同组件. 目录: 序言 背景 UrlRoutingModule RouteHandler Mv ...
- 为ASP.NET MVC应用程序使用高级功能
为ASP.NET MVC应用程序使用高级功能 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...
随机推荐
- 在Activity之间传递参数(二)
传递数据包bundle: 1.MainActivity.class: findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClic ...
- spark安装(实战)
sparksql+hive :http://lxw1234.com/archives/2015/06/294.htm 1,安装scala http://scala-lang.org/download/ ...
- linux source
清华TUNA镜像源https://mirrors.tuna.tsinghua.edu.cn/ 中科大USTC镜像源 https://mirrors.ustc.edu.cn/ ali http://mi ...
- 我对Jenkins的认识
参考: http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.html
- win7 去快捷箭头
去掉快捷方式箭头.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows ...
- OC编程之道-创建对象之生成器模式
生成器模式也叫建造者模式,一般是用来构造复杂对象的一种模式.client(客户)-director(指导者)-builder(构造者)-product(产品). 生成器模式能帮助构建设计部件与表现的各 ...
- python os.path
os.path 提供了一些处理文件路径的函数. os.path.abspath(path) 返回绝对路径, 在大多数平台上, os.path.abspath(path) == os.path.norm ...
- opendrive
opendrive和其他许多网盘一样.注册拥有5G的免费空间.每天1G的免费外链流量.更重要的是,他能够给你提供一个直接外链!这是国内外许多网盘都没有的.当你上载了一个MP3,你想用直接外链的形式在博 ...
- dataset 修改小数点位数
#region dataset过滤器(修改小数点位数)导出使用 public DataSet ChangeDataSetValue(DataSet dataset) { foreach (DataTa ...
- Linux C编程学习之C语言简介---预处理、宏、文件包含……
C的简介 C语言的结构极其紧凑,C语言是一种模块化的编程语言,整个程序可以分割为几个相对独立的功能模块,模块之间的相互调用和数据传递是非常方便的 C语言的表达能力十分强大.C语言兼顾了高级语言和汇编语 ...