之前在开发一个类大众点评的网站,但是由于当前公司php扩展内容的混乱以及扩展的不易,所以自己决定书写一个简单的mvc框架,同时能够将ios/andorid请求内容进行整合。
主请求目录如下:
drwxr-xr-x cache
drwxr-xr-x core
-rw-r--r-- error.php
-rw-r--r-- index.php
drwxr-xr-x lib
-rw-r--r-- reload.php
drwxr-xr-x template
drwxr-xr-x user
cache为php的缓存目录,这里原本打算放html缓存 php的序列化之后的缓存内容。但是最后只是简单的实现对html的缓存,没有实现php序列化缓存最重要的原因是没有想好html缓存与序列化结果缓存的时机。
core 为该框架的核心代码。
error.php 为框架的核心的错误文件(当框架加载错误类之后,才调用)。
index.php 为入口文件定义了大部分的全局变量,代码如下
<?php
/**
* Created by author.
* the index file
*/
define("WEB_DIR",__DIR__);
define("MODEL_DIR",WEB_DIR."/user/model");
define("VIEW_DIR",WEB_DIR."/user/view/");
define("CONTROLLER_DIR",WEB_DIR."/user/controller");
define("CORE_DIR",WEB_DIR."/core");
define ("CACHE_DIR",WEB_DIR."/cache");
define ("TEM_DIR",WEB_DIR."/template");
define ("LIB_DIR",WEB_DIR."/lib/");
define ("PROJECT","dianping");
//modify the request of img css js
/**
*require common functions to get all information.
*/
if(file_exists(CORE_DIR."/mvc_new.php")){
require(CORE_DIR."/mvc_new.php");
}else{
exit();
}
这里在定义信息大家研究过mvc框架的同学,可以很容易的理解,我这里有一个问题,将目录名称固定死了,MODEL_DIR VIEW_DIR CONTROLLER_DIR都已以/user/作为了固定目录,当网站根目录下建立多个网站的时候,这个无法区分,不同分站的分级目录。当时由于这个是自用网站框架,所以没有想那么多,这个部分的初始化,应该放置在后面。 当该目录初始化完毕之后需要引入/core/mvc_new.php。
lib目录下存放的一些整个项目都需要的内容,通过不同的内容需求实现相关的动态加载(应该在controller部分完成)。
reload.php 目标是实现网站进行重载 跳转之后进行相关的操作,当前是调试用的空文件。
template 是通过正则匹配完之后的模板文件存放地点。
user 是网站的内容目录。
以上的整个网站的整体目录