基本目录已经当前平台目录------绝对路径

概念,确保每个文件夹,目录(路径正确),如app文件夹改了applaction  或者frame改成framework,那么index.php入口文件就会出错

 

基本目录

getcwd()函数,获取当前工作的路径,我们是index.php来调用的,那就是针对于index.php 或获取路径,而__DIR__是获取当前文件所在的的路径,如果文件放置别的文件夹,路径就会改变

/**
 * 基本目录常量,使用getcwd函数获取,斜杠是反的,需要替换
 * 来把相对路径变成绝对路径
 */
//定义目录
define('ROOT_DIR',str_replace('\\','/',getcwd().'/'));
//定义app目录
define("APP_DIR",ROOT_DIR."app/");
//定义frame目录
define('FRAME_DIR',ROOT_DIR."frame/");

当前平台目录

//定义当前平台下Controller、Model、View目录
define('CURRENT_CON_DIR',APP_DIR.PLATFORM.'/Controller/');
define('CURRENT_MODEL_DIR',APP_DIR.PLATFORM.'/Model/');
define('CURRENT_VIEW_DIR',APP_DIR.PLATFORM.'/View/');

注意:上面的语法,需要在platform平台确认后,才能定义,要吗报错

 

修改掉所有路径的地方

index.php

<?php 

//自动加载类
function autoLoad($class_name){
    $frame_class=array(
        "MyPDO" => FRAME_DIR."{$class_name}.class.php",
        "Model" => FRAME_DIR."{$class_name}.class.php",
        "Factory" => FRAME_DIR."{$class_name}.class.php",
        "Controller" => FRAME_DIR."{$class_name}.class.php"
    );
    if(isset($frame_class[$class_name])){
        include $frame_class[$class_name];
    }elseif(substr($class_name,-5)=="Model"){
        include CURRENT_MODEL_DIR."{$class_name}.class.php";
    }elseif(substr($class_name,-10)=="Controller"){
        include CURRENT_CON_DIR."{$class_name}.class.php";
    }

}
spl_autoload_register('autoLoad');


/**
 * 基本目录常量,使用getcwd函数获取,斜杠是反的,需要替换
 * 来把相对路径变成绝对路径
 */
//定义目录
define('ROOT_DIR',str_replace('\\','/',getcwd().'/'));
//定义app目录
define("APP_DIR",ROOT_DIR."app/");
//定义frame目录
define('FRAME_DIR',ROOT_DIR."frame/");

//获取平台platfrom p参数
define('PLATFORM',isset($_GET['p']) ? $_GET['p'] : 'test');
//获取分发参数c
define('CONTROL',isset($_GET['c']) ? $_GET['c'] : 'Mybank');
//获取分发参数a
define('ACTION',isset($_GET['a']) ? $_GET['a'] : 'show' );

//定义当前平台下Controller、Model、View目录
define('CURRENT_CON_DIR',APP_DIR.PLATFORM.'/Controller/');
define('CURRENT_MODEL_DIR',APP_DIR.PLATFORM.'/Model/');
define('CURRENT_VIEW_DIR',APP_DIR.PLATFORM.'/View/');


//确认名字
$controller_name=CONTROL.'Controller';
$action_name=ACTION.'ACTION';

$ban= new $controller_name();
$ban->$action_name();

 

MybankController.class.php


<?php 
class MybankController extends Controller
{
    public function showAction(){
        $bank=Factory::CreateSingle("MybankModel");
        $rs=$bank->show();
        include CURRENT_VIEW_DIR."mybank.html";
    }

    public function deleteAction(){
        $bank=Factory::CreateSingle("MybankModel");
        $id=$_GET['id'];
        $bank->delete($id);
        $rs=$bank->show();
        include CURRENT_VIEW_DIR."mybank.html";
    }
}

 

 

 

posted @ 2021-01-27 14:27  WhiteSpace  阅读(83)  评论(0编辑  收藏  举报