zoukankan      html  css  js  c++  java
  • 如何使用ThinkPHP5 ,自动生成目录?

    具体步骤:

     A.在build.php中按照实际需求修改定义模块的内容;

     B.修改Public/index.php,在代码中加入:

    // 读取自动生成定义文件
    $build = include '/../build.php';
    // 运行自动生成
    	hinkBuild::run($build,'test',true);

     C.运行localhost/项目名称/public/index.php  

    成功!

    1.首先需要定义一个用于自动生成的规则定义文件,通常命名为build.php

    默认的框架的根目录下面自带了一个build.php示例参考文件,内容如下:

    return [
        // 生成运行时目录
        '__file__' => ['common.php'],
    
        // 定义index模块的自动生成
        'index'    => [
            '__file__'   => ['common.php'],
            '__dir__'    => ['behavior', 'controller', 'model', 'view'],
            'controller' => ['Index', 'Test', 'UserType'],
            'model'      => [],
            'view'       => ['index/index'],
        ],
        // 。。。 其他更多的模块定义
    ];

    可以给每个模块定义需要自动生成的文件和目录,以及MVC类。

    • __dir__ 表示生成目录(支持多级目录)
    • __file__ 表示生成文件(不定义默认会生成 config.php 文件)
    • controller 表示生成controller类
    • model表示生成model类
    • view表示生成html文件(支持子目录)

    自动生成以APP_PATH为起始目录,__dir__ 和 __file__ 表示需要自动创建目录和文件,其他的则表示为模块自动生成。

    模块的自动生成则以 APP_PATH.'模块名/' 为起始目录。

    并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。

    我们还可以在APP_PATH目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成,例如:

    return [
        '__file__'  => ['hello.php','test.php'],
        // 定义index模块的自动生成
        'index'   => [
            '__file__'   => ['tags.php', 'user.php', 'hello.php'],
            '__dir__'    => ['behavior', 'controller', 'model', 'view'],
            'controller' => ['Index', 'Test', 'UserType'],
            'model'      => [],
            'view'       => ['index/index'],
        ],    
        // 定义test模块的自动生成
        'test'=>[
            '__dir__'   =>  ['behavior','controller','model','widget'],
            'controller'=>  ['Index','Test','UserType'],
            'model'     =>   ['User','UserType'],
            'view'      =>  ['index/index','index/test'],
        ],
     ];

     

  • 相关阅读:
    PAT 1097. Deduplication on a Linked List (链表)
    PAT 1096. Consecutive Factors
    PAT 1095. Cars on Campus
    PAT 1094. The Largest Generation (层级遍历)
    PAT 1093. Count PAT's
    PAT 1092. To Buy or Not to Buy
    PAT 1091. Acute Stroke (bfs)
    CSS:word-wrap/overflow/transition
    node-webkit中的requirejs报错问题:path must be a string error in Require.js
    script加载之defer和async
  • 原文地址:https://www.cnblogs.com/crystaltu/p/6590433.html
Copyright © 2011-2022 走看看