从此不求人:自主研发一套PHP前端开发框架(6)

第一步:在_Master中

1.新增一个变量 view2. setView;//用来对 view3. getView;//用来返回$_view变量的值
代码实现:_Master.php

<?php //所有controller的父类 抽象类  abstract class _Master{ var $_view='index';//模板名称 function setView($viewName){ $this->_view = $viewName; } function getView(){ return LKPHP_PATH.'/MVC/View/'.LKPHP_VIEWPATH.'/'.$this->_view.'.'.LKPHP_EXTENSION; } } ?>

第二步:修改index.php(根目录下的路由文件)

1.增加判断control文件是否存在程序

2.增加判断control文件所属的类是否存在的程序

3.对action参数进行判断

4.在具体的index.inc众尝试调用$this->setView

代码实现:(index.php)

    $_control_path = LKPHP_PATH.'MVC/Controller/'.$_controller.'.inc';//获取控制器类绝对地址

    if(!file_exists($_control_path)){
         exit();//判断是否存在此控制器类文件
    }
    require($_control_path);
    if (!class_exists($_controller)) {
        exit();//判断是否存在此类
    }

    $_init_controller = new $_controller();
    if (method_exists($_init_controller, $_action)) {
        $_init_controller->$_action();//如果控制器中存在此方法那么才进行执行
    }
    include($_init_controller->getView());//加载模板

你可能感兴趣的:(从此不求人:自主研发一套PHP前端开发框架(6))