PHP is the easiest to customize your own framework to define constants and automatically generate directories (3)

1. The module definition is added to the framework entrance to realize multi-module functions

index.php defines the module

<?php
//定义当前请求模块
define("MODULE",'index');
require "./core/KJ.php";

Create background module admin.php

<?php
define("MODULE",'admin');
require "./core/KJ.php";

2. Define constants, define root directory, framework core directory path, etc.

     KJ.php framework running entry

    

  public static function run(){
        //定义常量
        self::_set_const();
      
        echo '框架运行中';
    }

     //定义常量
    public static function _set_const(){
        //获取框架核心路径 都替换/以便兼容linux
        $path=str_replace('\\','//',__FILE__);
        //定义常量
        define("KJ_CORE",$path); //框架核心路径
        define('ROOT_PATH',dirname(dirname(KJ_CORE)));//项目根目录
        define('MODULE_PATH',ROOT_PATH.'/'.MODULE);//模块

        define('CONTROLLER',MODULE_PATH.'/controller');//定义控制器
        define('MODEL',MODULE_PATH.'/model');//定义模型
        define('VIEW',MODULE_PATH.'/view');//定义显示成
    }

3. Automatically create module directory

  public static function run(){
        //定义常量
        self::_set_const();
        //创建模块目录
        self::_mk_module();

        echo '框架运行中';
    }
  //自动创建模块目录
    public static function _mk_module(){
        $arr=[
            MODULE_PATH,
            CONTROLLER,
            MODEL,
            VIEW,
        ];
        foreach ($arr as $v){
            is_dir($v) || mkdir($v,0777,true);
        }
    }

4. Complete KJ.php code

<?php

final class KJ{
    public static function run(){
        //定义常量
        self::_set_const();
        //创建模块目录
        self::_mk_module();

        echo '框架运行中';
    }
    //定义常量
    public static function _set_const(){
        //获取框架核心路径 都替换/以便兼容linux
        $path=str_replace('\\','//',__FILE__);
        //定义常量
        define("KJ_CORE",$path); //框架核心路径
        define('ROOT_PATH',dirname(dirname(KJ_CORE)));//项目根目录
        define('MODULE_PATH',ROOT_PATH.'/'.MODULE);//模块

        define('CONTROLLER',MODULE_PATH.'/controller');//定义控制器
        define('MODEL',MODULE_PATH.'/model');//定义模型
        define('VIEW',MODULE_PATH.'/view');//定义显示成
    }
    //自动创建模块目录
    public static function _mk_module(){
        $arr=[
            MODULE_PATH,
            CONTROLLER,
            MODEL,
            VIEW,
        ];
        foreach ($arr as $v){
            is_dir($v) || mkdir($v,0777,true);
        }
    }

}
KJ::run();

Guess you like

Origin blog.csdn.net/weixin_39934453/article/details/132179293