mvc根目录下的文件作用和入口文件讲解

时间:2020-12-23 20:03:50

首先讲一下根目录下每个目录的作用

·        -app : 存放控制器文件和视图文件

               --ctrl       – 存放indexCtrl.php控制文件

               --views   – 存放index.html视图文件

·        -roce : 存放自动加载类文件和视图路由文件

               --lib              – 存放model.php模型文件和route路由文件

               --imooc.php 自动加载类文件

·       - index.php :入口文件

·       - .htaccess :隐藏index.php文件

建立入口文件:

在入口文件内index.php中主要有

/**

 * 1.定义常量

 * 2.加载函数库

 * 3.启动框架

 */

在入口文件内定义所有的全局变量

//获取框架当前所在的目录
define('IMOOC',realpath('./'));

//设置一个核心文件
define('CORE',IMOOC.'/roce');

//设置一个项目文件
define('APP',IMOOC.'/app');

//定义一个模块
define('MODULE','app');
//设置一个调试模式
define('DEBUG',true);

//判断是否开启
if (DEBUG) 
{
	ini_set('display_error','On');
}
else
{
	ini_set('display_error','Off');
}

而后通过spl_autoload_register()函数实现类自动加载功能


//加载函数库
include CORE."/imooc.php";

//调用自动加载;
spl_autoload_register('\roce\imooc::load');

//调用基础类run方法
\roce\imooc::run();

进入自动加载imooc类

代码整合

<?php 

/**
 * 入口文件
 * 1.定义常量
 * 2.加载函数库
 * 3.启动框架
 */
header('content-type:text/html;charset=utf-8;');
//获取框架当前所在的目录
define('IMOOC',realpath('./'));

//设置一个核心文件
define('CORE',IMOOC.'/roce');

//设置一个项目文件
define('APP',IMOOC.'/app');

//定义一个模块
define('MODULE','app');
//设置一个调试模式
define('DEBUG',true);

//判断是否开启
if (DEBUG) 
{
	ini_set('display_error','On');
}
else
{
	ini_set('display_error','Off');
}


//加载函数库
include CORE."/imooc.php";

//调用自动加载;
spl_autoload_register('\roce\imooc::load');

//调用基础类run方法
\roce\imooc::run();

?>

建立文件 .htaccess文件

代码整合

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f  [NC]
RewriteRule ^(.*)$  index.php/$1 [L]