MVC核心文件Application.class.php设计实例
来源:互联网 发布:淘宝店如何加入返利网 编辑:程序博客网 时间:2024/06/06 17:32
MVC核心文件Application.class.php设计实例
<?php//通过判断ACCESS常量,判断来源是否为非法请求if(!defined('ACCESS')) {echo '非法入侵';exit;}class Application {//设置字符编码private static function setHeader() {header('Content-type:text/html;charset=utf-8');}//设置系统常量private static function setConst() {define('ROOT_DIR',str_replace('\\', '/', dirname(__DIR__)));define('CORE_DIR',ROOT_DIR.'/Core');define('ACTION_DIR',ROOT_DIR.'/Action');define('MODEL_DIR',ROOT_DIR.'/Model');define('VIEW_DIR',ROOT_DIR.'/View');define('Config_DIR',ROOT_DIR.'/Config');define('PUBLIC_DIR',ROOT_DIR.'/Public');}//设置错误信息private static function setErrors() {//ini_set('display_errors', 0);//error_reporting(E_ALL);}//初始化配置信息private static function setConfig() {$GLOBALS['config'] = include_once Config_DIR.'/config.php';}//加载Core核心文件public static function loadCore($class) {if(is_file(CORE_DIR."/$class.class.php")) {include_once CORE_DIR."/$class.class.php";}}//加载控制器文件public static function loadAction($class) {if(is_file(ACTION_DIR."/$class.class.php")) {include_once ACTION_DIR."/$class.class.php";}}//加载模型文件public static function loadModel($class) {if(is_file(MODEL_DIR."/$class.class.php")) {include_once MODEL_DIR."/$class.class.php";}}//自动加载机制private static function setAutoLoad() {//通过以下方式可以将loadCore,loadAction,loadModel追加到系统__autoload函数栈中//当系统初始化对象时,系统会自动到以下三个函数中寻找,但是有顺序要求,先注册先使用,如在当//前文件中已找到,其将不会继续向下寻找spl_autoload_register(array('Application','loadCore')); spl_autoload_register(array('Application','loadAction')); spl_autoload_register(array('Application','loadModel'));}//设置sessionprivate static function setSession() {@session_start(); //$user=array();//$user['id']=1;//$user['username']='zhangsan';//$_SESSION['user']=$user;}//设置urlprivate static function setUrl() {$module = isset($_REQUEST['module'])?$_REQUEST['module']:'privilege';$action = isset($_REQUEST['action'])?$_REQUEST['action']:'index';//把接收到的所有参数转化为小写$module = strtolower($module);$action = strtolower($action);//由于命名习惯问题,我们需要将模块参数的首字母转化为大写$module = ucfirst($module);define('MODULE',$module);define('ACTION',$action);}//设置权限private static function setPrivilege() {if(!(MODULE=='Privilege' && (ACTION=='login' || ACTION=='sigin' || ACTION=='captcha'))) {if(!isset($_SESSION['user'])) {header('Location:index.php');}}}//设置分发private static function setDispatch() {$module = MODULE.'Action';$action = ACTION;//创建对象$module = new $module();$module->$action();}//定义初始化方法public static function run() {//1)初始化字符集self::setHeader();//2)初始化系统常量self::setConst();//3 )初始化错误配置self::setErrors();//4)初始化配置信息self::setConfig();//5)自动加载self::setAutoLoad();//6)开启sessionself::setSession();////////// 测试session////////////////////////////7)url初始化self::setUrl();//8)权限验证//self::setPrivilege();//9)分发self::setDispatch();}}?>
0 0
- MVC核心文件Application.class.php设计实例
- Spring MVC核心配置文件实例
- 简易PHP mvc实例
- PHP MVC 小实例
- Spring-MVC配置application-mvc文件
- Class文件实例解析
- Class文件实例
- 【phpcms-v9】phpcms-v9应用程序创建类phpcms/libs/classes/application.class.php文件分析
- 【discuzX2】/source/class/class_core.php文件中核心基础类库中discuz_core类分析
- 【discuzX2】/source/class/class_core.php文件中核心高效缓存类discuz_memory分析
- php MVC设计框架
- mvc文件下载实例
- ThinkPHP3.1.3核心类 Cache.class.php
- ThinkPHP3.1.3核心类 Dispatcher.class.php
- thinkphp核心源码注释|Think.class.php
- thinkphp核心源码注释|Storage.class.php
- thinkphp核心源码注释|Route.class.php
- thinkphp核心源码注释|Log.class.php
- 矩阵嵌套问题(DAG上的动态规划)
- POJ 3009
- UVA10003---Cutting Sticks(简单区间dp)
- wust 1419 1419: We Love 01( 计数问题)
- Ajax传递数组,struts2接收数组
- MVC核心文件Application.class.php设计实例
- (10.2.3.5)用windows体验sketch--为设计师准备的MAC OS安装指南
- 工作中的学习与问题
- PLSQL Developer 连接Oracle 11g
- maven工程pom.xml文件讲解
- iOS开发系列--并行开发其实很容易
- Java加密技术介绍
- socket异步编程--libevent的使用
- DPC分析 基于ReactOS0.33