zoukankan      html  css  js  c++  java
  • 基本目录已经当前平台目录------绝对路径

    概念,确保每个文件夹,目录(路径正确),如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";
        }
    }
    
    
    
     
  • 相关阅读:
    java soket 和nio
    面试题中问到 aop di ioc 怎么回答
    细谈hashmap
    java中length和length()还有size()的区别
    MySQL 中实现可重复读(RR)的原理--MVCC
    关于字节流/字符流操作文件的问题
    MySQL 中索引优化(即避免索引失效)
    MySQL 数据库中索引的实现 和 建立索引的原则
    CAS和ABA问题
    Volatile的简单理解
  • 原文地址:https://www.cnblogs.com/xiaowie/p/14334834.html
Copyright © 2011-2022 走看看