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


    概念,确保每个文件夹,目录(路径正确),如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";
        }
    }
    
    
    
     
  • 相关阅读:
    生活的乐趣
    android加载webview白屏问题
    强极则辱
    向studio项目中复制集成其他代码,项目R文件丢失
    每一步都是最好的选择
    JQuery小插件,Selected插件1
    JSON进阶三JSON的几种调用形式
    JSON进阶四前后台交互之美
    .NET双样式分页控件
    JSON进阶五JS和WCF的交互
  • 原文地址:https://www.cnblogs.com/xiaowie/p/14334834.html
Copyright © 2020-2023  润新知