准备环境
- PHP 5.3 或更高
- Apache 2.4 或更高
安装
- 克隆项目到本地
配置
- Apache服务器请打开rewrite模块
- 数据库配置和上传路径于根目录的config.php中修改
路由
- 在index.php中配置和添加路由,形如:
$route->addRoute("/","IndexController","index");
三个参数分别是url、控制器名、调用方法名
url中纯数字只能出目前最后一级作为参数,出目前中间无法解析
控制器如果在次级目录,应该加上次级目录名,如”admin/IndexController”
模型
- 默认用户模型文件存放于models目录下,使用模型需要用户创建一个模型文件,形如:
//Articles.php
class Articles extends module{
function __construct()
{
parent::__construct("articles");
}
}
只需要一个参数--数据表名
- 模型中包含了数据操作常用方法,可以在实例话模型对象的任何地方使用,一般在控制器中,形如:
//IndexController.php
class IndexController extends controller{
public function index(){
$Articles = new Articles();
$articles = $Articles->All();
}
}
控制器
- 控制器有两种响应模式,路由是其中一种,还有一种是表单响应模式,通过表单中的”__method”参数指示控制器调用相对应的方法,例如:
function formMethods($_method, $id){
switch ($_method) {
case UPDATE :
$this->update($id);
break;
case DELETE :
$this->delete($id);
break;
case ADD :
$this->create();
break;
case SEARCH :
$this->search();
}
}
- 控制器中可以对数据进行读取和处理,完成后交由视图模块进行展示
视图
- 调用页面文件,也就是展示页面效果,例如:
//IndexController.php
class IndexController extends controller{
public function index(){
$Articles = new Articles();
$articles = $Articles->All();
$view = new view();
$view->show("welcome.php",[ articles => $articles]);
}
}
- 递增页面分页显示,只显示当前页面需要的部分数据,例如:
//IndexController.php
class IndexController extends controller{
public function index(){
$page=$_GET[ page ]?$_GET[ page ]:1;
$Articles = new Articles();
$articles = $Articles->All();
$view = new view();
$articles = $view->pageData($articles,$page,10);
$view->show("welcome.php",[ articles => $articles]);
}
}
以上例子中pageData方法需要的三个参数分别为:要分页显示的数据、当前的页码、每页显示的数据条数
- 在页面文件中可以插入一组分页按钮,形如:
view::paginate($totalPage);
需要知道总页数,可以在控制器中进行计算,也可以通过其他你知道的方式得到
文件系统
- 文件管理的方法在fileManager.php中,包括上传、下载、删除单个文件、创建、删除文件夹,遍历目录和文件,查询文件基本信息(文件名,格式,上传时间,文件路径),例如:
$allFiles=fileManager.getFiles("/");
这将可以得到上传目录下的所有文件的基本信息数据,以数组格式进行存储
- 需要注意的是,getFiles不能查询到文件夹,反之getDirs也不能查询到文件,所以若需要同时查询,可以两者配合递归使用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
暂无评论内容